# # Build # set build_components { core init drivers/timer server/nitpicker server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/pci drivers/input } lappend_if [have_spec usb] build_components drivers/usb lappend_if [have_spec gpio] build_components drivers/gpio lappend_if [have_spec imx53] build_components drivers/platform build $build_components create_boot_directory # # Generate config # append config { <config> <parent-provides> <service name="ROM"/> <service name="RAM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="CAP"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="SIGNAL"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>} append_if [have_spec sdl] config { <start name="fb_sdl"> <resource name="RAM" quantum="4M"/> <provides> <service name="Input"/> <service name="Framebuffer"/> </provides> </start>} append_if [have_spec pci] config { <start name="pci_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="PCI"/></provides> </start>} append_if [have_spec framebuffer] config { <start name="fb_drv"> <resource name="RAM" quantum="4M"/> <provides><service name="Framebuffer"/></provides> </start>} append_if [have_spec gpio] config { <start name="gpio_drv"> <resource name="RAM" quantum="4M"/> <provides><service name="Gpio"/></provides> <config/> </start>} append_if [have_spec imx53] config { <start name="platform_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="Platform"/></provides> <config/> </start> <start name="input_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="Input"/></provides> <config/> </start> } append_if [have_spec ps2] config { <start name="ps2_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="Input"/></provides> </start>} append_if [expr ![have_spec ps2] && [have_spec usb]] config { <start name="usb_drv"> <resource name="RAM" quantum="12M"/> <provides><service name="Input"/></provides> <config ehci="yes" uhci="yes" xhci="yes"> <hid/> </config> </start> } append config { <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="nitpicker"> <resource name="RAM" quantum="1M"/> <provides><service name="Nitpicker"/></provides> </start> <start name="launchpad"> <resource name="RAM" quantum="32M"/> </start> </config>} install_config $config # # Boot modules # # generic modules set boot_modules { core init timer nitpicker liquid_fb launchpad scout testnit nitlog } # platform-specific modules lappend_if [have_spec linux] boot_modules fb_sdl lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec ps2] boot_modules ps2_drv lappend_if [have_spec framebuffer] boot_modules fb_drv lappend_if [have_spec usb] boot_modules usb_drv lappend_if [have_spec gpio] boot_modules gpio_drv lappend_if [have_spec imx53] boot_modules platform_drv lappend_if [have_spec imx53] boot_modules input_drv build_boot_image $boot_modules append qemu_args " -m 256 " run_genode_until forever