blob: c26bd93782acc2dac2f866e4464dfa672af4cdbc [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",
],
},
],
config: {
// Whether the proxy is enabled. If false, sessions are rejected.
enabled: { type: "bool" },
// Capacity of the audit ring buffer (<= 1024).
audit_capacity: { type: "uint32" },
// Maximum items allowed in a single snapshot (<= 64).
max_snapshot_items: { type: "uint32" },
// Maximum items allowed in a single sequence (<= 64).
max_sequence_items: { type: "uint32" },
// Maximum delay allowed per sequence step in ns (<= 100ms).
max_delay_ns: { type: "uint64" },
// Maximum sequence duration in ns (<= 1s).
max_sequence_duration_ns: { type: "uint64" },
// Maximum deadline timeout for polls and waits in ns (<= 1s).
max_deadline_ns: { type: "uint64" },
// Maximum operations allowed per second per session (0 = unlimited).
max_ops_per_second: { type: "uint32" },
},
}