blob: 1d415e94ea270122f288e346689b89ecc73014ba [file] [log] [blame]
// Non-executable realm provisioning components and capabilities that are consistent across
// products.
{
children: [
{
name: "appmgr",
url: "fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.cm",
},
// Children below this line may be present on some but not all product configurations (whereas
// children above it are expected to be present on all configs that include core.cml)
// TODO(fxbug.dev/48215): Decide how to make it easier to understand which children aren't present.
{
name: "log-stats",
url: "fuchsia-pkg://fuchsia.com/log-stats#meta/log-stats.cm",
},
{
name: "test_manager",
url: "fuchsia-pkg://fuchsia.com/test_manager#meta/test_manager.cm",
},
{
name: "font_provider",
url: "fuchsia-pkg://fuchsia.com/fonts#meta/fonts.cm",
},
{
name: "remote-control",
url: "fuchsia-pkg://fuchsia.com/remote-control#meta/remote-control.cm",
},
{
name: "debug_serial",
url: "fuchsia-pkg://fuchsia.com/debug-serial#meta/debug-serial.cm",
},
{
name: "temperature-logger",
url: "fuchsia-pkg://fuchsia.com/temperature-logger#meta/temperature-logger.cm",
},
],
capabilities: [
{
storage: "data",
from: "parent",
subdir: "persistent",
backing_dir: "minfs",
},
{ protocol: "fuchsia.appmgr.Startup" },
],
offer: [
{
protocol: [
"fuchsia.boot.RootResource",
"fuchsia.kernel.MmioResource",
],
from: "parent",
to: [ "#debug_serial" ],
},
{
protocol: "fuchsia.hardware.serial.NewDeviceProxy",
from: "#debug_serial",
to: [ "#appmgr" ],
},
{
protocol: [ "fuchsia.pkg.FontResolver" ],
from: "#appmgr",
to: [ "#font_provider" ],
dependency: "weak_for_migration",
},
{
protocol: "fuchsia.thermal.test.TemperatureLogger",
from: "#temperature-logger",
to: [ "#appmgr" ],
},
// Passing from root realm to appmgr
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.boot.FactoryItems",
"fuchsia.boot.Items",
"fuchsia.boot.ReadOnlyLog",
"fuchsia.boot.RootResource",
"fuchsia.device.manager.Administrator",
"fuchsia.device.manager.DebugDumper",
"fuchsia.device.NameProvider",
"fuchsia.hardware.power.statecontrol.Admin",
"fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
"fuchsia.hardware.pty.Device",
"fuchsia.kernel.Counter",
"fuchsia.kernel.DebugBroker",
"fuchsia.kernel.MmioResource",
"fuchsia.kernel.RootJob",
"fuchsia.kernel.RootJobForInspect",
"fuchsia.kernel.Stats",
"fuchsia.paver.Paver",
"fuchsia.process.Launcher",
"fuchsia.scheduler.ProfileProvider",
"fuchsia.security.resource.Vmex",
"fuchsia.sysinfo.SysInfo",
"fuchsia.thermal.Controller",
"fuchsia.time.Maintenance",
"fuchsia.tracing.kernel.Controller",
"fuchsia.tracing.kernel.Reader",
"fuchsia.virtualconsole.SessionManager",
],
from: "parent",
to: [ "#appmgr" ],
},
{
protocol: [ "fuchsia.boot.WriteOnlyLog" ],
from: "parent",
to: [
"#appmgr",
"#test_manager",
],
},
{
protocol: [
"fuchsia.diagnostics.ArchiveAccessor",
"fuchsia.diagnostics.FeedbackArchiveAccessor",
"fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
"fuchsia.logger.Log",
],
from: "parent",
to: [
"#appmgr",
"#log-stats",
],
},
{
protocol: [ "fuchsia.logger.LogSink" ],
from: "parent",
to: [
"#debug_serial",
"#font_provider",
"#log-stats",
"#remote-control",
"#temperature-logger",
"#test_manager",
],
},
{
protocol: [
"fuchsia.sys2.BlockingEventSource",
"fuchsia.sys2.EventSource",
],
from: "parent",
to: [ "#test_manager" ],
},
{
protocol: [
"fuchsia.net.stack.Stack",
"fuchsia.overnet.Overnet",
"fuchsia.overnet.ServicePublisher",
"fuchsia.sys.Launcher",
"fuchsia.test.manager.Harness",
],
from: "#appmgr",
to: [ "#remote-control" ],
dependency: "weak_for_migration",
},
{
protocol: [
"fuchsia.device.manager.Administrator",
"fuchsia.device.NameProvider",
],
from: "parent",
to: [ "#remote-control" ],
},
{
directory: "config-data",
from: "parent",
to: [ "#font_provider" ],
subdir: "fonts",
},
{
directory: "config-data",
from: "parent",
to: [ "#test_manager" ],
},
{
protocol: "fuchsia.developer.remotecontrol.RemoteControl",
from: "#remote-control",
to: [ "#appmgr" ],
},
{
protocol: "fuchsia.fonts.Provider",
from: "#font_provider",
to: [ "#appmgr" ],
},
{
directory: "dev",
from: "parent",
as: "dev-temperature",
to: [ "#temperature-logger" ],
subdir: "class/temperature",
},
{
directory: "dev",
from: "parent",
as: "dev-thermal",
to: [ "#temperature-logger" ],
subdir: "class/thermal",
},
{
directory: "config-data",
from: "parent",
to: [ "#temperature-logger" ],
subdir: "temperature-logger",
},
{
protocol: [
"fuchsia.device.Controller",
"fuchsia.hardware.temperature.Device",
],
from: "parent",
to: [ "#temperature-logger" ],
},
{
protocol: "fuchsia.tracing.provider.Registry",
from: "#appmgr",
to: [ "#temperature-logger" ],
dependency: "weak_for_migration",
},
{
directory: "boot",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "dev",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "durable",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "factory",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "minfs",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "pkgfs",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "system",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "blob",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "volume",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "install",
from: "parent",
to: [ "#appmgr" ],
},
{
directory: "tmp",
from: "parent",
to: [ "#appmgr" ],
},
// Note: this is the v2 root hub. The hub in the `expose` section below
// is the v1 root hub.
{
directory: "hub",
from: "parent",
to: [
"#appmgr",
"#remote-control",
],
},
],
expose: [
// Non-zircon services for svchost
{
protocol: [
"fuchsia.amber.Control",
"fuchsia.cobalt.LoggerFactory",
"fuchsia.exception.Handler",
"fuchsia.feedback.CrashReporter",
"fuchsia.net.NameLookup",
"fuchsia.net.stack.Log",
"fuchsia.net.stack.Stack",
"fuchsia.netstack.Netstack",
"fuchsia.pkg.PackageResolver",
"fuchsia.pkg.RepositoryManager",
"fuchsia.pkg.rewrite.Engine",
"fuchsia.posix.socket.Provider",
"fuchsia.process.Resolver",
"fuchsia.sys.Environment",
"fuchsia.sys.internal.ComponentEventProvider",
"fuchsia.sys.internal.LogConnector",
"fuchsia.sys.Launcher",
"fuchsia.sys.Loader",
"fuchsia.tracing.controller.Controller",
"fuchsia.tracing.provider.Registry",
"fuchsia.wlan.service.Wlan",
],
from: "#appmgr",
},
{
protocol: [ "fuchsia.appmgr.Startup" ],
from: "#appmgr",
},
{
protocol: [ "fuchsia.diagnostics.internal.LogStatsController" ],
from: "#log-stats",
},
// device_manager needs the hub for the serial console
{
directory: "hub",
from: "#appmgr",
},
],
}