# # Select benchmark layer # # 0: driver internal # 1: native Genode app # 2: native Genode app with partition manager # set layer 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 build $build_components create_boot_directory # # Config # # basic config for all layers set config { } # start driver internal bench (wich a the driver itself) with layer 0 append_if [expr $layer == 0] config { } # start part_blk with layer 1 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 { } # 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 platform_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