<runtime ram="64M" caps="1000" binary="init">

	<requires> <timer/> </requires>

	<events>
		<timeout meaning="failed" sec="80"/>
		<log meaning="succeeded">child "block_tester" exited with exit value 0</log>
		<log meaning="failed">Error: </log>
	</events>

	<content>
		<rom label="block_tester"/>
		<rom label="ld.lib.so"/>
		<rom label="vfs"/>
		<rom label="vfs.lib.so"/>
		<rom label="vfs_block"/>
		<rom label="vfs_import.lib.so"/>
	</content>

	<config>
		<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"/>
			<service name="TRACE"/>
			<service name="Timer"/>
		</parent-provides>

		<default-route>
			<any-service> <parent/> <any-child/> </any-service>
		</default-route>

		<default caps="100"/>

		<start name="vfs_block" caps="150">
			<resource name="RAM" quantum="38M"/>
			<provides> <service name="Block"/> </provides>
			<config>
				<vfs>
					<ram/>
					<import>
						<zero name="block_file" size="32M"/>
					</import>
				</vfs>
				<policy label_prefix="block_tester"
				        file="/block_file" block_size="512"
				        writeable="yes"/>
			</config>
			<route>
				<any-service> <parent/> </any-service>
			</route>
		</start>

		<start name="block_tester" caps="200">
			<resource name="RAM" quantum="8M"/>
			<config verbose="no" report="no" log="yes" stop_on_error="no">
				<tests>
					<sequential length="30M" size="4K"   batch="32"/>
					<random     length="30M" size="512K" seed="0xc0ffee"/>
					<ping_pong  length="30M" size="16K"/>
					
					<sequential length="16M" size="64K" batch="32" write="yes"/>
					
					<replay verbose="no" batch="8">
						<request type="read"  lba="0" count="1"/>
						<request type="write" lba="0" count="1"/>
						<request type="read"  lba="2048" count="1016"/>
						<request type="read"  lba="0" count="1"/>
						<request type="write" lba="0" count="1"/>
						<request type="read"  lba="2048" count="1016"/>
						<request type="write" lba="0" count="1"/>
						<request type="sync"  lba="0" count="1"/>

						<request type="read"  lba="4096" count="1"/>
						<request type="write" lba="0" count="1"/>
						<request type="read"  lba="1024" count="2048"/>
						<request type="write" lba="4096" count="2048"/>
						<request type="write" lba="0" count="1"/>
						<request type="write" lba="2048" count="512"/>
						<request type="write" lba="5696" count="1"/>
						<request type="sync"  lba="0" count="1"/>
					</replay>
				</tests>
			</config>
			<route>
				<service name="Block"> <child name="vfs_block"/> </service>
				<any-service> <parent/> <any-child /> </any-service>
			</route>
		</start>

	</config>
</runtime>
