| // 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", |
| }, |
| ], |
| } |