os: use [build_artifacts] in run scripts

Issue #4860
This commit is contained in:
Norman Feske 2023-05-04 16:18:04 +02:00 committed by Christian Helmuth
parent a2832995d0
commit b2bc5912c8
41 changed files with 327 additions and 490 deletions

View File

@ -2,7 +2,7 @@ assert_spec x86
create_boot_directory
build {
core init timer
core init timer lib/ld
drivers/platform
drivers/acpi
drivers/ahci
@ -154,10 +154,7 @@ install_config {
#
# Boot modules
#
build_boot_image {
core ld.lib.so init timer
pci_decode platform_drv report_rom acpi_drv
ahci_drv report_rom block_tester }
build_boot_image [build_artifacts]
append qemu_args " -nographic -device ahci,id=ahci -boot d "
append qemu_args " -drive id=disk,file=bin/ext2.raw,format=raw,if=none -device ide-hd,drive=disk,bus=ahci.0 "

View File

@ -1,4 +1,4 @@
build { core init timer test/block_request_stream app/block_tester }
build { core init timer lib/ld test/block_request_stream app/block_tester }
create_boot_directory
@ -57,9 +57,7 @@ install_config {
</start>
</config>}
build_boot_image { core init timer block_tester test-block_request_stream ld.lib.so }
build_boot_image [build_artifacts]
append qemu_args " -nographic "

View File

@ -9,7 +9,7 @@ set sgdisk [installed_command sgdisk]
create_boot_directory
build {
core init timer
core init timer lib/ld
server/lx_block
server/report_rom
app/block_tester
@ -276,11 +276,7 @@ install_config {
create_disk_image 0
create_disk_image 1
build_boot_image {
core init timer block_tester report_rom
ld.lib.so part_block
block0.raw block1.raw lx_block
}
build_boot_image [list {*}[build_artifacts] block0.raw block1.raw]
run_genode_until {.*--- all tests finished ---.*\n} 360
set serial_id [output_spawn_id]

View File

@ -1,4 +1,4 @@
build "core init test/bomb timer"
build { core init lib/ld test/bomb timer }
set timeout 240
set rounds 20
@ -27,7 +27,9 @@ if {[have_spec pistachio]} {
# prevent hitting the socket-descriptor limit on Linux
if {[have_spec linux]} { set generations 4 }
set config {
create_boot_directory
install_config {
<config prio_levels="2">
<parent-provides>
<service name="ROM"/>
@ -52,20 +54,12 @@ set config {
<start name="bomb-master" priority="-1" caps="100000">
<binary name="bomb"/>
<resource name="CPU" quantum="90"/>
<resource name="RAM" quantum="2G"/>}
append config "
<config rounds=\"$rounds\" generations=\"$generations\"
children=\"$children\" sleep=\"$sleep\" demand=\"$demand\"/>"
append config {
<resource name="RAM" quantum="2G"/>
<config rounds="} $rounds {" generations="} $generations {"
children="} $children {" sleep="} $sleep {" demand="} $demand {"/>
</start>
</config>}
create_boot_directory
install_config $config
build_boot_image "core ld.lib.so init bomb timer"
build_boot_image [build_artifacts]
run_genode_until {.*Done\. Going to sleep.*} $timeout

View File

@ -1,16 +1,8 @@
#
# \brief Simple cache benchmark
# \author Johannes Schlatow
#
set build_components { core init test/cache }
build $build_components
build { core init lib/ld test/cache }
create_boot_directory
set config {
install_config {
<config>
<parent-provides>
<service name="LOG"/>
@ -29,10 +21,6 @@ set config {
</start>
</config> }
install_config $config
set boot_modules { core ld.lib.so init test-cache }
build_boot_image $boot_modules
build_boot_image [build_artifacts]
run_genode_until "done.*\n" 300

View File

@ -1,4 +1,7 @@
build "core init timer server/cpu_balancer app/cpu_burner app/top server/dynamic_rom"
build {
core init timer lib/ld
server/cpu_balancer app/cpu_burner app/top server/dynamic_rom
}
if {![have_include "power_on/qemu"]} {
puts "Run script is not supported on this platform"
@ -15,12 +18,32 @@ set cpu_height 1
set report_config "yes"
set use_trace "yes"
proc report_rom_start_node { } {
global report_config
if {$report_config != "yes"} {
return { } }
return {
<start name="report_rom">
<binary name="report_rom"/>
<resource name="RAM" quantum="1M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="yes"/>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
}
}
create_boot_directory
import_from_depot [depot_user]/src/report_rom \
[depot_user]/src/shim
append config {
install_config {
<config prio_levels="2" verbose="yes">
<affinity-space width="} $cpu_width {" height="} $cpu_height {"/>
<parent-provides>
@ -46,20 +69,10 @@ append config {
<route>
<any-service> <parent/> </any-service>
</route>
</start>}
</start>
append_if [expr $report_config eq "yes"] config {
<start name="report_rom">
<binary name="report_rom"/>
<resource name="RAM" quantum="1M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="yes"/>
<route>
<any-service> <parent/> </any-service>
</route>
</start>}
} [report_rom_start_node] {
append config {
<start name="dynamic_rom">
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/> </provides>
@ -104,9 +117,8 @@ append config {
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>}
</start>
append config {
<start name="cpu_balancer" caps="120">
<resource name="RAM" quantum="2M"/>
<provides>
@ -157,9 +169,7 @@ append config {
-->
</config>}
install_config $config
build_boot_image { core ld.lib.so init timer cpu_balancer cpu_burner top dynamic_rom }
build_boot_image [build_artifacts]
append qemu_args " -nographic"
append qemu_args " -smp [expr $cpu_width * $cpu_height],cores=$cpu_width,threads=$cpu_height"

View File

@ -10,7 +10,7 @@ if {[have_board linux]} {
exit 0
}
build "core init timer test/cpu_bench"
build { core init timer lib/ld test/cpu_bench }
create_boot_directory
@ -32,7 +32,7 @@ install_config {
</config>
}
build_boot_image { core init cpu_bench ld.lib.so }
build_boot_image [build_artifacts]
append qemu_args " -nographic "

View File

@ -214,7 +214,7 @@ puts $launchpad_config_fd {<config>
</config>}
close $launchpad_config_fd
build_boot_image { status_bar testnit launchpad.config }
build_boot_image [list {*}[build_artifacts] launchpad.config]
if {[get_cmd_switch --autopilot]} {
run_genode_until {\[init -> scout\] png is.*\n} 40

View File

@ -1,34 +1,55 @@
proc test_char_repeat { } {
# the character-repeat test is too timing sensitive to run reliably on
# Qemu
if {[have_include "power_on/qemu"]} { return 0 }
# the legacy PIT timer driver is too inaccurate to produce stable results
# for the character-repeat test
if {[binary_name_timer] == "pit_timer_drv"} { return 0 }
return 1
}
#
# Build
#
set build_components {
core init timer
build {
core init timer lib/ld
server/report_rom server/event_filter test/event_filter
}
build $build_components
create_boot_directory
#
# Generate config
#
proc test_step_char_repeat { } {
append config {
# the character-repeat test is too timing sensitive to run reliably on
# Qemu
if {[have_include "power_on/qemu"]} {
return { } }
# the legacy PIT timer driver is too inaccurate to produce stable results
# for the character-repeat test
if {[binary_name_timer] == "pit_timer_drv"} {
return { } }
return {
<message string="test character repeat"/>
<filter_config>
<output>
<chargen>
<input name="usb"/>
<repeat delay_ms="600" rate_ms="200"/>
<map> <key name="KEY_A" char="a"/> </map>
</chargen>
</output>
<policy label_suffix="usb" input="usb"/>
</filter_config>
<sleep ms="500"/>
<usb> <press code="KEY_A"/> </usb>
<sleep ms="1500"/>
<usb> <release code="KEY_A"/> </usb>
<!-- periodic characters should stop now -->
<sleep ms="1000"/>
<usb> <press code="KEY_B"/> <release code="KEY_B"/> </usb>
<expect_press code="KEY_A" char="a"/> <!-- original press (0 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- character after delay (600 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (800 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1000 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1200 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1400 ms) -->
<expect_release code="KEY_A"/>
<expect_press code="KEY_B"/>
<expect_release code="KEY_B"/>
}
}
install_config {
<config prio_levels="2">
<parent-provides>
<service name="ROM"/>
@ -201,40 +222,10 @@ append config {
<expect_press code="KEY_RIGHTSHIFT"/>
<expect_press code="KEY_A" char="A"/>
<expect_release code="KEY_A"/>
<expect_release code="KEY_RIGHTSHIFT"/>}
<expect_release code="KEY_RIGHTSHIFT"/>
append_if [test_char_repeat] config {
<message string="test character repeat"/>
<filter_config>
<output>
<chargen>
<input name="usb"/>
<repeat delay_ms="600" rate_ms="200"/>
<map> <key name="KEY_A" char="a"/> </map>
</chargen>
</output>
<policy label_suffix="usb" input="usb"/>
</filter_config>
<sleep ms="500"/>
<usb> <press code="KEY_A"/> </usb>
<sleep ms="1500"/>
<usb> <release code="KEY_A"/> </usb>
<!-- periodic characters should stop now -->
<sleep ms="1000"/>
<usb> <press code="KEY_B"/> <release code="KEY_B"/> </usb>
<expect_press code="KEY_A" char="a"/> <!-- original press (0 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- character after delay (600 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (800 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1000 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1200 ms) -->
<expect_press code="KEY_UNKNOWN" char="a"/> <!-- periodic character (1400 ms) -->
<expect_release code="KEY_A"/>
<expect_press code="KEY_B"/>
<expect_release code="KEY_B"/>}
append config {
} [test_step_char_repeat] {
<message string="capslock handling"/>
@ -583,20 +574,13 @@ append config {
</config>}
install_config $config
#
# Boot modules
#
set boot_modules { core ld.lib.so init timer report_rom
event_filter test-event_filter }
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -nographic "
run_genode_until {.*child "test-event_filter" exited with exit value 0.*} 60
grep_output {mapped event}
unify_output {\t} { }
compare_output_to {

View File

@ -94,7 +94,7 @@ set fd [open [run_dir]/genode/focus w]
puts $fd "<focus label=\"gui_fb -> \" domain=\"default\"/>"
close $fd
build_boot_image { test-fb_bench }
build_boot_image [build_artifacts]
# disable QEMU graphic to enable testing on our machines without SDL and X
append qemu_args "-nographic "

View File

@ -1,4 +1,5 @@
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/init
@ -53,6 +54,6 @@ install_config {
</config>}
build_boot_image { event_dump test-framebuffer }
build_boot_image [build_artifacts]
run_genode_until forever

View File

@ -78,11 +78,7 @@ install_config {
}
file copy [select_from_repositories board/[board]/devices] [run_dir]/genode/devices
build_boot_image {
core
timer
imx8q_evk_i2c_drv
i2c_mcp9808
}
build_boot_image [build_artifacts]
run_genode_until forever

View File

@ -1,4 +1,4 @@
build "core init test/bomb timer"
build { core init lib/ld test/bomb timer }
set timeout 60
set rounds 10
@ -28,40 +28,14 @@ if { [get_cmd_switch --autopilot] } {
create_boot_directory
set config {
<config verbose="yes">}
proc per_cpu_start_node { i } {
append config "
<affinity-space width=\"$cpus\" height=\"1\"/>"
global init_ram rounds generations children sleep demand
append config {
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route><any-service><parent/><any-child/></any-service></default-route>
<default caps="100"/>
<resource name="RAM" preserve="2M"/>
<resource name="CAP" preserve="100"/>
<start name="timer">
<resource name="CPU" quantum="10"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>}
for { set i 0} { $i < ${cpus} } { incr i} {
append config "
<start name=\"init_$i\" caps=\"1100\">
<affinity xpos=\"$i\" width=\"1\"/>
<resource name=\"RAM\" quantum=\"${init_ram}M\"/>"
append config {
return [join [list {
<start name="init_} $i {" caps="1100">
<affinity xpos="} $i {" width="1"/>
<resource name="RAM" quantum="} ${init_ram}M {"/>
<binary name="init"/>
<config verbose="yes">
<parent-provides>
@ -80,31 +54,59 @@ for { set i 0} { $i < ${cpus} } { incr i} {
<resource name="RAM" preserve="2M"/>
<resource name="CAP" preserve="100"/>
<start name="bomb-master">
<start name="bomb-master" priority="-1" caps="100000">
<binary name="bomb"/>
<resource name="CPU" quantum="90"/>
<resource name="RAM" quantum="2G"/>}
append config "
<config rounds=\"$rounds\" generations=\"$generations\"
children=\"$children\" sleep=\"$sleep\" demand=\"$demand\"/>"
append config {
<resource name="RAM" quantum="2G"/>
<config rounds="} $rounds {" generations="} $generations {"
children="} $children {" sleep="} $sleep {" demand="} $demand {"/>
</start>
</config>
</start>}
</start>}] ""]
}
append config {
proc cpu_start_nodes { cpus } {
set result { }
for { set i 0} { $i < $cpus } { incr i } {
append result [per_cpu_start_node $i] }
return $result
}
install_config {
<config verbose="yes">
<affinity-space width="} $cpus {" height="1"/>
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route><any-service><parent/><any-child/></any-service></default-route>
<default caps="100"/>
<resource name="RAM" preserve="2M"/>
<resource name="CAP" preserve="100"/>
<start name="timer">
<resource name="CPU" quantum="10"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
} [cpu_start_nodes $cpus] {
</config>}
install_config $config
build_boot_image "core ld.lib.so init bomb timer"
build_boot_image [build_artifacts]
append qemu_args " -m [expr 128 + $init_ram*$cpus]M -nographic -smp $cpus"
if { [get_cmd_switch --autopilot] } {
run_genode_until {bomb started} 20

View File

@ -69,5 +69,5 @@ install_config {
</start>
</config>}
build_boot_image { testnit loader test-loader }
build_boot_image [build_artifacts]
run_genode_until forever

View File

@ -16,11 +16,36 @@ if {[have_spec nova]} {
proc kernel_output { } { return "novga logmem" }
}
build { core init timer server/file_terminal server/terminal_log app/log_core }
build {
core init timer lib/ld
server/file_terminal server/terminal_log app/log_core
}
create_boot_directory
append config {
proc kernel_start_node { } {
if {![have_spec nova]} {
return { } }
return {
<start name="log_kernel">
<binary name="log_core"/>
<resource name="RAM" quantum="10M"/>
<config period_ms="2000"/>
<route>
<service name="ROM" unscoped_label="log_core"> <parent/> </service>
<service name="ROM" unscoped_label="ld.lib.so"> <parent/> </service>
<service name="ROM" label="log"> <parent label="kernel_log"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
</route>
</start>}
}
install_config {
<config>
<parent-provides>
<service name="CPU"/>
@ -77,33 +102,13 @@ append config {
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
</route>
</start>}
</start>
append_if [have_spec nova] config {
<start name="log_kernel">
<binary name="log_core"/>
<resource name="RAM" quantum="10M"/>
<config period_ms="2000"/>
<route>
<service name="ROM" unscoped_label="log_core"> <parent/> </service>
<service name="ROM" unscoped_label="ld.lib.so"> <parent/> </service>
<service name="ROM" label="log"> <parent label="kernel_log"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
</route>
</start>}
} [kernel_start_node] {
append config {
</config>}
install_config $config
build_boot_image {
core init timer ld.lib.so vfs.lib.so libc.lib.so
file_terminal terminal_log log_core
}
build_boot_image [build_artifacts]
append qemu_args " -nographic "

View File

@ -1,22 +1,21 @@
assert_spec linux
set depot_archives { }
set build_components { }
set boot_modules { }
lappend depot_archives [depot_user]/src/[base_src]
lappend depot_archives [depot_user]/src/init
lappend depot_archives [depot_user]/src/vfs
lappend depot_archives [depot_user]/src/vfs_import
set build_components { }
if { [get_cmd_switch --autopilot] } {
lappend depot_archives [depot_user]/src/lx_fs
} else {
lappend build_components server/lx_fs
lappend boot_modules lx_fs
}
set config {
create_boot_directory
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -43,7 +42,6 @@ set config {
<provides> <service name="Timer"/> </provides>
</start>
<start name="import_lx_fs" caps="220" ld="no">
<binary name="lx_fs"/>
<resource name="RAM" quantum="8M"/>
@ -88,16 +86,13 @@ set config {
</config>
}
create_boot_directory
install_config $config
import_from_depot $depot_archives
if { [llength $build_components] > 0 } {
build $build_components
}
build_boot_image $boot_modules
build_boot_image [build_artifacts]
## Create files before genode is run
exec mkdir -p [run_dir]/genode/test-existing-file

View File

@ -1,17 +1,13 @@
#
# Build
#
if {[have_include "power_on/qemu"]} {
puts "\nTest running on Qemu is not supported.\n"
exit 0
}
# generic components
set build_components {
core init timer
build {
core init timer lib/ld
drivers/audio
drivers/platform
drivers/acpi
server/mixer
server/dynamic_rom
server/report_rom
@ -19,15 +15,9 @@ set build_components {
test/audio_out
}
build $build_components
create_boot_directory
#
# Config
#
set config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -121,7 +111,6 @@ set config {
</config>
</start>
<start name="dynamic_rom">
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
@ -208,9 +197,8 @@ set config {
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
</config>}
install_config $config
</config>
}
if {[expr ![file exists bin/client1.f32] || ![file exists bin/client2.f32]]} {
puts ""
@ -220,20 +208,8 @@ if {[expr ![file exists bin/client1.f32] || ![file exists bin/client2.f32]]} {
exit 1
}
build_boot_image [list {*}[build_artifacts] client1.f32 client2.f32]
#
# Boot modules
#
# generic modules
append boot_modules {
core ld.lib.so init timer
report_rom dynamic_rom
platform_drv acpi_drv pci_decode
pci_audio_drv test-audio_out
mixer client1.f32 client2.f32
}
build_boot_image $boot_modules
append qemu_args " -nographic"
run_genode_until forever

View File

@ -280,7 +280,8 @@ append config {
</config> }
install_config $config
build_boot_image { ping nic_dump }
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -265,18 +265,7 @@ append config {
install_config $config
set boot_modules {
init
dynamic_rom
nic_router
test-nic_router_dhcp-client
}
lappend_if [nic_router_2_managed] boot_modules test-nic_router_dhcp-manager
lappend_if [nic_router_2_managed] boot_modules report_rom
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -17,8 +17,7 @@ import_from_depot [depot_user]/src/[base_src] \
build { app/ping server/nic_router init }
append config {
install_config {
<config>
<parent-provides>
@ -91,9 +90,7 @@ append config {
</config>}
install_config $config
build_boot_image { ping nic_router init }
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -205,7 +205,7 @@ install_config {
</config>}
build_boot_image { test-net_flood ping nic_router dynamic_rom }
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -1,5 +1,5 @@
append build_components {
core init timer
core init timer lib/ld
server/nic_router
test/nic_stress
}
@ -157,16 +157,7 @@ append config {
install_config $config
append boot_modules {
core init timer
nic_router
test-nic_stress
ld.lib.so
}
append_if [string equal $type "nic_bridge"] boot_modules { nic_bridge }
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -nographic "

View File

@ -47,7 +47,7 @@ proc writeable { } {
# Build
#
set build_components {
core init timer
core init timer lib/ld
server/report_rom
app/pci_decode
drivers/acpi
@ -243,17 +243,7 @@ append config {
install_config $config
#
# Boot modules
#
set boot_modules {
core init timer nvme_drv
pci_decode platform_drv report_rom acpi_drv
ld.lib.so block_tester
}
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append qemu_args " -drive id=nvme0,file=bin/nvme.raw,format=raw,if=none "

View File

@ -188,7 +188,8 @@ append config {
</config> }
install_config $config
build_boot_image { ping }
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -225,7 +225,8 @@ append config {
</config>}
install_config $config
build_boot_image { ping }
build_boot_image [build_artifacts]
append qemu_args " -nographic "
append_qemu_nic_args

View File

@ -113,7 +113,7 @@ install_config {
</config>}
build_boot_image { test-platform_drv }
build_boot_image [build_artifacts]
append qemu_args "-nographic "

View File

@ -1,13 +1,7 @@
#
# Build
#
# for ldso debugging: <config ld_verbose="yes"/>
#
assert_spec linux
set build_components {
core init timer
build {
core init timer lib/ld
drivers/framebuffer
server/report_rom
server/dynamic_rom
@ -17,15 +11,9 @@ set build_components {
test/nitpicker
}
build $build_components
create_boot_directory
#
# Generate config
#
set config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -274,25 +262,7 @@ set config {
</start>
</config>}
install_config $config
#
# Boot modules
#
# generic modules
set boot_modules {
init ld.lib.so timer
fb_sdl
report_rom dynamic_rom
nitpicker
pointer
test-pointer
testnit
}
# "lsort -unique" removes duplicates but core must be first
build_boot_image "core [lsort -unique $boot_modules]"
build_boot_image [build_artifacts]
run_genode_until forever

View File

@ -1,21 +1,9 @@
assert_spec linux
#
# Build
#
build { core init timer
server/dynamic_rom
app/rom_to_file
server/lx_fs
}
build { core init timer lib/ld server/dynamic_rom app/rom_to_file server/lx_fs }
create_boot_directory
#
# Generate config
#
install_config {
<config>
<parent-provides>
@ -65,19 +53,9 @@ install_config {
</start>
</config>}
#
# Boot image
#
exec mkdir -p bin/fs_test
build_boot_image { core ld.lib.so init timer
dynamic_rom
rom_to_file
lx_fs
fs_test
vfs.lib.so
}
build_boot_image [list {*}[build_artifacts] fs_test]
append qemu_args " -nographic "

View File

@ -2,25 +2,72 @@
create_boot_directory
set depot_pkgs "[depot_user]/src/[base_src] [depot_user]/src/init [depot_user]/src/report_rom"
proc rtc_src { } {
if [have_board linux] {
lappend depot_pkgs [depot_user]/src/linux_rtc_drv
} else {
if [have_board pc] {
lappend depot_pkgs [depot_user]/src/rtc_drv
} else {
lappend depot_pkgs [depot_user]/src/dummy_rtc_drv
if {[have_board linux]} { return "linux_rtc_drv" }
if {[have_board pc]} { return "rtc_drv" }
return "dummy_rtc_drv"
}
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/src/init \
[depot_user]/src/report_rom \
[depot_user]/src/[rtc_src]
proc rtc_driver_start_attributes { } {
if {[have_board linux]} { return { name="linux_rtc_drv" ld="no" } }
if {[have_board pc]} { return { name="rtc_drv" } }
return { name="dummy_rtc_drv" }
}
# RTC setting tested on Qemu only
proc test_update { } { return [have_include power_on/qemu] }
proc test_rtc_config { } {
if {![test_update]} {
return { <config/> } }
return {
<config set_rtc="yes" year="2069" month="12" day="31"
hour="23" minute="55" second="0"/>
}
}
puts $depot_pkgs
import_from_depot $depot_pkgs
proc additional_start_nodes_for_update_test { } {
# RTC setting tested on Qemu only
set test_update [have_include power_on/qemu]
if {![test_update]} {
return { } }
set config {
return {
<start name="report_rom">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="yes">
<policy label_suffix="set_rtc" report="test-rtc -> set_rtc"/>
</config>
</start>}
}
proc rtc_driver_config_and_route { } {
if {![test_update]} {
return { <config/> } }
return {
<config allow_setting_rtc="true" verbose="yes"/>
<route>
<service name="ROM" label="set_rtc">
<child name="report_rom"/>
</service>
<any-service> <parent/> </any-service>
</route> }
}
install_config {
<config prio_levels="2" verbose="yes">
<parent-provides>
<service name="ROM"/>
@ -36,53 +83,31 @@ set config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>}
append_if $test_update config {
<start name="report_rom">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="yes">
<policy label_suffix="set_rtc" report="test-rtc -> set_rtc"/>
</config>
</start>}
append_if [have_board linux] config {
<start name="linux_rtc_drv" priority="-1" ld="no">}
append_if [have_board pc] config {
<start name="rtc_drv" priority="-1">}
append_if [expr ![have_board pc] && ![have_board linux]] config {
<start name="dummy_rtc_drv" priority="-1">}
append config {
<resource name="RAM" quantum="1M"/>
<provides><service name="Rtc"/></provides>}
append_if $test_update config {
<config allow_setting_rtc="true" verbose="yes"/>
<route>
<service name="ROM" label="set_rtc">
<child name="report_rom"/>
</service>
<any-service> <parent/> </any-service>
</route>}
append config {
</start>
<start } [rtc_driver_start_attributes] { priority="-1">
<resource name="RAM" quantum="1M"/>
<provides><service name="Rtc"/></provides>
} [rtc_driver_config_and_route] {
</start>
<start name="test-rtc" priority="-1">
<resource name="RAM" quantum="1M"/>}
append_if $test_update config {
<config set_rtc="yes" year="2069" month="12" day="31" hour="23" minute="55" second="0"/>}
append config {
<resource name="RAM" quantum="1M"/>
} [test_rtc_config] {
</start>
} [additional_start_nodes_for_update_test] {
</config>
}
install_config $config
build { test/rtc }
set build_components { test/rtc }
set boot_modules { test-rtc }
build $build_components
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -nographic "

View File

@ -51,7 +51,7 @@ install_config {
<service name="PD"> <parent/> </service>
<service name="RM"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
service name="LOG"> <parent/> </service>
<any-service> <any-child/> </any-service>
</route>
</start>
@ -68,7 +68,7 @@ install_config {
</start>
</config> }
build_boot_image { pl180_sd_card_drv block_tester }
build_boot_image [build_artifacts]
set disk_image "bin/sd_card.img"
if { [file exists $disk_image] == 0 } then {

View File

@ -78,8 +78,10 @@ install_config {
</config> }
file copy [select_from_repositories board/[board]/devices] [run_dir]/genode/devices
build { drivers/sd_card }
build_boot_image [sd_card_drv]
build_boot_image [build_artifacts]
#

View File

@ -5,7 +5,8 @@ if {![have_board pc] || [expr ![have_spec nova] && ![have_spec hw]] } {
exit 0
}
build { app/smbios_decoder core init timer drivers/acpi server/report_rom }
build { core init timer lib/ld drivers/acpi server/report_rom app/smbios_decoder }
create_boot_directory
install_config {
@ -72,11 +73,7 @@ install_config {
</config>
}
build_boot_image {
report_rom acpi_drv
core init timer ld.lib.so
smbios_decoder
}
build_boot_image [build_artifacts]
append qemu_args " -nographic"

View File

@ -18,7 +18,7 @@
#
if {[have_spec linux]} { puts "Run script does not support Linux"; exit 0 }
build "core init timer test/timer server/tar_rom"
build { core init timer lib/ld test/timer server/tar_rom }
create_boot_directory
@ -75,7 +75,7 @@ install_config {
exec sh -c "cd bin; tar cfh archive.tar test-timer"
build_boot_image "core ld.lib.so init timer tar_rom archive.tar"
build_boot_image [list {*}[build_artifacts] archive.tar]
append qemu_args "-nographic "

View File

@ -243,7 +243,7 @@ foreach rom [content_rom_modules] {
# Build
#
lappend build_targets core init timer
lappend build_targets core init timer lib/ld
# strip duplications
set sorted_build_targets [lsort -unique $build_targets]
@ -305,9 +305,7 @@ install_config {
</config>
}
lappend boot_modules core ld.lib.so init timer
build_boot_image [lsort -unique $boot_modules]
build_boot_image [build_artifacts]
##

View File

@ -78,7 +78,7 @@ proc precise_ref_time { } {
return true
}
build "core init drivers/platform timer test/timeout"
build { core init lib/ld drivers/platform timer test/timeout }
#
# Boot image
@ -86,7 +86,7 @@ build "core init drivers/platform timer test/timeout"
create_boot_directory
append config {
install_config {
<config prio_levels="2">
<parent-provides>
<service name="ROM"/>
@ -117,9 +117,7 @@ append config {
</config>
}
install_config $config
build_boot_image "core ld.lib.so init timer test-timeout"
build_boot_image [build_artifacts]
#
# Execution

View File

@ -13,7 +13,7 @@ if {![have_board imx53_qsb_tz]} {
exit 0
}
build { core init server/tz_vmm }
build { core init lib/ld server/tz_vmm }
create_boot_directory
@ -63,7 +63,7 @@ exec >& /dev/null wget -O initrd.gz.md5 $initrd_uri.md5
exec md5sum -c initrd.gz.md5
cd ..
build_boot_image { core ld.lib.so init linux imx53_qsb_tz_vmm initrd.gz }
build_boot_image [list {*}[build_artifacts] linux initrd.gz]
# execute and wait for console
run_genode_until {.*\/ #.*} 220

View File

@ -1,25 +1,13 @@
#
# Build
#
assert_spec pbxa9
# generic components
set build_components {
core init timer
drivers/uart
test/uart
if { ![have_board pbxa9] } {
puts "Platform is unsupported."
exit 0
}
build $build_components
build { core init timer lib/ld drivers/uart test/uart }
create_boot_directory
#
# Config
#
set config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -35,7 +23,6 @@ set config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
@ -62,20 +49,8 @@ set config {
</config>
}
install_config $config
build_boot_image [build_artifacts]
#
# Boot modules
#
# generic modules
set boot_modules {
core ld.lib.so init
timer pbxa9_uart_drv test-uart
}
build_boot_image $boot_modules
append qemu_args " -display none -serial stdio"
append qemu_args " -serial file:/tmp/serial1"
append qemu_args " -serial file:/tmp/serial2"

View File

@ -19,7 +19,7 @@ import_from_depot [depot_user]/src/[base_src] \
build { app/block_tester }
append config {
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
@ -91,14 +91,13 @@ append config {
</start>
</config>}
install_config $config
#
# Define USB host controller config
#
set fd [open [run_dir]/genode/usb_host_drv.config w]
puts $fd { <config> <default-policy class="0x8"/> </config> }
close $fd
build_boot_image [build_artifacts]
#

View File

@ -1,6 +1,7 @@
create_boot_directory
build {
core init timer
core init timer lib/ld
server/vfs
server/vfs_block
app/block_tester
@ -105,9 +106,6 @@ install_config {
</start>
</config>}
build_boot_image {
core init timer vfs vfs_block block_tester
ld.lib.so vfs.lib.so vfs_import.lib.so
}
build_boot_image [build_artifacts]
run_genode_until {.*child "block_tester" exited with exit value 0.*\n} 60

View File

@ -229,12 +229,7 @@ if { [have_spec arm_64] } {
catch { exec [installed_command dd] if=/dev/zero of=bin/block.img bs=1M count=0 seek=64 }
exec [installed_command mkfs.vfat] bin/block.img
build_boot_image {
test-terminal_expect_send
linux
initrd
block.img
}
build_boot_image [list {*}[build_artifacts] linux initrd block.img]
#
# Execute test case

View File

@ -28,12 +28,8 @@ if { [get_cmd_switch --autopilot] } {
# ia32_tsc_aux with rdtscp
set test_rdtscp [have_spec nova]
set build_components {
core init
timer
test/vmm_x86
}
build $build_components
build { core init timer lib/ld test/vmm_x86 }
create_boot_directory
install_config {
@ -65,12 +61,6 @@ install_config {
</config>
}
set boot_modules {
core ld.lib.so init
timer
test-vmm_x86
}
#
# Generate artificial platform info to allow for executing the scenario on
# base-linux
@ -94,7 +84,7 @@ if {[have_spec linux]} {
close $fd
}
build_boot_image $boot_modules
build_boot_image [build_artifacts]
append qemu_args " -cpu phenom -smp 2"
append qemu_args " -nographic "