blob: d05dd5f9bd4f3cf906127b872b10f9e3c7e321d8 [file]
// Copyright 2026 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
include: [
"//src/devices/driver-lab/meta/debug.shard.cml",
"driver/platform-device.shard.cml",
"driver_component/driver.shard.cml",
"inspect/client.shard.cml",
"syslog/client.shard.cml",
],
program: {
runner: "driver",
binary: "driver/lab_proxy.so",
bind: "meta/bind/lab_proxy.bindbc",
},
use: [
{
service: [
"fuchsia.hardware.clock.Service",
"fuchsia.hardware.gpio.Service",
"fuchsia.hardware.i2c.Service",
"fuchsia.hardware.reset.Service",
"fuchsia.hardware.serial.Service",
"fuchsia.hardware.spi.Service",
],
},
{
// Whether the proxy is enabled. If false, sessions are rejected.
config: "fuchsia.driver.lab.Enabled",
key: "enabled",
type: "bool",
availability: "transitional",
default: true,
},
{
// Capacity of the audit ring buffer (<= 1024).
config: "fuchsia.driver.lab.AuditCapacity",
key: "audit_capacity",
type: "uint32",
availability: "transitional",
default: 1024,
},
{
// Maximum items allowed in a single snapshot (<= 64).
config: "fuchsia.driver.lab.MaxSnapshotItems",
key: "max_snapshot_items",
type: "uint32",
availability: "transitional",
default: 64,
},
{
// Maximum items allowed in a single sequence (<= 64).
config: "fuchsia.driver.lab.MaxSequenceItems",
key: "max_sequence_items",
type: "uint32",
availability: "transitional",
default: 64,
},
{
// Maximum delay allowed per sequence step in ns (<= 100ms).
config: "fuchsia.driver.lab.MaxDelayNs",
key: "max_delay_ns",
type: "uint64",
availability: "transitional",
default: 1000000000,
},
{
// Maximum sequence duration in ns (<= 1s).
config: "fuchsia.driver.lab.MaxSequenceDurationNs",
key: "max_sequence_duration_ns",
type: "uint64",
availability: "transitional",
default: 1000000000,
},
{
// Maximum deadline timeout for polls and waits in ns (<= 1s).
config: "fuchsia.driver.lab.MaxDeadlineNs",
key: "max_deadline_ns",
type: "uint64",
availability: "transitional",
default: 1000000000,
},
{
// Maximum operations allowed per second per session (0 = unlimited).
config: "fuchsia.driver.lab.MaxOpsPerSecond",
key: "max_ops_per_second",
type: "uint32",
availability: "transitional",
default: 0,
},
],
}