# # Select benchmark layer # # 0: driver internal # 1: native Genode app # 2: native Genode app with partition manager # set layer 0 # driver-internal benchmark is special if {[expr ($layer == 0)] && ![have_spec exynos5]} { puts "Driver-internal benchmark (layer 0) only supported on exynos5." exit 0 } # # Build # set build_components { core init drivers/timer drivers/ahci drivers/platform } lappend_if [expr ($layer == 1 || $layer == 2)] build_components test/block_bench lappend_if [expr ($layer == 2)] build_components server/part_blk lappend_if [have_spec acpi] build_components drivers/acpi lappend_if [have_spec pci] build_components drivers/pci/device_pd lappend_if [have_spec pci] build_components drivers/pci build $build_components create_boot_directory # # Config # # basic config for all layers set config { } append_if [expr ![have_spec acpi] && ![have_spec pci]] config { } append_if [have_spec acpi] config { } append_if [expr ![have_spec acpi] && [have_spec pci]] config { } # start driver internal bench with layer 0 append_if [expr $layer == 0] config { } # start part_blk with layer 2 append_if [expr $layer == 2] config { } # start normal AHCI driver and bench app with layer 1 or 2 append_if [expr ($layer == 1 || $layer == 2)] config { } append_if [expr ($layer == 1 || $layer == 2) && [have_spec acpi]] config { } append_if [expr ($layer == 1 || $layer == 2)] config { } # if layer is 2 route block requests of bench app to part_blk append_if [expr $layer == 2] config { } # end start node of bench app if layer 1 or 2 append_if [expr ($layer == 1 || $layer == 2)] config { } # end config append config { } install_config $config # # Boot modules # set boot_modules { core init timer } lappend_if [expr ![have_spec acpi] && ![have_spec pci]] boot_modules platform_drv lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec pci] boot_modules pci_device_pd lappend_if [have_spec acpi] boot_modules acpi_drv lappend_if [expr ($layer == 0)] boot_modules ahci_bench lappend_if [expr ($layer == 1 || $layer == 2)] boot_modules ahci lappend_if [expr ($layer == 1 || $layer == 2)] boot_modules test-block_bench lappend_if [expr ($layer == 2)] boot_modules part_blk build_boot_image $boot_modules run_genode_until forever