if { ![have_spec hw] && ![have_spec nova] && ![have_spec sel4] } { puts "Platform is unsupported." exit 0 } set build_components { core init timer drivers/platform drivers/acpi server/event_dump app/pci_decode app/acpica } build $build_components create_boot_directory import_from_depot [depot_user]/src/dynamic_rom \ [depot_user]/src/event_filter \ [depot_user]/src/pc_usb_host_drv \ [depot_user]/src/ps2_drv \ [depot_user]/src/report_rom \ [depot_user]/src/usb_hid_drv \ [depot_user]/src/acpi_event set config { } install_config $config # non PCI devices for platform_drv, e.g. ps2/pit file copy [select_from_repositories board/[board]/devices] [run_dir]/genode/devices build_boot_image [build_artifacts] append qemu_args "-nographic " if {![have_include "power_on/qemu"]} { run_genode_until forever exit 0 } run_genode_until {\[init -\> acpi_state.*\n} 30 set spawn_id $qemu_spawn_id sleep 1 # send Ctrl-a+c to enter Qemu's monitor mode send "\x01\x63" # wait for monitor to become ready run_genode_until {(qemu)} 20 $spawn_id for {set i 0} {$i < 3} {incr i} { sleep 1 send "system_powerdown\n" run_genode_until {.*key count: 0.*} 3 $spawn_id } puts "\nTest succeeded\n" exit 0