blob: 39e817f981670574a313681565e5ccd5b0d7d0e8 [file] [log] [blame]
// 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.
{
include: [
"inspect/client.shard.cml",
"syslog/client.shard.cml",
],
children: [
{
name: "driver_manager",
url: "#meta/driver_manager_test.cm",
startup: "eager",
environment: "#driver_manager-env",
},
{
name: "driver-manager-support",
url: "#meta/driver_manager_support.cm",
},
{
name: "driver-index",
url: "#meta/driver-index.cm",
},
],
collections: [
{
name: "driver-hosts",
environment: "#driver-host-env",
durability: "single_run",
},
{
name: "boot-drivers",
environment: "#driver-env",
durability: "single_run",
allowed_offers: "static_and_dynamic",
},
{
name: "pkg-drivers",
environment: "#driver-env",
durability: "single_run",
allowed_offers: "static_and_dynamic",
},
],
offer: [
{
protocol: "fuchsia.component.Realm",
from: "framework",
to: "#driver_manager",
},
{
protocol: [
"fuchsia.device.composite.DeprecatedCompositeCreator",
"fuchsia.device.fs.Exporter",
],
from: "#driver_manager",
to: [
"#boot-drivers",
"#pkg-drivers",
],
},
{
protocol: [ "fuchsia.logger.LogSink" ],
from: "parent",
to: [
"#boot-drivers",
"#driver-hosts",
"#driver-index",
"#driver-manager-support",
"#driver_manager",
"#pkg-drivers",
],
},
{
protocol: [ "fuchsia.boot.RootResource" ],
from: "parent",
to: [ "#driver_manager" ],
},
{
protocol: [
"fuchsia.process.Launcher",
"fuchsia.sys.Launcher",
],
from: "parent",
to: [ "#driver_manager" ],
},
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.boot.Items",
"fuchsia.kernel.RootJob",
],
from: "#driver-manager-support",
to: [ "#boot-drivers" ],
},
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.boot.Items",
"fuchsia.kernel.RootJob",
"fuchsia.power.manager.DriverManagerRegistration",
],
from: "#driver-manager-support",
to: [ "#driver_manager" ],
},
{
protocol: [ "fuchsia.boot.Arguments" ],
from: "#driver-manager-support",
to: "#driver-index",
},
{
protocol: [
"fuchsia.driver.development.DriverIndex",
"fuchsia.driver.index.DriverIndex",
"fuchsia.driver.registrar.DriverRegistrar",
],
from: "#driver-index",
to: [ "#driver_manager" ],
},
{
protocol: [ "fuchsia.pkg.PackageResolver" ],
from: "#driver-manager-support",
to: [
"#driver-index",
"#driver_manager",
],
},
{
directory: "pkgfs",
from: "#driver-manager-support",
to: [ "#driver_manager" ],
},
{
directory: "system",
from: "#driver-manager-support",
to: [ "#driver_manager" ],
},
{
directory: "pkgfs-packages",
from: "#driver-manager-support",
to: [ "#driver-index" ],
},
{
directory: "boot",
from: "#driver-manager-support",
to: [
"#driver-index",
"#driver_manager",
],
rights: [ "rx*" ],
},
],
expose: [
{
directory: "dev",
from: "#driver_manager",
},
{
protocol: [
"fuchsia.device.fs.Exporter",
"fuchsia.device.manager.Administrator",
"fuchsia.device.manager.DebugDumper",
"fuchsia.device.manager.SystemStateTransition",
"fuchsia.driver.development.DriverDevelopment",
"fuchsia.hardware.pci.DeviceWatcher",
"fuchsia.hardware.usb.DeviceWatcher",
],
from: "#driver_manager",
},
{
protocol: "fuchsia.driver.registrar.DriverRegistrar",
from: "#driver-index",
},
{
runner: "driver",
from: "#driver_manager",
},
{
protocol: [ "fuchsia.driver.test.Realm" ],
from: "#driver-manager-support",
},
],
environments: [
{
name: "driver_manager-env",
extends: "realm",
// 1 minute
__stop_timeout_ms: 60000,
},
{
name: "driver-host-env",
extends: "realm",
// 20 seconds
__stop_timeout_ms: 20000,
},
{
name: "driver-env",
extends: "realm",
runners: [
{
runner: "driver",
from: "#driver_manager",
},
],
resolvers: [
{
resolver: "boot-resolver",
from: "#driver-manager-support",
scheme: "fuchsia-boot",
},
],
// 10 seconds
__stop_timeout_ms: 10000,
},
],
}