| // Copyright 2021 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. |
| { |
| // |
| // Ensure to keep the realm_builder libraries up to date with anything needed from "parent" |
| // in |includes|. |
| // |
| // LINT.IfChange |
| include: [ |
| "sys/component/realm_builder.shard.cml", |
| "syslog/client.shard.cml", |
| "trace/client.shard.cml", |
| ], |
| |
| // LINT.ThenChange(/sdk/lib/driver_test_realm/realm_builder/rust/src/lib.rs) |
| program: { |
| runner: "elf", |
| binary: "bin/driver_test_realm", |
| }, |
| capabilities: [ |
| { |
| protocol: [ |
| "fuchsia.driver.test.Realm", |
| "fuchsia.system.state.SystemStateTransition", |
| ], |
| }, |
| |
| // From #realm_builder to test. |
| { |
| protocol: "fuchsia.system.state.Administrator", |
| path: "/realm_builder_exposed_dir/fuchsia.system.state.Administrator", |
| }, |
| { |
| protocol: "fuchsia.driver.development.Manager", |
| path: "/realm_builder_exposed_dir/fuchsia.driver.development.Manager", |
| }, |
| { |
| protocol: "fuchsia.driver.framework.CompositeNodeManager", |
| path: "/realm_builder_exposed_dir/fuchsia.driver.framework.CompositeNodeManager", |
| }, |
| { |
| protocol: "fuchsia.driver.registrar.DriverRegistrar", |
| path: "/realm_builder_exposed_dir/fuchsia.driver.registrar.DriverRegistrar", |
| }, |
| { |
| protocol: "fuchsia.inspect.InspectSink", |
| path: "/realm_builder_exposed_dir/fuchsia.inspect.InspectSink", |
| }, |
| { |
| directory: "dev-topological", |
| rights: [ "r*" ], |
| path: "/realm_builder_exposed_dir/dev-topological", |
| }, |
| { |
| directory: "dev-class", |
| rights: [ "r*" ], |
| path: "/realm_builder_exposed_dir/dev-class", |
| }, |
| |
| // From DTR to #realm_builder |
| { |
| protocol: [ |
| "fuchsia.boot.Items", |
| "fuchsia.driver.index.DriverIndex", |
| "fuchsia.driver.test.Internal", |
| "fuchsia.kernel.RootJob", |
| ], |
| }, |
| { |
| directory: "boot", |
| rights: [ "rx*" ], |
| path: "/boot", |
| }, |
| { |
| directory: "base_drivers", |
| rights: [ "rx*" ], |
| path: "/base_drivers", |
| }, |
| ], |
| |
| // |
| // Ensure to keep the realm_builder libraries up to date with anything added in |use|. |
| // |
| // LINT.IfChange |
| use: [ |
| // Provided by the parent when it wants to override the DTR |
| // implementation. Config |tunnel_boot_items| needs to be set. |
| { |
| protocol: [ "fuchsia.boot.Items" ], |
| from: "parent", |
| availability: "optional", |
| }, |
| { |
| protocol: "fuchsia.pkg.PackageResolver-hermetic", |
| from: "parent", |
| }, |
| ], |
| |
| // LINT.ThenChange(/sdk/lib/driver_test_realm/realm_builder/rust/src/lib.rs) |
| offer: [ |
| { |
| protocol: [ |
| "fuchsia.component.resolution.Resolver-hermetic", |
| "fuchsia.pkg.PackageResolver-hermetic", |
| ], |
| from: "parent", |
| to: "#realm_builder", |
| }, |
| { |
| protocol: [ |
| "fuchsia.boot.Items", |
| "fuchsia.driver.test.Internal", |
| "fuchsia.kernel.RootJob", |
| "fuchsia.system.state.SystemStateTransition", |
| ], |
| from: "self", |
| to: "#realm_builder", |
| }, |
| { |
| directory: "boot", |
| from: "self", |
| to: "#realm_builder", |
| }, |
| { |
| directory: "base_drivers", |
| from: "self", |
| to: "#realm_builder", |
| }, |
| ], |
| |
| // |
| // Ensure to keep the realm_builder libraries up to date with anything added in |expose|. |
| // |
| // LINT.IfChange |
| expose: [ |
| { |
| directory: [ |
| "dev-class", |
| "dev-topological", |
| ], |
| from: "self", |
| }, |
| { |
| protocol: [ |
| "fuchsia.driver.development.Manager", |
| "fuchsia.driver.framework.CompositeNodeManager", |
| "fuchsia.driver.registrar.DriverRegistrar", |
| "fuchsia.driver.test.Realm", |
| "fuchsia.system.state.Administrator", |
| ], |
| from: "self", |
| }, |
| ], |
| |
| // LINT.ThenChange(/sdk/lib/driver_test_realm/realm_builder/rust/src/lib.rs) |
| config: { |
| tunnel_boot_items: { |
| type: "bool", |
| mutability: [ "parent" ], |
| }, |
| }, |
| } |