2019-11-10 16:48:27 +01:00
|
|
|
let Genode = env:DHALL_GENODE
|
|
|
|
|
|
|
|
in λ ( _
|
|
|
|
: {}
|
|
|
|
)
|
|
|
|
→ Genode.Init::{
|
|
|
|
, verbose = True
|
|
|
|
, children =
|
|
|
|
toMap
|
|
|
|
{ timer =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "timer"
|
|
|
|
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
|
|
|
, provides = [ "Timer" ]
|
|
|
|
}
|
|
|
|
, report_rom =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "report_rom"
|
|
|
|
, resources = { caps = 96, ram = Genode.units.MiB 1 }
|
|
|
|
, provides = [ "ROM", "Report" ]
|
|
|
|
, config =
|
2019-11-21 00:47:44 +01:00
|
|
|
Some (Genode.Prelude.XML.text "<config verbose=\"no\"/>")
|
2019-11-10 16:48:27 +01:00
|
|
|
}
|
|
|
|
, drivers =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "init"
|
|
|
|
, constrainPhys = True
|
|
|
|
, resources = { caps = 3000, ram = Genode.units.MiB 96 }
|
|
|
|
, provides =
|
|
|
|
[ "Input", "Framebuffer", "Block", "Usb", "Platform" ]
|
|
|
|
, routes =
|
|
|
|
[ Genode.ServiceRoute.parent "IO_MEM"
|
|
|
|
, Genode.ServiceRoute.parent "IO_PORT"
|
|
|
|
, Genode.ServiceRoute.parent "IRQ"
|
|
|
|
, Genode.ServiceRoute.parentLabel
|
|
|
|
"ROM"
|
|
|
|
(Some "config")
|
|
|
|
(Some "drivers.config")
|
|
|
|
, Genode.ServiceRoute.child "Timer" "timer"
|
2019-11-21 00:47:44 +01:00
|
|
|
, Genode.ServiceRoute.child "Report" "report_rom"
|
2019-11-10 16:48:27 +01:00
|
|
|
]
|
|
|
|
}
|
|
|
|
, nitpicker =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "nitpicker"
|
|
|
|
, resources = { caps = 1000, ram = Genode.units.MiB 6 }
|
|
|
|
, provides = [ "Nitpicker" ]
|
|
|
|
, routes =
|
|
|
|
[ Genode.ServiceRoute.childLabel
|
|
|
|
"ROM"
|
|
|
|
"nit_focus"
|
|
|
|
(Some "focus")
|
|
|
|
(Some "focus")
|
|
|
|
, Genode.ServiceRoute.child "Report" "report_rom"
|
|
|
|
, Genode.ServiceRoute.child "Framebuffer" "drivers"
|
|
|
|
, Genode.ServiceRoute.child "Input" "drivers"
|
|
|
|
, Genode.ServiceRoute.child "Timer" "timer"
|
|
|
|
]
|
2019-11-21 00:47:44 +01:00
|
|
|
, config =
|
|
|
|
Some
|
|
|
|
( Genode.Prelude.XML.text
|
|
|
|
''
|
|
|
|
<config focus="rom">
|
|
|
|
<background color="#000000"/>
|
|
|
|
<domain name="default" layer="0" content="client" label="no" hover="always" focus="click" />
|
|
|
|
<default-policy domain="default"/>
|
|
|
|
</config>
|
|
|
|
''
|
|
|
|
)
|
2019-11-10 16:48:27 +01:00
|
|
|
}
|
|
|
|
, nit_focus =
|
|
|
|
Genode.Init.Start::{
|
|
|
|
, binary = "rom_filter"
|
|
|
|
, provides = [ "ROM" ]
|
|
|
|
, config =
|
|
|
|
Some
|
|
|
|
( Genode.Prelude.XML.text
|
|
|
|
''
|
2019-11-21 00:47:44 +01:00
|
|
|
<config>
|
|
|
|
<output node="focus">
|
|
|
|
<attribute name="label" value="oberon"/>
|
|
|
|
</output>
|
|
|
|
</config>
|
|
|
|
''
|
2019-11-10 16:48:27 +01:00
|
|
|
)
|
|
|
|
}
|
2019-11-21 00:47:44 +01:00
|
|
|
, oberon =
|
2019-11-10 16:48:27 +01:00
|
|
|
Genode.Init.Start::{
|
2019-11-21 00:47:44 +01:00
|
|
|
, binary = "retro_frontend"
|
|
|
|
, resources = { caps = 256, ram = Genode.units.MiB 32 }
|
2019-11-10 16:48:27 +01:00
|
|
|
, routes =
|
|
|
|
[ Genode.ServiceRoute.child "Nitpicker" "nitpicker"
|
2019-11-21 00:47:44 +01:00
|
|
|
, Genode.ServiceRoute.child "Timer" "timer"
|
|
|
|
, Genode.ServiceRoute.parentLabel
|
2019-11-10 16:48:27 +01:00
|
|
|
"ROM"
|
2019-11-21 00:47:44 +01:00
|
|
|
(Some "")
|
|
|
|
(Some "retro_frontend")
|
2019-11-10 16:48:27 +01:00
|
|
|
]
|
|
|
|
, config =
|
|
|
|
Some
|
|
|
|
( Genode.Prelude.XML.text
|
|
|
|
''
|
2019-11-21 00:47:44 +01:00
|
|
|
<config ld_verbose="yes">
|
|
|
|
<libc stdout="/dev/log" stderr="/dev/log"/>
|
|
|
|
<defaultController port="0" device="3"/>
|
|
|
|
<game path="/Oberon.dsk"/>
|
|
|
|
<vfs>
|
|
|
|
<rom name="Oberon.dsk"/>
|
|
|
|
<dir name="dev">
|
|
|
|
<log label="core"/>
|
|
|
|
</dir>
|
|
|
|
</vfs>
|
2019-11-10 16:48:27 +01:00
|
|
|
</config>
|
|
|
|
''
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|