2020-01-17 19:27:04 +01:00
|
|
|
-- SPDX-License-Identifier: CC0-1.0
|
|
|
|
|
|
|
|
let Genode = env:DHALL_GENODE
|
|
|
|
|
2020-01-28 13:45:54 +01:00
|
|
|
let Prelude = Genode.Prelude
|
|
|
|
|
|
|
|
in λ(boot : Genode.Boot.Type)
|
2020-02-19 03:22:06 +01:00
|
|
|
→ let child =
|
|
|
|
{ mapKey = "test", mapValue = Genode.Init.toStart boot.config }
|
2020-01-28 13:45:54 +01:00
|
|
|
|
|
|
|
in { config =
|
|
|
|
Genode.Init::{
|
|
|
|
, defaultRoutes =
|
|
|
|
Genode.Init.default.defaultRoutes
|
|
|
|
# [ Genode.ServiceRoute.parent "IO_MEM"
|
|
|
|
, Genode.ServiceRoute.parent "IO_PORT"
|
|
|
|
, Genode.ServiceRoute.parent "IRQ"
|
|
|
|
, Genode.ServiceRoute.child "Timer" "timer"
|
|
|
|
]
|
|
|
|
, children =
|
|
|
|
[ { mapKey = "timer"
|
|
|
|
, mapValue =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "nova_timer_drv"
|
|
|
|
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
|
|
|
, provides = [ "Timer" ]
|
|
|
|
}
|
2020-01-17 19:27:04 +01:00
|
|
|
}
|
2020-01-28 13:45:54 +01:00
|
|
|
, { mapKey = "harness"
|
|
|
|
, mapValue =
|
|
|
|
Genode.Init.Start::{
|
2020-01-22 12:48:10 +01:00
|
|
|
, binary = "sotest-harness"
|
|
|
|
, exitPropagate = True
|
|
|
|
, resources =
|
2020-01-28 13:45:54 +01:00
|
|
|
{ caps = child.mapValue.resources.caps + 128
|
|
|
|
, ram =
|
|
|
|
child.mapValue.resources.ram
|
|
|
|
+ Genode.units.MiB 1
|
2020-01-22 12:48:10 +01:00
|
|
|
}
|
|
|
|
, config =
|
|
|
|
Some
|
2020-01-28 13:45:54 +01:00
|
|
|
( Prelude.XML.element
|
2020-01-22 12:48:10 +01:00
|
|
|
{ name = "config"
|
2020-01-28 13:45:54 +01:00
|
|
|
, attributes = Prelude.XML.emptyAttributes
|
2020-01-22 12:48:10 +01:00
|
|
|
, content =
|
2020-01-28 13:45:54 +01:00
|
|
|
[ Genode.Init.Start.toXML
|
|
|
|
child.mapKey
|
|
|
|
child.mapValue
|
|
|
|
]
|
2020-01-22 12:48:10 +01:00
|
|
|
}
|
|
|
|
)
|
|
|
|
, routes =
|
|
|
|
[ Genode.ServiceRoute.parentLabel
|
|
|
|
"LOG"
|
|
|
|
(Some "SOTEST")
|
2020-01-29 19:38:55 +01:00
|
|
|
(Some "unlabeled")
|
2020-01-22 12:48:10 +01:00
|
|
|
]
|
|
|
|
}
|
2020-01-23 18:15:32 +01:00
|
|
|
}
|
|
|
|
]
|
2020-01-28 13:45:54 +01:00
|
|
|
}
|
|
|
|
, rom =
|
|
|
|
let manifest = env:MANIFEST
|
2020-02-18 20:14:29 +01:00
|
|
|
|
2020-01-28 13:45:54 +01:00
|
|
|
in Genode.Boot.toRomPaths
|
2020-02-11 16:01:39 +01:00
|
|
|
[ manifest.base-nova.lib.ld
|
2020-01-28 13:45:54 +01:00
|
|
|
, manifest.base-nova.bin.nova_timer_drv
|
|
|
|
, manifest.os.bin.init
|
|
|
|
, manifest.sotest-producer.bin.sotest-harness
|
|
|
|
]
|
|
|
|
# boot.rom
|
|
|
|
}
|