mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 22:47:50 +00:00
ef0c3f9d2c
The virtual block device module used to hand over the wrong VBA as parameter "rekeying VBA" to the Free Tree when allocating PBAs for data access during rekeying. In certain constellations, this caused the Free Tree to alloc PBAs that were still in use. The Free Tree PBA selection algorithm, however, is just fine. When fixing the call parameter, it works as desired. This re-enables the async rekeying test. Ref #5075
1131 lines
52 KiB
Plaintext
1131 lines
52 KiB
Plaintext
# riscv lacks jitterentropy support currently
|
|
if {[get_cmd_switch --autopilot] && [have_board virt_qemu_riscv]} {
|
|
puts "Autopilot mode is not supported on this platform."
|
|
exit 0
|
|
}
|
|
|
|
set dd [installed_command dd]
|
|
|
|
proc tresor_image_name { } {
|
|
return "tresor_block.img"
|
|
}
|
|
|
|
proc lx_local_tresor_image { } {
|
|
return bin/[tresor_image_name]
|
|
}
|
|
|
|
proc lx_autopilot_tresor_image { } {
|
|
return /tmp/[tresor_image_name].[exec id -un]
|
|
}
|
|
|
|
proc lx_tresor_image_size_mb { } {
|
|
return 400
|
|
}
|
|
|
|
proc benchmark_blk_count { } {
|
|
|
|
if {[have_board linux]} {
|
|
|
|
# benchmarks over 50 mebibyte
|
|
return 12800
|
|
}
|
|
if {[have_board virt_qemu_arm_v8a]} {
|
|
|
|
# benchmarks over 25 mebibyte
|
|
return 6400
|
|
}
|
|
# benchmarks turned off
|
|
return 0
|
|
}
|
|
|
|
proc block_io_vfs_ram_mb { } {
|
|
|
|
if {[benchmark_blk_count] > 0} {
|
|
|
|
# when benchmarks turned on
|
|
set bench_mb [expr (([benchmark_blk_count] * 4096) / 1024 / 1024)]
|
|
return [expr 8 * $bench_mb]
|
|
}
|
|
# when benchmarks turned off
|
|
return 10
|
|
}
|
|
|
|
proc jent_avail { } {
|
|
|
|
if {[have_board pbxa9]} { return 0 }
|
|
if {[have_board zynq_qemu]} { return 0 }
|
|
return 1
|
|
}
|
|
|
|
append build_components {
|
|
core lib/ld init timer
|
|
server/vfs lib/vfs lib/libc lib/libcrypto
|
|
app/tresor_tester
|
|
server/log_terminal
|
|
server/report_rom
|
|
lib/vfs_tresor_crypto_aes_cbc
|
|
lib/vfs_tresor_trust_anchor
|
|
lib/vfs_import
|
|
}
|
|
|
|
append_if [jent_avail] build_components { lib/vfs_jitterentropy }
|
|
|
|
append_if [have_board linux] build_components { server/lx_fs }
|
|
append_if [have_board linux] build_components { server/lx_block }
|
|
|
|
build $build_components
|
|
|
|
create_boot_directory
|
|
|
|
append config {
|
|
|
|
<config verbose="yes">
|
|
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="PD"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
</parent-provides>
|
|
|
|
<start name="timer" caps="100">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
<route>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
<service name="IO_PORT"> <parent/> </service>
|
|
<service name="IO_MEM"> <parent/> </service>
|
|
<service name="IRQ"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="report_rom" caps="100">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
|
<config verbose="yes"/>
|
|
<route>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="log_terminal" caps="100">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Terminal"/></provides>
|
|
<route>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
}
|
|
if {[have_board linux]} {
|
|
|
|
append config {
|
|
|
|
<start name="block_io_fs" caps="100" ld="no">
|
|
<binary name="lx_fs"/>
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides> <service name="File_system"/> </provides>
|
|
<config>
|
|
<default-policy root="/" writeable="yes"/>
|
|
</config>
|
|
<route>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
}
|
|
|
|
} else {
|
|
|
|
append config {
|
|
|
|
<start name="block_io_fs" caps="100">
|
|
<binary name="vfs"/>
|
|
<resource name="RAM" quantum="} [block_io_vfs_ram_mb] {M"/>
|
|
<provides><service name="File_system"/></provides>
|
|
<config>
|
|
<vfs>
|
|
<dir name="block_io">
|
|
<ram/>
|
|
</dir>
|
|
<import>
|
|
<dir name="block_io">
|
|
<inline name="} [tresor_image_name] {"></inline>
|
|
</dir>
|
|
</import>
|
|
</vfs>
|
|
<default-policy root="/block_io" writeable="yes"/>
|
|
</config>
|
|
<route>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
}
|
|
}
|
|
append config {
|
|
|
|
<start name="trust_anchor_fs" caps="200">
|
|
<binary name="vfs"/>
|
|
<resource name="RAM" quantum="10M"/>
|
|
<provides><service name="File_system"/></provides>
|
|
<config>
|
|
<vfs>
|
|
<dir name="storage">
|
|
<ram/>
|
|
</dir>
|
|
|
|
<dir name="dev"> }
|
|
|
|
append_if [jent_avail] config {
|
|
|
|
<jitterentropy name="jitterentropy"/> }
|
|
|
|
append_if [expr ![jent_avail]] config {
|
|
|
|
<inline name="jitterentropy">0123456789abcdefghijklmnopqrstuv</inline> }
|
|
|
|
append config {
|
|
<tresor_trust_anchor name="tresor_trust_anchor" storage_dir="/storage"/>
|
|
</dir>
|
|
</vfs>
|
|
|
|
<default-policy root="/dev/tresor_trust_anchor" writeable="yes"/>
|
|
</config>
|
|
<route>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="test" caps="200">
|
|
|
|
<binary name="tresor_tester"/>
|
|
<resource name="RAM" quantum="10M"/>
|
|
<config ld_verbose="yes">
|
|
|
|
<block-io type="vfs" path="/} [tresor_image_name] {"/>
|
|
<crypto path="/crypto"/>
|
|
<trust-anchor path="/trust_anchor"/>
|
|
|
|
<vfs>
|
|
<fs buffer_size="1M"/>
|
|
<tresor_crypto_aes_cbc name="crypto"/>
|
|
<dir name="trust_anchor">
|
|
<fs label="trust_anchor"/>
|
|
</dir>
|
|
</vfs>
|
|
|
|
<commands>
|
|
|
|
<log string="Step 1: Initialize Trust Anchor and Tresor device, start Tresor library"/>
|
|
|
|
<trust-anchor op="initialize" passphrase="foobar"/>
|
|
<initialize>
|
|
|
|
<virtual-block-device
|
|
nr_of_levels="3"
|
|
nr_of_children="8"
|
|
nr_of_leafs="64" />
|
|
|
|
<free-tree
|
|
nr_of_levels="4"
|
|
nr_of_children="8"
|
|
nr_of_leafs="100" />
|
|
|
|
</initialize>
|
|
<check/>
|
|
<construct/>
|
|
|
|
<log string="Step 2: test synchronous write, read"/>
|
|
|
|
<request op="write" vba="1" count="1" sync="yes" salt="1234"/>
|
|
<request op="read" vba="1" count="1" sync="yes" salt="1234"/>
|
|
<request op="write" vba="12" count="10" sync="yes"/>
|
|
<request op="read" vba="12" count="10" sync="yes"/>
|
|
<request op="write" vba="24" count="40" sync="yes"/>
|
|
<request op="read" vba="24" count="40" sync="yes"/>
|
|
|
|
<log string="Step 3: test synchronous write, read, compare"/>
|
|
|
|
<request op="write" vba="9" count="1" sync="yes" salt="4321"/>
|
|
<request op="read" vba="9" count="1" sync="yes" salt="4321"/>
|
|
<request op="write" vba="41" count="3" sync="yes" salt="8765"/>
|
|
<request op="read" vba="41" count="3" sync="yes" salt="8765"/>
|
|
<request op="write" vba="9" count="1" sync="yes" salt="1234"/>
|
|
<request op="write" vba="41" count="19" sync="yes" salt="5678"/>
|
|
<request op="read" vba="9" count="1" sync="yes" salt="1234"/>
|
|
<request op="read" vba="41" count="19" sync="yes" salt="5678"/>
|
|
|
|
<log string="Step 4: test asynchronous write, read"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no"/>
|
|
<request op="write" vba="15" count="10" sync="no"/>
|
|
<request op="read" vba="34" count="2" sync="no"/>
|
|
<request op="read" vba="21" count="5" sync="no"/>
|
|
<request op="write" vba="12" count="12" sync="no"/>
|
|
<request op="read" vba="32" count="8" sync="no"/>
|
|
<request op="write" vba="17" count="7" sync="no"/>
|
|
<request op="write" vba="29" count="9" sync="no"/>
|
|
<request op="read" vba="14" count="18" sync="no"/>
|
|
|
|
<log string="Step 5: test asynchronous write, read, compare"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no" salt="7373"/>
|
|
<request op="read" vba="21" count="1" sync="no" salt="7373"/>
|
|
<request op="write" vba="15" count="10" sync="no" salt="1515"/>
|
|
<request op="write" vba="15" count="4" sync="no" salt="6001"/>
|
|
<request op="read" vba="21" count="3" sync="no" salt="1515"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="1515"/>
|
|
<request op="write" vba="17" count="5" sync="no" salt="9689"/>
|
|
<request op="read" vba="22" count="3" sync="no" salt="1515"/>
|
|
<request op="read" vba="15" count="2" sync="no" salt="6001"/>
|
|
<request op="write" vba="11" count="6" sync="no" salt="0987"/>
|
|
<request op="read" vba="17" count="5" sync="no" salt="9689"/>
|
|
<request op="write" vba="22" count="2" sync="no" salt="6543"/>
|
|
<request op="write" vba="25" count="11" sync="no" salt="5432"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="1515"/>
|
|
<request op="write" vba="10" count="5" sync="no" salt="4221"/>
|
|
<request op="write" vba="21" count="2" sync="no" salt="1001"/>
|
|
<request op="write" vba="12" count="10" sync="no" salt="3366"/>
|
|
<request op="write" vba="26" count="4" sync="no" salt="7271"/>
|
|
<request op="write" vba="15" count="7" sync="no" salt="1331"/>
|
|
<request op="read" vba="23" count="1" sync="no" salt="6543"/>
|
|
<request op="read" vba="25" count="1" sync="no" salt="5432"/>
|
|
<request op="read" vba="28" count="2" sync="no" salt="7271"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="1515"/>
|
|
<request op="read" vba="12" count="3" sync="no" salt="3366"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="1331"/>
|
|
<request op="read" vba="10" count="2" sync="no" salt="4221"/>
|
|
|
|
<log string="Step 6: shut down Tresor library, check Tresor integrity, restart Tresor library"/>
|
|
|
|
<request op="deinitialize" sync="no"/>
|
|
<destruct/>
|
|
<check/>
|
|
<construct/>
|
|
|
|
<log string="Step 7: test synchronous snapshot management"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="yes" salt="7304"/>
|
|
<request op="create_snapshot" sync="yes" id="1"/>
|
|
<request op="read" vba="21" count="1" sync="yes" salt="7304"/>
|
|
<request op="write" vba="15" count="10" sync="yes" salt="9612"/>
|
|
<request op="write" vba="15" count="4" sync="yes" salt="6111"/>
|
|
<request op="read" vba="21" count="3" sync="yes" salt="9612"/>
|
|
<request op="read" vba="19" count="3" sync="yes" salt="9612"/>
|
|
<request op="write" vba="17" count="5" sync="yes" salt="5353"/>
|
|
<request op="create_snapshot" sync="yes" id="2"/>
|
|
<request op="create_snapshot" sync="yes" id="3"/>
|
|
<request op="read" vba="22" count="3" sync="yes" salt="9612"/>
|
|
<request op="read" vba="15" count="2" sync="yes" salt="6111"/>
|
|
<request op="write" vba="11" count="6" sync="yes" salt="5436"/>
|
|
<check-snapshots/>
|
|
<request op="discard_snapshot" sync="yes" id="1"/>
|
|
<request op="discard_snapshot" sync="yes" id="2"/>
|
|
<check-snapshots/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 8: test asynchronous snapshot management"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no" salt="7384"/>
|
|
<request op="create_snapshot" sync="no" id="4"/>
|
|
<request op="create_snapshot" sync="no" id="5"/>
|
|
<request op="read" vba="21" count="1" sync="no" salt="7384"/>
|
|
<request op="write" vba="15" count="10" sync="no" salt="9602"/>
|
|
<request op="write" vba="15" count="4" sync="no" salt="6100"/>
|
|
<request op="read" vba="21" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="9602"/>
|
|
<request op="write" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="read" vba="22" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="15" count="2" sync="no" salt="6100"/>
|
|
<request op="create_snapshot" sync="no" id="6"/>
|
|
<request op="write" vba="11" count="6" sync="no" salt="1436"/>
|
|
<request op="read" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="write" vba="22" count="2" sync="no" salt="7463"/>
|
|
<request op="write" vba="25" count="11" sync="no" salt="4323"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="write" vba="10" count="5" sync="no" salt="3758"/>
|
|
<request op="create_snapshot" sync="no" id="7"/>
|
|
<request op="create_snapshot" sync="no" id="8"/>
|
|
<request op="write" vba="21" count="2" sync="no" salt="8094"/>
|
|
<request op="write" vba="12" count="10" sync="no" salt="4455"/>
|
|
<request op="write" vba="26" count="4" sync="no" salt="7574"/>
|
|
<request op="write" vba="15" count="7" sync="no" salt="1931"/>
|
|
<request op="read" vba="23" count="1" sync="no" salt="7463"/>
|
|
<request op="read" vba="25" count="1" sync="no" salt="4323"/>
|
|
<request op="read" vba="28" count="2" sync="no" salt="7574"/>
|
|
<request op="create_snapshot" sync="no" id="9"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="read" vba="12" count="3" sync="no" salt="4455"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="1931"/>
|
|
<request op="read" vba="10" count="2" sync="no" salt="3758"/>
|
|
<check-snapshots/>
|
|
<request op="discard_snapshot" sync="no" id="4"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 9: reinitialize Tresor device"/>
|
|
|
|
<request op="deinitialize" sync="no"/>
|
|
<destruct/>
|
|
<initialize>
|
|
|
|
<virtual-block-device
|
|
nr_of_levels="4"
|
|
nr_of_children="8"
|
|
nr_of_leafs="100" />
|
|
|
|
<free-tree
|
|
nr_of_levels="4"
|
|
nr_of_children="8"
|
|
nr_of_leafs="512" />
|
|
|
|
</initialize>
|
|
<construct/>
|
|
|
|
<log string="Step 10: test synchronous rekeying"/>
|
|
|
|
<request op="write" vba="0" count="1" sync="yes" salt="4359"/>
|
|
<request op="rekey" sync="yes"/>
|
|
<request op="read" vba="0" count="1" sync="yes" salt="4359"/>
|
|
<request op="write" vba="15" count="7" sync="yes" salt="1742"/>
|
|
<request op="write" vba="20" count="13" sync="yes" salt="8471"/>
|
|
<request op="create_snapshot" sync="yes" id="10"/>
|
|
<request op="write" vba="33" count="5" sync="yes" salt="7831"/>
|
|
<request op="rekey" sync="yes"/>
|
|
<request op="read" vba="17" count="3" sync="yes" salt="1742"/>
|
|
<request op="write" vba="51" count="8" sync="yes" salt="8384"/>
|
|
<request op="read" vba="25" count="1" sync="yes" salt="8471"/>
|
|
<request op="write" vba="30" count="5" sync="yes" salt="2837"/>
|
|
<request op="create_snapshot" sync="yes" id="11"/>
|
|
<request op="rekey" sync="yes"/>
|
|
<request op="read" vba="35" count="2" sync="yes" salt="7831"/>
|
|
<request op="read" vba="31" count="4" sync="yes" salt="2837"/>
|
|
<request op="read" vba="51" count="8" sync="yes" salt="8384"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 11: test asynchronous rekeying"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no" salt="7384"/>
|
|
<request op="rekey" sync="no"/>
|
|
<request op="read" vba="21" count="1" sync="no" salt="7384"/>
|
|
<request op="write" vba="15" count="10" sync="no" salt="9602"/>
|
|
<request op="write" vba="15" count="4" sync="no" salt="6100"/>
|
|
<request op="read" vba="21" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="9602"/>
|
|
<request op="write" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="read" vba="22" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="15" count="2" sync="no" salt="6100"/>
|
|
<request op="write" vba="11" count="6" sync="no" salt="1436"/>
|
|
<request op="create_snapshot" sync="yes" id="12"/>
|
|
<request op="read" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="write" vba="22" count="2" sync="no" salt="7463"/>
|
|
<request op="rekey" sync="no"/>
|
|
<request op="write" vba="25" count="11" sync="no" salt="4323"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="write" vba="10" count="5" sync="no" salt="3758"/>
|
|
<request op="write" vba="21" count="2" sync="no" salt="8094"/>
|
|
<request op="write" vba="12" count="10" sync="no" salt="4455"/>
|
|
<request op="write" vba="26" count="4" sync="no" salt="7574"/>
|
|
<request op="write" vba="15" count="7" sync="no" salt="1931"/>
|
|
<request op="read" vba="23" count="1" sync="no" salt="7463"/>
|
|
<request op="read" vba="25" count="1" sync="no" salt="4323"/>
|
|
<request op="read" vba="28" count="2" sync="no" salt="7574"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="read" vba="12" count="3" sync="no" salt="4455"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="1931"/>
|
|
<request op="read" vba="10" count="2" sync="no" salt="3758"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 12: test synchronous free tree extension"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="yes" salt="7304"/>
|
|
<request op="extend_ft" count="23" sync="yes"/>
|
|
<request op="read" vba="21" count="1" sync="yes" salt="7304"/>
|
|
<request op="extend_ft" count="6" sync="yes"/>
|
|
<request op="write" vba="15" count="10" sync="yes" salt="9612"/>
|
|
<request op="write" vba="15" count="4" sync="yes" salt="6111"/>
|
|
<request op="extend_ft" count="10" sync="yes"/>
|
|
<request op="read" vba="21" count="3" sync="yes" salt="9612"/>
|
|
<request op="read" vba="19" count="3" sync="yes" salt="9612"/>
|
|
<request op="write" vba="17" count="5" sync="yes" salt="5353"/>
|
|
<request op="extend_ft" count="2" sync="yes"/>
|
|
<request op="extend_ft" count="2" sync="yes"/>
|
|
<request op="extend_ft" count="2" sync="yes"/>
|
|
<request op="read" vba="22" count="3" sync="yes" salt="9612"/>
|
|
<request op="extend_ft" count="1" sync="yes"/>
|
|
<request op="read" vba="15" count="2" sync="yes" salt="6111"/>
|
|
<request op="write" vba="11" count="6" sync="yes" salt="5436"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 13: test asynchronous free tree extension"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no" salt="3874"/>
|
|
<request op="extend_ft" count="21" sync="no"/>
|
|
<request op="extend_ft" count="17" sync="no"/>
|
|
<request op="read" vba="21" count="1" sync="no" salt="3874"/>
|
|
<request op="write" vba="15" count="10" sync="no" salt="6092"/>
|
|
<request op="write" vba="15" count="4" sync="no" salt="1060"/>
|
|
<request op="read" vba="21" count="3" sync="no" salt="6092"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="6092"/>
|
|
<request op="write" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="read" vba="22" count="3" sync="no" salt="6092"/>
|
|
<request op="read" vba="15" count="2" sync="no" salt="1060"/>
|
|
<request op="extend_ft" count="180" sync="no"/>
|
|
<request op="write" vba="11" count="6" sync="no" salt="4316"/>
|
|
<request op="read" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="write" vba="22" count="2" sync="no" salt="4673"/>
|
|
<request op="write" vba="25" count="11" sync="no" salt="3243"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="6092"/>
|
|
<request op="write" vba="10" count="5" sync="no" salt="7538"/>
|
|
<request op="extend_ft" count="3" sync="no"/>
|
|
<request op="extend_ft" count="2" sync="no"/>
|
|
<request op="write" vba="21" count="2" sync="no" salt="0984"/>
|
|
<request op="write" vba="12" count="10" sync="no" salt="4545"/>
|
|
<request op="write" vba="26" count="4" sync="no" salt="5774"/>
|
|
<request op="write" vba="15" count="7" sync="no" salt="9311"/>
|
|
<request op="write" vba="65" count="7" sync="no" salt="4583"/>
|
|
<request op="read" vba="23" count="1" sync="no" salt="4673"/>
|
|
<request op="read" vba="25" count="1" sync="no" salt="3243"/>
|
|
<request op="read" vba="28" count="2" sync="no" salt="5774"/>
|
|
<request op="extend_ft" count="11" sync="no"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="6092"/>
|
|
<request op="read" vba="12" count="3" sync="no" salt="4545"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="9311"/>
|
|
<request op="read" vba="10" count="2" sync="no" salt="7538"/>
|
|
<request op="read" vba="65" count="7" sync="no" salt="4583"/>
|
|
<request op="write" vba="60" count="10" sync="no" salt="2725"/>
|
|
<request op="read" vba="63" count="7" sync="no" salt="2725"/>
|
|
<request op="read" vba="70" count="2" sync="no" salt="4583"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 14: test synchronous vbd extension"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="yes" salt="0473"/>
|
|
<request op="extend_vbd" count="23" sync="yes"/>
|
|
<request op="read" vba="21" count="1" sync="yes" salt="0473"/>
|
|
<request op="extend_vbd" count="6" sync="yes"/>
|
|
<request op="write" vba="15" count="10" sync="yes" salt="1296"/>
|
|
<request op="write" vba="15" count="4" sync="yes" salt="1161"/>
|
|
<request op="extend_vbd" count="10" sync="yes"/>
|
|
<request op="read" vba="21" count="3" sync="yes" salt="1296"/>
|
|
<request op="read" vba="19" count="3" sync="yes" salt="1296"/>
|
|
<request op="write" vba="17" count="5" sync="yes" salt="5353"/>
|
|
<request op="extend_vbd" count="2" sync="yes"/>
|
|
<request op="extend_vbd" count="2" sync="yes"/>
|
|
<request op="extend_vbd" count="2" sync="yes"/>
|
|
<request op="read" vba="22" count="3" sync="yes" salt="1296"/>
|
|
<request op="extend_vbd" count="1" sync="yes"/>
|
|
<request op="read" vba="15" count="2" sync="yes" salt="1161"/>
|
|
<request op="write" vba="11" count="6" sync="yes" salt="3654"/>
|
|
<request op="write" vba="65" count="1" sync="yes" salt="5346"/>
|
|
<request op="read" vba="65" count="1" sync="yes" salt="5346"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 15: test asynchronous vbd extension"/>
|
|
|
|
<request op="write" vba="20" count="3" sync="no" salt="7384"/>
|
|
<request op="extend_vbd" count="21" sync="no"/>
|
|
<request op="extend_vbd" count="17" sync="no"/>
|
|
<request op="read" vba="21" count="1" sync="no" salt="7384"/>
|
|
<request op="write" vba="15" count="10" sync="no" salt="9602"/>
|
|
<request op="write" vba="15" count="4" sync="no" salt="6100"/>
|
|
<request op="read" vba="21" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="9602"/>
|
|
<request op="write" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="read" vba="22" count="3" sync="no" salt="9602"/>
|
|
<request op="read" vba="15" count="2" sync="no" salt="6100"/>
|
|
<request op="extend_vbd" count="180" sync="no"/>
|
|
<request op="write" vba="11" count="6" sync="no" salt="1436"/>
|
|
<request op="read" vba="17" count="5" sync="no" salt="5555"/>
|
|
<request op="write" vba="22" count="2" sync="no" salt="7463"/>
|
|
<request op="write" vba="25" count="11" sync="no" salt="4323"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="write" vba="10" count="5" sync="no" salt="3758"/>
|
|
<request op="extend_vbd" count="3" sync="no"/>
|
|
<request op="extend_vbd" count="2" sync="no"/>
|
|
<request op="write" vba="21" count="2" sync="no" salt="8094"/>
|
|
<request op="write" vba="12" count="10" sync="no" salt="4455"/>
|
|
<request op="write" vba="26" count="4" sync="no" salt="7574"/>
|
|
<request op="write" vba="15" count="7" sync="no" salt="1931"/>
|
|
<request op="write" vba="65" count="7" sync="no" salt="8453"/>
|
|
<request op="read" vba="23" count="1" sync="no" salt="7463"/>
|
|
<request op="read" vba="25" count="1" sync="no" salt="4323"/>
|
|
<request op="read" vba="28" count="2" sync="no" salt="7574"/>
|
|
<request op="extend_vbd" count="11" sync="no"/>
|
|
<request op="read" vba="24" count="1" sync="no" salt="9602"/>
|
|
<request op="read" vba="12" count="3" sync="no" salt="4455"/>
|
|
<request op="read" vba="19" count="3" sync="no" salt="1931"/>
|
|
<request op="read" vba="10" count="2" sync="no" salt="3758"/>
|
|
<request op="read" vba="65" count="7" sync="no" salt="8453"/>
|
|
<request op="write" vba="60" count="10" sync="no" salt="2275"/>
|
|
<request op="read" vba="63" count="7" sync="no" salt="2275"/>
|
|
<request op="read" vba="70" count="2" sync="no" salt="8453"/>
|
|
<request op="sync" vba="0" count="256" sync="yes"/>
|
|
<check/>
|
|
|
|
<log string="Step 16: reinitialize Tresor device"/>
|
|
|
|
<request op="deinitialize" sync="no"/>
|
|
<destruct/>
|
|
<initialize>
|
|
|
|
<virtual-block-device
|
|
nr_of_levels="4"
|
|
nr_of_children="64"
|
|
nr_of_leafs="25600" />
|
|
|
|
<free-tree
|
|
nr_of_levels="4"
|
|
nr_of_children="64"
|
|
nr_of_leafs="25600" />
|
|
|
|
</initialize>
|
|
<construct/>
|
|
}
|
|
if {[benchmark_blk_count] > 0} {
|
|
|
|
append config {
|
|
|
|
<log string="Step 17: do read/write benchmarks"/>
|
|
|
|
<benchmark op="start" label="read initial data in one request"/>
|
|
<request op="read" vba="0" count="} [benchmark_blk_count] {" sync="no"/>
|
|
<benchmark op="stop"/>
|
|
|
|
<benchmark op="start" label="overwrite initial data in one request"/>
|
|
<request op="write" vba="0" count="} [benchmark_blk_count] {" sync="no"/>
|
|
<benchmark op="stop"/>
|
|
|
|
<benchmark op="start" label="overwrite written data in one request"/>
|
|
<request op="write" vba="0" count="} [benchmark_blk_count] {" sync="no"/>
|
|
<benchmark op="stop"/>
|
|
|
|
<benchmark op="start" label="read written data in one request"/>
|
|
<request op="read" vba="0" count="} [benchmark_blk_count] {" sync="no"/>
|
|
<benchmark op="stop"/>
|
|
|
|
<benchmark op="start" label="read written data randomized"/>
|
|
|
|
<request op="read" vba="00001" count="10" sync="no"/>
|
|
<request op="read" vba="00028" count="80" sync="no"/>
|
|
<request op="read" vba="24045" count="50" sync="no"/>
|
|
<request op="read" vba="04441" count="10" sync="no"/>
|
|
<request op="read" vba="14240" count="40" sync="no"/>
|
|
<request op="read" vba="00230" count="80" sync="no"/>
|
|
<request op="read" vba="01673" count="30" sync="no"/>
|
|
<request op="read" vba="21609" count="30" sync="no"/>
|
|
<request op="read" vba="12201" count="10" sync="no"/>
|
|
<request op="read" vba="19601" count="10" sync="no"/>
|
|
<request op="read" vba="08901" count="10" sync="no"/>
|
|
<request op="read" vba="00972" count="20" sync="no"/>
|
|
<request op="read" vba="00097" count="70" sync="no"/>
|
|
<request op="read" vba="05593" count="30" sync="no"/>
|
|
<request op="read" vba="15201" count="10" sync="no"/>
|
|
<request op="read" vba="25237" count="20" sync="no"/>
|
|
<request op="read" vba="03537" count="70" sync="no"/>
|
|
<request op="read" vba="15151" count="10" sync="no"/>
|
|
<request op="read" vba="04374" count="40" sync="no"/>
|
|
<request op="read" vba="05350" count="40" sync="no"/>
|
|
<request op="read" vba="00754" count="40" sync="no"/>
|
|
<request op="read" vba="01729" count="90" sync="no"/>
|
|
<request op="read" vba="11246" count="60" sync="no"/>
|
|
<request op="read" vba="13229" count="90" sync="no"/>
|
|
<request op="read" vba="13001" count="10" sync="no"/>
|
|
<request op="read" vba="00120" count="90" sync="no"/>
|
|
<request op="read" vba="20111" count="10" sync="no"/>
|
|
<request op="read" vba="02451" count="10" sync="no"/>
|
|
<request op="read" vba="14734" count="40" sync="no"/>
|
|
<request op="read" vba="00942" count="20" sync="no"/>
|
|
<request op="read" vba="00091" count="10" sync="no"/>
|
|
<request op="read" vba="23011" count="10" sync="no"/>
|
|
<request op="read" vba="20271" count="50" sync="no"/>
|
|
<request op="read" vba="01283" count="30" sync="no"/>
|
|
<request op="read" vba="12823" count="30" sync="no"/>
|
|
<request op="read" vba="00200" count="50" sync="no"/>
|
|
<request op="read" vba="01234" count="40" sync="no"/>
|
|
<request op="read" vba="17490" count="70" sync="no"/>
|
|
<request op="read" vba="19990" count="20" sync="no"/>
|
|
<request op="read" vba="02190" count="30" sync="no"/>
|
|
<request op="read" vba="00421" count="10" sync="no"/>
|
|
<request op="read" vba="11421" count="10" sync="no"/>
|
|
<request op="read" vba="02481" count="50" sync="no"/>
|
|
<request op="read" vba="23471" count="10" sync="no"/>
|
|
<request op="read" vba="21291" count="40" sync="no"/>
|
|
<request op="read" vba="00212" count="20" sync="no"/>
|
|
<request op="read" vba="14402" count="20" sync="no"/>
|
|
<request op="read" vba="01201" count="10" sync="no"/>
|
|
<request op="read" vba="20975" count="30" sync="no"/>
|
|
<request op="read" vba="13777" count="70" sync="no"/>
|
|
|
|
<request op="read" vba="00100" count="10" sync="no"/>
|
|
<request op="read" vba="00820" count="80" sync="no"/>
|
|
<request op="read" vba="24540" count="50" sync="no"/>
|
|
<request op="read" vba="04144" count="10" sync="no"/>
|
|
<request op="read" vba="14042" count="40" sync="no"/>
|
|
<request op="read" vba="00032" count="80" sync="no"/>
|
|
<request op="read" vba="01376" count="30" sync="no"/>
|
|
<request op="read" vba="21906" count="30" sync="no"/>
|
|
<request op="read" vba="12102" count="10" sync="no"/>
|
|
<request op="read" vba="19106" count="10" sync="no"/>
|
|
<request op="read" vba="08109" count="10" sync="no"/>
|
|
<request op="read" vba="00279" count="20" sync="no"/>
|
|
<request op="read" vba="00790" count="70" sync="no"/>
|
|
<request op="read" vba="05395" count="30" sync="no"/>
|
|
<request op="read" vba="15102" count="10" sync="no"/>
|
|
<request op="read" vba="25032" count="20" sync="no"/>
|
|
<request op="read" vba="03735" count="70" sync="no"/>
|
|
<request op="read" vba="15151" count="10" sync="no"/>
|
|
<request op="read" vba="04473" count="40" sync="no"/>
|
|
<request op="read" vba="05053" count="40" sync="no"/>
|
|
<request op="read" vba="00457" count="40" sync="no"/>
|
|
<request op="read" vba="01927" count="90" sync="no"/>
|
|
<request op="read" vba="11642" count="60" sync="no"/>
|
|
<request op="read" vba="13922" count="90" sync="no"/>
|
|
<request op="read" vba="13100" count="10" sync="no"/>
|
|
<request op="read" vba="00021" count="90" sync="no"/>
|
|
<request op="read" vba="20111" count="10" sync="no"/>
|
|
<request op="read" vba="02154" count="10" sync="no"/>
|
|
<request op="read" vba="14437" count="40" sync="no"/>
|
|
<request op="read" vba="00249" count="20" sync="no"/>
|
|
<request op="read" vba="00190" count="10" sync="no"/>
|
|
<request op="read" vba="23110" count="10" sync="no"/>
|
|
<request op="read" vba="20172" count="50" sync="no"/>
|
|
<request op="read" vba="01382" count="30" sync="no"/>
|
|
<request op="read" vba="12328" count="30" sync="no"/>
|
|
<request op="read" vba="00002" count="50" sync="no"/>
|
|
<request op="read" vba="01432" count="40" sync="no"/>
|
|
<request op="read" vba="17094" count="70" sync="no"/>
|
|
<request op="read" vba="19099" count="20" sync="no"/>
|
|
<request op="read" vba="02091" count="30" sync="no"/>
|
|
<request op="read" vba="00124" count="10" sync="no"/>
|
|
<request op="read" vba="11124" count="10" sync="no"/>
|
|
<request op="read" vba="02184" count="50" sync="no"/>
|
|
<request op="read" vba="23174" count="10" sync="no"/>
|
|
<request op="read" vba="21192" count="40" sync="no"/>
|
|
<request op="read" vba="00212" count="20" sync="no"/>
|
|
<request op="read" vba="14204" count="20" sync="no"/>
|
|
<request op="read" vba="01102" count="10" sync="no"/>
|
|
<request op="read" vba="20579" count="30" sync="no"/>
|
|
<request op="read" vba="13777" count="70" sync="no"/>
|
|
|
|
<request op="read" vba="00010" count="10" sync="no"/>
|
|
<request op="read" vba="02080" count="80" sync="no"/>
|
|
<request op="read" vba="24054" count="50" sync="no"/>
|
|
<request op="read" vba="04414" count="10" sync="no"/>
|
|
<request op="read" vba="14204" count="40" sync="no"/>
|
|
<request op="read" vba="03200" count="80" sync="no"/>
|
|
<request op="read" vba="07631" count="30" sync="no"/>
|
|
<request op="read" vba="20691" count="30" sync="no"/>
|
|
<request op="read" vba="10212" count="10" sync="no"/>
|
|
<request op="read" vba="10619" count="10" sync="no"/>
|
|
<request op="read" vba="00918" count="10" sync="no"/>
|
|
<request op="read" vba="07920" count="20" sync="no"/>
|
|
<request op="read" vba="09070" count="70" sync="no"/>
|
|
<request op="read" vba="09535" count="30" sync="no"/>
|
|
<request op="read" vba="10215" count="10" sync="no"/>
|
|
<request op="read" vba="23275" count="20" sync="no"/>
|
|
<request op="read" vba="03573" count="70" sync="no"/>
|
|
<request op="read" vba="15115" count="10" sync="no"/>
|
|
<request op="read" vba="07344" count="40" sync="no"/>
|
|
<request op="read" vba="05305" count="40" sync="no"/>
|
|
<request op="read" vba="05740" count="40" sync="no"/>
|
|
<request op="read" vba="02791" count="90" sync="no"/>
|
|
<request op="read" vba="14261" count="60" sync="no"/>
|
|
<request op="read" vba="12293" count="90" sync="no"/>
|
|
<request op="read" vba="10013" count="10" sync="no"/>
|
|
<request op="read" vba="02100" count="90" sync="no"/>
|
|
<request op="read" vba="21110" count="10" sync="no"/>
|
|
<request op="read" vba="05412" count="10" sync="no"/>
|
|
<request op="read" vba="13744" count="40" sync="no"/>
|
|
<request op="read" vba="04920" count="20" sync="no"/>
|
|
<request op="read" vba="09010" count="10" sync="no"/>
|
|
<request op="read" vba="21013" count="10" sync="no"/>
|
|
<request op="read" vba="00210" count="50" sync="no"/>
|
|
<request op="read" vba="08231" count="30" sync="no"/>
|
|
<request op="read" vba="12832" count="30" sync="no"/>
|
|
<request op="read" vba="00200" count="50" sync="no"/>
|
|
<request op="read" vba="03241" count="40" sync="no"/>
|
|
<request op="read" vba="19407" count="70" sync="no"/>
|
|
<request op="read" vba="19909" count="20" sync="no"/>
|
|
<request op="read" vba="09102" count="30" sync="no"/>
|
|
<request op="read" vba="02410" count="10" sync="no"/>
|
|
<request op="read" vba="12411" count="10" sync="no"/>
|
|
<request op="read" vba="08412" count="50" sync="no"/>
|
|
<request op="read" vba="22413" count="10" sync="no"/>
|
|
<request op="read" vba="24211" count="40" sync="no"/>
|
|
<request op="read" vba="01220" count="20" sync="no"/>
|
|
<request op="read" vba="10424" count="20" sync="no"/>
|
|
<request op="read" vba="00211" count="10" sync="no"/>
|
|
<request op="read" vba="21950" count="30" sync="no"/>
|
|
<request op="read" vba="17773" count="70" sync="no"/>
|
|
|
|
<request op="read" vba="01000" count="10" sync="no"/>
|
|
<request op="read" vba="08002" count="80" sync="no"/>
|
|
<request op="read" vba="25044" count="50" sync="no"/>
|
|
<request op="read" vba="01444" count="10" sync="no"/>
|
|
<request op="read" vba="10244" count="40" sync="no"/>
|
|
<request op="read" vba="00203" count="80" sync="no"/>
|
|
<request op="read" vba="03617" count="30" sync="no"/>
|
|
<request op="read" vba="23610" count="30" sync="no"/>
|
|
<request op="read" vba="11220" count="10" sync="no"/>
|
|
<request op="read" vba="11690" count="10" sync="no"/>
|
|
<request op="read" vba="01980" count="10" sync="no"/>
|
|
<request op="read" vba="02907" count="20" sync="no"/>
|
|
<request op="read" vba="07009" count="70" sync="no"/>
|
|
<request op="read" vba="03559" count="30" sync="no"/>
|
|
<request op="read" vba="11250" count="10" sync="no"/>
|
|
<request op="read" vba="20253" count="20" sync="no"/>
|
|
<request op="read" vba="07533" count="70" sync="no"/>
|
|
<request op="read" vba="11155" count="10" sync="no"/>
|
|
<request op="read" vba="04347" count="40" sync="no"/>
|
|
<request op="read" vba="00355" count="40" sync="no"/>
|
|
<request op="read" vba="04705" count="40" sync="no"/>
|
|
<request op="read" vba="09712" count="90" sync="no"/>
|
|
<request op="read" vba="16214" count="60" sync="no"/>
|
|
<request op="read" vba="19232" count="90" sync="no"/>
|
|
<request op="read" vba="11030" count="10" sync="no"/>
|
|
<request op="read" vba="00102" count="90" sync="no"/>
|
|
<request op="read" vba="21101" count="10" sync="no"/>
|
|
<request op="read" vba="01425" count="10" sync="no"/>
|
|
<request op="read" vba="14743" count="40" sync="no"/>
|
|
<request op="read" vba="02904" count="20" sync="no"/>
|
|
<request op="read" vba="01009" count="10" sync="no"/>
|
|
<request op="read" vba="21031" count="10" sync="no"/>
|
|
<request op="read" vba="25207" count="50" sync="no"/>
|
|
<request op="read" vba="03218" count="30" sync="no"/>
|
|
<request op="read" vba="13822" count="30" sync="no"/>
|
|
<request op="read" vba="00200" count="50" sync="no"/>
|
|
<request op="read" vba="04213" count="40" sync="no"/>
|
|
<request op="read" vba="10479" count="70" sync="no"/>
|
|
<request op="read" vba="10999" count="20" sync="no"/>
|
|
<request op="read" vba="00129" count="30" sync="no"/>
|
|
<request op="read" vba="01402" count="10" sync="no"/>
|
|
<request op="read" vba="11412" count="10" sync="no"/>
|
|
<request op="read" vba="01428" count="50" sync="no"/>
|
|
<request op="read" vba="21437" count="10" sync="no"/>
|
|
<request op="read" vba="24219" count="40" sync="no"/>
|
|
<request op="read" vba="02201" count="20" sync="no"/>
|
|
<request op="read" vba="12440" count="20" sync="no"/>
|
|
<request op="read" vba="01210" count="10" sync="no"/>
|
|
<request op="read" vba="20907" count="30" sync="no"/>
|
|
<request op="read" vba="17737" count="70" sync="no"/>
|
|
|
|
<benchmark op="stop"/>
|
|
|
|
<benchmark op="start" label="overwrite written data randomized"/>
|
|
|
|
<request op="write" vba="00001" count="10" sync="no"/>
|
|
<request op="write" vba="00028" count="80" sync="no"/>
|
|
<request op="write" vba="24045" count="50" sync="no"/>
|
|
<request op="write" vba="04441" count="10" sync="no"/>
|
|
<request op="write" vba="14240" count="40" sync="no"/>
|
|
<request op="write" vba="00230" count="80" sync="no"/>
|
|
<request op="write" vba="01673" count="30" sync="no"/>
|
|
<request op="write" vba="21609" count="30" sync="no"/>
|
|
<request op="write" vba="12201" count="10" sync="no"/>
|
|
<request op="write" vba="19601" count="10" sync="no"/>
|
|
<request op="write" vba="08901" count="10" sync="no"/>
|
|
<request op="write" vba="00972" count="20" sync="no"/>
|
|
<request op="write" vba="00097" count="70" sync="no"/>
|
|
<request op="write" vba="05593" count="30" sync="no"/>
|
|
<request op="write" vba="15201" count="10" sync="no"/>
|
|
<request op="write" vba="25237" count="20" sync="no"/>
|
|
<request op="write" vba="03537" count="70" sync="no"/>
|
|
<request op="write" vba="15151" count="10" sync="no"/>
|
|
<request op="write" vba="04374" count="40" sync="no"/>
|
|
<request op="write" vba="05350" count="40" sync="no"/>
|
|
<request op="write" vba="00754" count="40" sync="no"/>
|
|
<request op="write" vba="01729" count="90" sync="no"/>
|
|
<request op="write" vba="11246" count="60" sync="no"/>
|
|
<request op="write" vba="13229" count="90" sync="no"/>
|
|
<request op="write" vba="13001" count="10" sync="no"/>
|
|
<request op="write" vba="00120" count="90" sync="no"/>
|
|
<request op="write" vba="20111" count="10" sync="no"/>
|
|
<request op="write" vba="02451" count="10" sync="no"/>
|
|
<request op="write" vba="14734" count="40" sync="no"/>
|
|
<request op="write" vba="00942" count="20" sync="no"/>
|
|
<request op="write" vba="00091" count="10" sync="no"/>
|
|
<request op="write" vba="23011" count="10" sync="no"/>
|
|
<request op="write" vba="20271" count="50" sync="no"/>
|
|
<request op="write" vba="01283" count="30" sync="no"/>
|
|
<request op="write" vba="12823" count="30" sync="no"/>
|
|
<request op="write" vba="00200" count="50" sync="no"/>
|
|
<request op="write" vba="01234" count="40" sync="no"/>
|
|
<request op="write" vba="17490" count="70" sync="no"/>
|
|
<request op="write" vba="19990" count="20" sync="no"/>
|
|
<request op="write" vba="02190" count="30" sync="no"/>
|
|
<request op="write" vba="00421" count="10" sync="no"/>
|
|
<request op="write" vba="11421" count="10" sync="no"/>
|
|
<request op="write" vba="02481" count="50" sync="no"/>
|
|
<request op="write" vba="23471" count="10" sync="no"/>
|
|
<request op="write" vba="21291" count="40" sync="no"/>
|
|
<request op="write" vba="00212" count="20" sync="no"/>
|
|
<request op="write" vba="14402" count="20" sync="no"/>
|
|
<request op="write" vba="01201" count="10" sync="no"/>
|
|
<request op="write" vba="20975" count="30" sync="no"/>
|
|
<request op="write" vba="13777" count="70" sync="no"/>
|
|
|
|
<request op="write" vba="00100" count="10" sync="no"/>
|
|
<request op="write" vba="00820" count="80" sync="no"/>
|
|
<request op="write" vba="24540" count="50" sync="no"/>
|
|
<request op="write" vba="04144" count="10" sync="no"/>
|
|
<request op="write" vba="14042" count="40" sync="no"/>
|
|
<request op="write" vba="00032" count="80" sync="no"/>
|
|
<request op="write" vba="01376" count="30" sync="no"/>
|
|
<request op="write" vba="21906" count="30" sync="no"/>
|
|
<request op="write" vba="12102" count="10" sync="no"/>
|
|
<request op="write" vba="19106" count="10" sync="no"/>
|
|
<request op="write" vba="08109" count="10" sync="no"/>
|
|
<request op="write" vba="00279" count="20" sync="no"/>
|
|
<request op="write" vba="00790" count="70" sync="no"/>
|
|
<request op="write" vba="05395" count="30" sync="no"/>
|
|
<request op="write" vba="15102" count="10" sync="no"/>
|
|
<request op="write" vba="25032" count="20" sync="no"/>
|
|
<request op="write" vba="03735" count="70" sync="no"/>
|
|
<request op="write" vba="15151" count="10" sync="no"/>
|
|
<request op="write" vba="04473" count="40" sync="no"/>
|
|
<request op="write" vba="05053" count="40" sync="no"/>
|
|
<request op="write" vba="00457" count="40" sync="no"/>
|
|
<request op="write" vba="01927" count="90" sync="no"/>
|
|
<request op="write" vba="11642" count="60" sync="no"/>
|
|
<request op="write" vba="13922" count="90" sync="no"/>
|
|
<request op="write" vba="13100" count="10" sync="no"/>
|
|
<request op="write" vba="00021" count="90" sync="no"/>
|
|
<request op="write" vba="20111" count="10" sync="no"/>
|
|
<request op="write" vba="02154" count="10" sync="no"/>
|
|
<request op="write" vba="14437" count="40" sync="no"/>
|
|
<request op="write" vba="00249" count="20" sync="no"/>
|
|
<request op="write" vba="00190" count="10" sync="no"/>
|
|
<request op="write" vba="23110" count="10" sync="no"/>
|
|
<request op="write" vba="20172" count="50" sync="no"/>
|
|
<request op="write" vba="01382" count="30" sync="no"/>
|
|
<request op="write" vba="12328" count="30" sync="no"/>
|
|
<request op="write" vba="00002" count="50" sync="no"/>
|
|
<request op="write" vba="01432" count="40" sync="no"/>
|
|
<request op="write" vba="17094" count="70" sync="no"/>
|
|
<request op="write" vba="19099" count="20" sync="no"/>
|
|
<request op="write" vba="02091" count="30" sync="no"/>
|
|
<request op="write" vba="00124" count="10" sync="no"/>
|
|
<request op="write" vba="11124" count="10" sync="no"/>
|
|
<request op="write" vba="02184" count="50" sync="no"/>
|
|
<request op="write" vba="23174" count="10" sync="no"/>
|
|
<request op="write" vba="21192" count="40" sync="no"/>
|
|
<request op="write" vba="00212" count="20" sync="no"/>
|
|
<request op="write" vba="14204" count="20" sync="no"/>
|
|
<request op="write" vba="01102" count="10" sync="no"/>
|
|
<request op="write" vba="20579" count="30" sync="no"/>
|
|
<request op="write" vba="13777" count="70" sync="no"/>
|
|
|
|
<request op="write" vba="00010" count="10" sync="no"/>
|
|
<request op="write" vba="02080" count="80" sync="no"/>
|
|
<request op="write" vba="24054" count="50" sync="no"/>
|
|
<request op="write" vba="04414" count="10" sync="no"/>
|
|
<request op="write" vba="14204" count="40" sync="no"/>
|
|
<request op="write" vba="03200" count="80" sync="no"/>
|
|
<request op="write" vba="07631" count="30" sync="no"/>
|
|
<request op="write" vba="20691" count="30" sync="no"/>
|
|
<request op="write" vba="10212" count="10" sync="no"/>
|
|
<request op="write" vba="10619" count="10" sync="no"/>
|
|
<request op="write" vba="00918" count="10" sync="no"/>
|
|
<request op="write" vba="07920" count="20" sync="no"/>
|
|
<request op="write" vba="09070" count="70" sync="no"/>
|
|
<request op="write" vba="09535" count="30" sync="no"/>
|
|
<request op="write" vba="10215" count="10" sync="no"/>
|
|
<request op="write" vba="23275" count="20" sync="no"/>
|
|
<request op="write" vba="03573" count="70" sync="no"/>
|
|
<request op="write" vba="15115" count="10" sync="no"/>
|
|
<request op="write" vba="07344" count="40" sync="no"/>
|
|
<request op="write" vba="05305" count="40" sync="no"/>
|
|
<request op="write" vba="05740" count="40" sync="no"/>
|
|
<request op="write" vba="02791" count="90" sync="no"/>
|
|
<request op="write" vba="14261" count="60" sync="no"/>
|
|
<request op="write" vba="12293" count="90" sync="no"/>
|
|
<request op="write" vba="10013" count="10" sync="no"/>
|
|
<request op="write" vba="02100" count="90" sync="no"/>
|
|
<request op="write" vba="21110" count="10" sync="no"/>
|
|
<request op="write" vba="05412" count="10" sync="no"/>
|
|
<request op="write" vba="13744" count="40" sync="no"/>
|
|
<request op="write" vba="04920" count="20" sync="no"/>
|
|
<request op="write" vba="09010" count="10" sync="no"/>
|
|
<request op="write" vba="21013" count="10" sync="no"/>
|
|
<request op="write" vba="00210" count="50" sync="no"/>
|
|
<request op="write" vba="08231" count="30" sync="no"/>
|
|
<request op="write" vba="12832" count="30" sync="no"/>
|
|
<request op="write" vba="00200" count="50" sync="no"/>
|
|
<request op="write" vba="03241" count="40" sync="no"/>
|
|
<request op="write" vba="19407" count="70" sync="no"/>
|
|
<request op="write" vba="19909" count="20" sync="no"/>
|
|
<request op="write" vba="09102" count="30" sync="no"/>
|
|
<request op="write" vba="02410" count="10" sync="no"/>
|
|
<request op="write" vba="12411" count="10" sync="no"/>
|
|
<request op="write" vba="08412" count="50" sync="no"/>
|
|
<request op="write" vba="22413" count="10" sync="no"/>
|
|
<request op="write" vba="24211" count="40" sync="no"/>
|
|
<request op="write" vba="01220" count="20" sync="no"/>
|
|
<request op="write" vba="10424" count="20" sync="no"/>
|
|
<request op="write" vba="00211" count="10" sync="no"/>
|
|
<request op="write" vba="21950" count="30" sync="no"/>
|
|
<request op="write" vba="17773" count="70" sync="no"/>
|
|
|
|
<request op="write" vba="01000" count="10" sync="no"/>
|
|
<request op="write" vba="08002" count="80" sync="no"/>
|
|
<request op="write" vba="25044" count="50" sync="no"/>
|
|
<request op="write" vba="01444" count="10" sync="no"/>
|
|
<request op="write" vba="10244" count="40" sync="no"/>
|
|
<request op="write" vba="00203" count="80" sync="no"/>
|
|
<request op="write" vba="03617" count="30" sync="no"/>
|
|
<request op="write" vba="23610" count="30" sync="no"/>
|
|
<request op="write" vba="11220" count="10" sync="no"/>
|
|
<request op="write" vba="11690" count="10" sync="no"/>
|
|
<request op="write" vba="01980" count="10" sync="no"/>
|
|
<request op="write" vba="02907" count="20" sync="no"/>
|
|
<request op="write" vba="07009" count="70" sync="no"/>
|
|
<request op="write" vba="03559" count="30" sync="no"/>
|
|
<request op="write" vba="11250" count="10" sync="no"/>
|
|
<request op="write" vba="20253" count="20" sync="no"/>
|
|
<request op="write" vba="07533" count="70" sync="no"/>
|
|
<request op="write" vba="11155" count="10" sync="no"/>
|
|
<request op="write" vba="04347" count="40" sync="no"/>
|
|
<request op="write" vba="00355" count="40" sync="no"/>
|
|
<request op="write" vba="04705" count="40" sync="no"/>
|
|
<request op="write" vba="09712" count="90" sync="no"/>
|
|
<request op="write" vba="16214" count="60" sync="no"/>
|
|
<request op="write" vba="19232" count="90" sync="no"/>
|
|
<request op="write" vba="11030" count="10" sync="no"/>
|
|
<request op="write" vba="00102" count="90" sync="no"/>
|
|
<request op="write" vba="21101" count="10" sync="no"/>
|
|
<request op="write" vba="01425" count="10" sync="no"/>
|
|
<request op="write" vba="14743" count="40" sync="no"/>
|
|
<request op="write" vba="02904" count="20" sync="no"/>
|
|
<request op="write" vba="01009" count="10" sync="no"/>
|
|
<request op="write" vba="21031" count="10" sync="no"/>
|
|
<request op="write" vba="25207" count="50" sync="no"/>
|
|
<request op="write" vba="03218" count="30" sync="no"/>
|
|
<request op="write" vba="13822" count="30" sync="no"/>
|
|
<request op="write" vba="00200" count="50" sync="no"/>
|
|
<request op="write" vba="04213" count="40" sync="no"/>
|
|
<request op="write" vba="10479" count="70" sync="no"/>
|
|
<request op="write" vba="10999" count="20" sync="no"/>
|
|
<request op="write" vba="00129" count="30" sync="no"/>
|
|
<request op="write" vba="01402" count="10" sync="no"/>
|
|
<request op="write" vba="11412" count="10" sync="no"/>
|
|
<request op="write" vba="01428" count="50" sync="no"/>
|
|
<request op="write" vba="21437" count="10" sync="no"/>
|
|
<request op="write" vba="24219" count="40" sync="no"/>
|
|
<request op="write" vba="02201" count="20" sync="no"/>
|
|
<request op="write" vba="12440" count="20" sync="no"/>
|
|
<request op="write" vba="01210" count="10" sync="no"/>
|
|
<request op="write" vba="20907" count="30" sync="no"/>
|
|
<request op="write" vba="17737" count="70" sync="no"/>
|
|
|
|
<benchmark op="stop"/>
|
|
<check/>
|
|
}
|
|
|
|
} else {
|
|
|
|
append config {
|
|
|
|
<log string="Step 17: skip because benchmarks are disabled for this platform"/>
|
|
}
|
|
}
|
|
append config {
|
|
|
|
<log string="Step 18: test check-snapshots command"/>
|
|
|
|
<request op="create_snapshot" sync="no" id="13"/>
|
|
<request op="write" vba="17737" count="70" sync="no" salt="8924"/>
|
|
<request op="create_snapshot" sync="no" id="14"/>
|
|
<request op="write" vba="00129" count="30" sync="no" salt="9471"/>
|
|
<request op="create_snapshot" sync="no" id="15"/>
|
|
<check-snapshots/>
|
|
|
|
</commands>
|
|
|
|
</config>
|
|
|
|
<route>
|
|
<service name="File_system" label_last="trust_anchor"> <child name="trust_anchor_fs"/> </service>
|
|
<service name="File_system"> <child name="block_io_fs"/> </service>
|
|
<service name="Terminal"> <child name="log_terminal"/> </service>
|
|
<service name="Timer"> <child name="timer"/> </service>
|
|
<service name="LOG"> <parent/> </service>
|
|
<service name="PD"> <parent/> </service>
|
|
<service name="CPU"> <parent/> </service>
|
|
<service name="ROM"> <parent/> </service>
|
|
</route>
|
|
|
|
</start>
|
|
|
|
</config>
|
|
}
|
|
|
|
install_config $config
|
|
|
|
if {[have_board linux]} {
|
|
|
|
exec rm -rf [lx_local_tresor_image]
|
|
if { [get_cmd_switch --autopilot] } {
|
|
|
|
exec rm -rf [lx_autopilot_tresor_image]
|
|
catch { exec $dd if=/dev/urandom of=[lx_autopilot_tresor_image] bs=1M count=[lx_tresor_image_size_mb] }
|
|
exec ln -sf -T [lx_autopilot_tresor_image] [lx_local_tresor_image]
|
|
|
|
} else {
|
|
|
|
catch { exec $dd if=/dev/urandom of=[lx_local_tresor_image] bs=1M count=[lx_tresor_image_size_mb] }
|
|
}
|
|
}
|
|
|
|
set boot_modules [build_artifacts]
|
|
|
|
lappend_if [have_board linux] boot_modules [tresor_image_name]
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
append qemu_args " -nographic "
|
|
|
|
set test_timeout 100
|
|
if {[benchmark_blk_count] > 0} {
|
|
set test_timeout 300
|
|
}
|
|
run_genode_until "child \"test\" exited with exit value.*\n" $test_timeout
|
|
|
|
if {[have_board linux]} {
|
|
|
|
if { [get_cmd_switch --autopilot] } {
|
|
|
|
exec rm -rf [lx_local_tresor_image]
|
|
exec rm -rf [lx_autopilot_tresor_image]
|
|
}
|
|
}
|
|
|
|
grep_output {\[init\] child "test" exited with exit value}
|
|
compare_output_to {[init] child "test" exited with exit value 0}
|