let Test = ./test.dhall ? env:DHALL_GENODE_TEST let Genode = Test.Genode let XML = Genode.Prelude.XML let Init = Genode.Init let Child = Init.Child let Resources = Init.Resources let ServiceRoute = Init.ServiceRoute let label = λ(_ : Text) → { local = _, route = _ } : Child.Attributes.Label let signal = Child.flat Child.Attributes::{ , binary = "test-signal" , exitPropagate = True , priority = 5 , resources = Init.Resources::{ caps = 500, ram = Genode.units.MiB 10 } } let rtc = Child.flat Child.Attributes::{ binary = "test-rtc" } let pciInit = Init::{ , verbose = True , routes = [ ServiceRoute.parent "Timer" , ServiceRoute.child "Platform" "platform_drv" ] , children = toMap { test-pci = Child.flat Child.Attributes::{ , binary = "test-pci" , exitPropagate = True , resources = Resources::{ ram = Genode.units.MiB 3 } } , acpi_drv = Child.flat Child.Attributes::{ , binary = "acpi_drv" , resources = Resources::{ , caps = 400 , ram = Genode.units.MiB 4 , constrainPhys = True } , provides = [ "Platform", "Acpi" ] , romReports = [ label "acpi", label "smbios_table" ] , routes = [ ServiceRoute.parent "IRQ" , ServiceRoute.parent "IO_MEM" , ServiceRoute.parent "IO_PORT" ] } , platform_drv = Child.flat Child.Attributes::{ , binary = "platform_drv" , resources = Resources::{ , caps = 800 , ram = Genode.units.MiB 4 , constrainPhys = True } , reportRoms = [ label "acpi" ] , provides = [ "Platform", "Acpi" ] , routes = [ ServiceRoute.parent "IRQ" , ServiceRoute.parent "IO_MEM" , ServiceRoute.parent "IO_PORT" ] , config = Init.Config::{ , policies = [ Init.Config.Policy::{ , content = [ XML.leaf { name = "pci" , attributes = toMap { class = "ALL" } } ] , label = Init.LabelSelector.prefix "test-pci" } ] } } } } in Test::{ , children = [ { mapKey = "signal", mapValue = signal } , { mapKey = "rtc", mapValue = rtc } ] # Test.initToChildren pciInit }