if {![have_spec 64bit]} { puts "\nSolo5 requires a 64bit architecture\n" exit 0 } if {[have_spec linux]} { puts "\nRun script is not supported on this platform\n" exit 0 } create_boot_directory import_from_depot \ [depot_user]/src/[base_src] \ [depot_user]/src/init \ [depot_user]/src/rtc_drv \ append config { <config> <parent-provides> <service name="CPU"/> <service name="LOG"/> <service name="PD"/> <service name="RAM"/> <service name="ROM"/> <service name="IRQ"/> <service name="IO_PORT"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <start name="timer" caps="96"> <resource name="RAM" quantum="1M"/> <provides> <service name="Timer"/> </provides> </start> <start name="rtc_drv" caps="96"> <resource name="RAM" quantum="1M"/> <provides> <service name="Rtc"/> </provides> </start> <start name="nic_loopback" caps="96"> <resource name="RAM" quantum="1M"/> <provides> <service name="Nic"/> </provides> </start> <start name="ram_block" caps="96"> <resource name="RAM" quantum="40M"/> <provides> <service name="Block"/> </provides> <config size="32M" block_size="4096"/> </start> <start name="test" caps="256"> <binary name="sequence"/> <resource name="RAM" quantum="16M"/> <config> <start name="solo5-test_hello"> <config> <solo5 cmdline="Hello_Solo5"/> <rtc/> <nic/> <blk/> </config> </start> <start name="solo5-test_fpu"/> <start name="solo5-test_globals"/> <start name="solo5-test_quiet"/> <start name="solo5-test_blk"> <config> <blk/> </config> </start>} if { ![get_cmd_switch --autopilot] || ![have_include "power_on/qemu"] } { append config { <start name="solo5-test_time"> <config> <rtc/> </config> </start>} } append config { </config> </start> </config> } install_config $config build { app/sequence server/nic_loopback server/ram_block test/solo5 } build_boot_image { nic_loopback ram_block sequence solo5.lib.so solo5-test_blk solo5-test_fpu solo5-test_globals solo5-test_hello solo5-test_quiet solo5-test_time } append qemu_args " -nographic " run_genode_until {child "test" exited with exit value 0} 40