44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
|
-- SPDX-License-Identifier: CC0-1.0
|
||
|
|
||
|
let Genode = env:DHALL_GENODE
|
||
|
|
||
|
let baseNova = env:BASE_NOVA_MANIFEST
|
||
|
|
||
|
let os = env:OS_MANIFEST
|
||
|
|
||
|
let Args =
|
||
|
{ config : Genode.Init.Type, rom : Genode.Prelude.Map.Type Text Text }
|
||
|
: Type
|
||
|
|
||
|
in λ(args : Args)
|
||
|
→ { arch = let Arch = < x86_32 | x86_64 > in Arch.x86_64
|
||
|
, config =
|
||
|
Genode.Init::{
|
||
|
, verbose = True
|
||
|
, 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" ]
|
||
|
}
|
||
|
}
|
||
|
, { mapKey = "init", mapValue = Genode.Init.toStart args.config }
|
||
|
]
|
||
|
}
|
||
|
, rom =
|
||
|
[ { mapKey = "ld.lib.so", mapValue = baseNova.lib.ld-nova.mapValue }
|
||
|
, baseNova.bin.nova_timer_drv
|
||
|
, os.bin.init
|
||
|
]
|
||
|
# args.rom
|
||
|
}
|