# # Build # # generic components set build_components { core init drivers/timer drivers/uart test/uart } build $build_components create_boot_directory # # Config # set 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> <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="uart_drv"> <resource name="RAM" quantum="1M"/> <provides> <service name="Uart"/> <service name="Terminal"/> </provides> <config> <policy label="test-uart1" uart="1"/> <policy label="test-uart2" uart="2"/> <policy label="test-uart3" uart="3"/> <policy label="test-uart4" uart="1"/> </config> </start> <start name="test-uart1"> <binary name="test-uart"/> <resource name="RAM" quantum="1M"/> </start> <start name="test-uart2"> <binary name="test-uart"/> <resource name="RAM" quantum="1M"/> </start> <start name="test-uart3"> <binary name="test-uart"/> <resource name="RAM" quantum="1M"/> </start> <start name="test-uart4"> <binary name="test-uart"/> <resource name="RAM" quantum="1M"/> </start> </config> } install_config $config # # Boot modules # # generic modules set boot_modules { core init timer uart_drv test-uart } build_boot_image $boot_modules append qemu_args " -nographic -serial mon:stdio" append qemu_args " -serial file:/tmp/serial1" append qemu_args " -serial file:/tmp/serial2" append qemu_args " -serial file:/tmp/serial3" run_genode_until forever