diff --git a/ports/run/noux_tool_chain.inc b/ports/run/noux_tool_chain.inc
index 40bc9ddd03..b7ae03417c 100644
--- a/ports/run/noux_tool_chain.inc
+++ b/ports/run/noux_tool_chain.inc
@@ -16,6 +16,9 @@ if {[have_spec linux]} {
exit 0
}
+set use_platform_driver [expr [have_spec platform_arndale] || [have_spec platform_imx53]]
+set use_usb_input [expr ![have_spec ps2] && ![have_spec sdl] && [have_spec usb]]
+
set build_components {
core init drivers/timer noux/minimal lib/libc_noux
drivers/framebuffer drivers/pci drivers/input
@@ -23,8 +26,10 @@ set build_components {
test/libports/ncurses
}
-lappend_if [have_spec acpi] build_components drivers/acpi
-lappend_if [have_spec pci] build_components drivers/pci/device_pd
+lappend_if [have_spec acpi] build_components drivers/acpi
+lappend_if [have_spec pci] build_components drivers/pci/device_pd
+lappend_if $use_platform_driver build_components drivers/platform
+lappend_if $use_usb_input build_components drivers/usb
set cc_march ""
@@ -106,6 +111,12 @@ append config {
}
+append_if $use_platform_driver config {
+
+
+
+ }
+
append_if [have_spec sdl] config {
@@ -131,7 +142,7 @@ append_if [have_spec acpi] config {
append_if [have_spec framebuffer] config {
-
+
}
@@ -147,6 +158,13 @@ append_if [have_spec ps2] config {
}
+append_if $use_usb_input config {
+
+
+
+
+ }
+
append config {
@@ -276,6 +294,8 @@ lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
+lappend_if $use_platform_driver boot_modules platform_drv
+lappend_if $use_usb_input boot_modules usb_drv
build_boot_image $boot_modules
diff --git a/ports/run/noux_tool_chain_auto.run b/ports/run/noux_tool_chain_auto.run
index e3fe0e5a6f..9fca74b62b 100644
--- a/ports/run/noux_tool_chain_auto.run
+++ b/ports/run/noux_tool_chain_auto.run
@@ -6,7 +6,7 @@
if {[is_qemu_available]} {
puts "\nAuto test running on Qemu is not recommented.\n"
- exit
+ exit 0
}
if {[have_spec pistachio]} {
puts "Pistachio is unsupported."
@@ -14,16 +14,32 @@ if {[have_spec pistachio]} {
}
assert_spec 32bit
-assert_spec x86
-set platform "nova_x86_32"
-set platform_base_dir "base-nova"
+set verbose_mode "no"
+
set platform_pkgs ""
set platform_cmds {
make core &&
exit 234
}
-set verbose_mode "no"
+
+if {[have_spec arm]} {
+ set platform_base_dir "base-hw"
+
+ if {[have_spec platform_panda]} { set platform "hw_panda" }
+ if {[have_spec platform_arndale]} { set platform "hw_arndale" }
+ if {[have_spec platform_pbxa9]} { set platform "hw_pbxa9" }
+
+ if {![info exists platform]} {
+ puts "Unsupported arm platform."
+ exit 0
+ }
+}
+
+if {[have_spec x86]} {
+ set platform "nova_x86_32"
+ set platform_base_dir "base-nova"
+}
source ${genode_dir}/ports/run/noux_tool_chain.inc
diff --git a/tool/run b/tool/run
index c49c1067ec..b7cbf9fa31 100755
--- a/tool/run
+++ b/tool/run
@@ -718,7 +718,7 @@ proc spawn_serial { wait_for_re timeout_value kernel_msg } {
eval spawn $serial_cmd
set serial_spawn_id $spawn_id
- set timeout 30
+ set timeout 210
expect {
$kernel_msg { break; }
eof { puts stderr "Serial command process died unexpectedly"; incr retry -1; }