genode-oberon/config.dhall

342 lines
16 KiB
Plaintext

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 =
Some
( Genode.Prelude.XML.text
''
<config verbose="no">
<policy label="leitzentrale_config -> leitzentrale"
report="global_keys_handler -> leitzentrale"/>
<policy label="leitzentrale -> manager -> nitpicker_hover"
report="nitpicker -> hover"/>
<policy label="pointer -> hover" report="nitpicker -> hover"/>
<policy label="pointer -> xray"
report="global_keys_handler -> leitzentrale"/>
<policy label="pointer -> shape" report="shape"/>
<policy label="clipboard -> focus" report="nitpicker -> focus"/>
<policy label="capslock" report="global_keys_handler -> capslock"/>
<policy label="numlock" report="global_keys_handler -> numlock"/>
<policy label="runtime -> clicked" report="nitpicker -> clicked"/>
<policy label="nit_focus -> leitzentrale"
report="global_keys_handler -> leitzentrale"/>
<policy label="nit_focus -> hover" report="nitpicker -> hover"/>
<policy label="leitzentrale -> manager -> displays"
report="nitpicker -> displays"/>
<policy label="runtime -> runtime_view -> dialog"
report="leitzentrale -> manager -> runtime_view_dialog"/>
<policy label="leitzentrale -> manager -> runtime_view_hover"
report="runtime -> runtime_view -> hover"/>
</config>
''
)
}
, report_logger =
Genode.Init.Start::{
, binary = "report_rom"
, resources = { caps = 96, ram = Genode.units.MiB 1 }
, provides = [ "ROM", "Report" ]
, config =
Some (Genode.Prelude.XML.text "<config verbose=\"yes\"/>")
}
, config_fs =
Genode.Init.Start::{
, binary = "vfs"
, resources = { caps = 128, ram = Genode.units.MiB 12 }
, provides = [ "File_system" ]
, config =
Some
( Genode.Prelude.XML.text
''
<config>
<vfs>
<ram/>
<import>
<dir name="managed">
<rom name="fonts" label="fonts.config"/>
<rom name="fb_drv" label="fb_drv.config"/>
<rom name="wifi" label="wifi.config"/>
<rom name="installation"/>
<rom name="runtime" label="empty_runtime.config"/>
<rom name="input_filter" label="input_filter.config"/>
<inline name="depot_query"><query/></inline>
</dir>
<rom name="input_filter" label="input_filter.config"/>
<rom name="fb_drv" label="fb_drv.config"/>
<rom name="nitpicker" label="nitpicker.config"/>
<rom name="numlock_remap" label="numlock_remap.config"/>
<rom name="leitzentrale" label="leitzentrale.config"/>
<rom name="drivers" label="drivers.config"/>
<rom name="deploy" label="manual_deploy.config"/>
<rom name="usb" label="usb.config"/>
<rom name="clipboard" label="clipboard.config"/>
<rom name="en_us.chargen"/>
<rom name="special.chargen"/>
<inline name="system">} [config_system_content] {
</inline>
</import>
</vfs>
<policy label="config_fs_rom -> " root="/" />
<policy label="rw" root="/" writeable="yes" />
</config>
''
)
}
, config_fs_rom =
Genode.Init.Start::{
, binary = "fs_rom"
, resources = { caps = 128, ram = Genode.units.MiB 10 }
, provides = [ "ROM" ]
, routes =
[ Genode.ServiceRoute.child "File_system" "config_fs" ]
}
, report_fs_rom =
Genode.Init.Start::{
, binary = "fs_rom"
, resources = { caps = 128, ram = Genode.units.MiB 3 }
, provides = [ "ROM" ]
, routes =
[ Genode.ServiceRoute.child "File_system" "report_fs" ]
}
, report_fs =
Genode.Init.Start::{
, binary = "ram_fs"
, resources = { caps = 128, ram = Genode.units.MiB 16 }
, provides = [ "File_system" ]
, config =
Some
( Genode.Prelude.XML.text
''
<config>
<content>
<inline name="log">### start ###</inline>
<dir name="runtime">
<inline name="state"><empty/></inline>
<dir name="wifi_drv">
<inline name="accesspoints"><empty/></inline>
<inline name="state"> <empty/></inline>
</dir>
<dir name="nic_router">
<inline name="state"><empty/></inline> </dir>
<dir name="update">
<inline name="state"><empty/></inline> </dir>
<dir name="depot_query">
<inline name="blueprint"><empty/></inline> </dir>
</dir>
</content>
<policy label="fs_report -> "
root="/" writeable="yes"/>
<policy label="log_terminal -> "
root="/" writeable="yes"/>
<policy label="report_fs_rom -> "
root="/"/>
<policy label="ro"
root="/"/>
</config>
''
)
}
, fs_report =
Genode.Init.Start::{
, binary = "fs_report"
, provides = [ "Report" ]
, config =
Some
( Genode.Prelude.XML.text
"<config> <vfs> <fs/> </vfs> </config>"
)
, routes =
[ Genode.ServiceRoute.child "File_system" "report_fs" ]
}
, 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"
, Genode.ServiceRoute.child "Report" "fs_report"
, Genode.ServiceRoute.childLabel
"ROM"
"config_fs_rom"
(Some "usb_policy")
(Some "usb_policy")
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "capslock")
(Some "capslock")
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "numlock")
(Some "numlock")
]
}
, nitpicker =
Genode.Init.Start::{
, binary = "nitpicker"
, resources = { caps = 1000, ram = Genode.units.MiB 6 }
, provides = [ "Nitpicker" ]
, routes =
[ Genode.ServiceRoute.childLabel
"ROM"
"config_fs_rom"
(Some "config")
(Some "nitpicker")
, Genode.ServiceRoute.childLabel
"ROM"
"nit_focus"
(Some "focus")
(Some "focus")
, Genode.ServiceRoute.childLabel
"Report"
"report_logger"
(Some "keystate")
(Some "keystate")
, Genode.ServiceRoute.child "Report" "report_rom"
, Genode.ServiceRoute.child "Framebuffer" "drivers"
, Genode.ServiceRoute.child "Input" "drivers"
, Genode.ServiceRoute.child "Timer" "timer"
]
}
, nit_focus =
Genode.Init.Start::{
, binary = "rom_filter"
, provides = [ "ROM" ]
, config =
Some
( Genode.Prelude.XML.text
''
<config>
<input name="lockscreen_enabled" rom="hover" node="hover">
<attribute name="label" /> </input>
<input name="leitzentrale_enabled" rom="leitzentrale" node="leitzentrale">
<attribute name="enabled" /> </input>
<output node="focus">
<if>
<has_value input="lockscreen_enabled" value="lock_screen" />
<then>
<attribute name="label" value="lock_screen"/>
</then>
<else>
<if>
<has_value input="leitzentrale_enabled" value="yes" />
<then>
<attribute name="label" value="leitzentrale -> manager -> fader -> "/>
</then>
<else>
<attribute name="label" value="runtime -> focus"/>
</else>
</if>
</else>
</if>
</output>
</config>
''
)
, routes =
[ Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "hover")
(None Text)
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "leitzentrale")
(None Text)
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "slides")
(None Text)
]
}
, pointer =
Genode.Init.Start::{
, binary = "pointer"
, resources = { caps = 128, ram = Genode.units.MiB 2 }
, provides = [ "Report" ]
, config =
Some (Genode.Prelude.XML.text "<config shapes=\"yes\"/>")
, routes =
[ Genode.ServiceRoute.child "Nitpicker" "nitpicker"
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "hover")
(None Text)
, Genode.ServiceRoute.childLabel
"ROM"
"report_rom"
(Some "xray")
(None Text)
]
}
, global_keys_handler =
Genode.Init.Start::{
, binary = "global_keys_handler"
, config =
Some
( Genode.Prelude.XML.text
''
<config>
<bool name="leitzentrale" initial="yes"/>
<bool name="capslock" initial="no"/>
<bool name="numlock" initial="no"/>
<bool name="slides" initial="no"/>
<press name="KEY_PRESENTATION" bool="slides" change="toggle"/>
<press name="KEY_DASHBOARD" bool="leitzentrale" change="toggle"/>
<press name="KEY_CAPSLOCK" bool="capslock" change="toggle"/>
<press name="KEY_NUMLOCK" bool="numlock" change="toggle"/>
<report name="leitzentrale"> <bool name="leitzentrale"/> </report>
<report name="capslock"> <bool name="capslock"/> </report>
<report name="numlock"> <bool name="numlock"/> </report>
<report name="slides"> <bool name="slides"/> </report>
</config>
''
)
, routes =
[ Genode.ServiceRoute.child "Report" "report_rom"
, Genode.ServiceRoute.child "Nitpicker" "nitpicker"
, Genode.ServiceRoute.child "Timer" "timer"
]
}
, rtc_drv =
Genode.Init.Start::{
, binary = "rtc_drv"
, provides = [ "Rtc" ]
, routes = [ Genode.ServiceRoute.parent "IO_PORT" ]
}
}
}