Replace 'ram_block' with 'vfs_block'

Issue #3781.
This commit is contained in:
Josef Söntgen 2020-06-18 16:27:10 +02:00 committed by Norman Feske
parent e5b00d89fb
commit ec711b008e
22 changed files with 286 additions and 102 deletions

View File

@ -6,9 +6,10 @@ set build_components {
app/rom_logger app/rom_logger
app/rom_to_file app/rom_to_file
lib/vfs/rump lib/vfs/rump
lib/vfs/import
server/dynamic_rom server/dynamic_rom
server/fs_rom server/fs_rom
server/ram_block server/vfs_block
server/vfs server/vfs
} }
@ -45,10 +46,19 @@ append config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="16M" /> <resource name="RAM" quantum="11M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ext2.img" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="ext2.img"/>
</import>
</vfs>
<default-policy file="ext2.img" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs" caps="256"> <start name="vfs" caps="256">
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
@ -123,7 +133,7 @@ set boot_modules {
dynamic_rom dynamic_rom
ext2.img ext2.img
fs_rom fs_rom
ram_block vfs_block
rom_logger rom_logger
rom_to_file rom_to_file
rump_fs.lib.so rump_fs.lib.so
@ -132,6 +142,7 @@ set boot_modules {
vfs vfs
vfs.lib.so vfs.lib.so
vfs_rump.lib.so vfs_rump.lib.so
vfs_import.lib.so
} }
build_boot_image $boot_modules build_boot_image $boot_modules

View File

@ -13,9 +13,10 @@ set dd [installed_command dd]
# #
set build_components { set build_components {
core init timer core init timer
server/ram_block server/vfs_block
server/vfs server/vfs
lib/vfs/rump lib/vfs/rump
lib/vfs/import
test/libc_vfs test/libc_vfs
} }
@ -52,10 +53,19 @@ append config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="ram_block" caps="120"> <start name="vfs_block" caps="110">
<resource name="RAM" quantum="20M"/> <resource name="RAM" quantum="20M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ext2.raw" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="ext2.raw"/>
</import>
</vfs>
<default-policy root="/" file="ext2.raw" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs" caps="200"> <start name="vfs" caps="200">
<resource name="RAM" quantum="16M" /> <resource name="RAM" quantum="16M" />
@ -85,15 +95,15 @@ install_config $config
# generic modules # generic modules
set boot_modules { set boot_modules {
core ld.lib.so init timer test-libc_vfs ram_block core ld.lib.so init timer test-libc_vfs vfs_block
rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so
ext2.raw libc.lib.so vfs.lib.so ext2.raw libc.lib.so vfs.lib.so vfs_import.lib.so
} }
build_boot_image $boot_modules build_boot_image $boot_modules
append qemu_args " -nographic" append qemu_args " -nographic"
run_genode_until {.*child "test-libc_vfs" exited with exit value 0.*} 60 run_genode_until {.*child "test-libc_vfs" exited with exit value 0.*} 80
exec rm -f bin/ext2.raw exec rm -f bin/ext2.raw

View File

@ -13,9 +13,10 @@ set dd [installed_command dd]
# #
set build_components { set build_components {
core init timer core init timer
server/ram_block server/vfs_block
server/vfs server/vfs
lib/vfs/rump lib/vfs/rump
lib/vfs/import
test/libc_vfs test/libc_vfs
} }
@ -52,10 +53,19 @@ append config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="20M"/> <resource name="RAM" quantum="17M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="fs.raw" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="fs.raw"/>
</import>
</vfs>
<default-policy root="/" file="fs.raw" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs" caps="200"> <start name="vfs" caps="200">
<resource name="RAM" quantum="10M" /> <resource name="RAM" quantum="10M" />
@ -87,9 +97,9 @@ install_config $config
# generic modules # generic modules
set boot_modules { set boot_modules {
core ld.lib.so init timer test-libc_vfs ram_block core ld.lib.so init timer test-libc_vfs vfs_block
rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so
fs.raw libc.lib.so vfs.lib.so fs.raw libc.lib.so vfs.lib.so vfs_import.lib.so
} }
build_boot_image $boot_modules build_boot_image $boot_modules

View File

@ -10,7 +10,15 @@
set mke2fs [installed_command mke2fs] set mke2fs [installed_command mke2fs]
set dd [installed_command dd] set dd [installed_command dd]
build "core init timer test/vfs_stress server/ram_block lib/vfs/rump" set build_components {
core init timer
test/vfs_stress
server/vfs_block
lib/vfs/rump
lib/vfs/import
}
build $build_components
# #
# Build EXT2-file-system image # Build EXT2-file-system image
@ -39,10 +47,19 @@ install_config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="24M"/> <resource name="RAM" quantum="20M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ext2.raw" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="ext2.raw"/>
</import>
</vfs>
<default-policy root="/" file="ext2.raw" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs_stress" caps="200"> <start name="vfs_stress" caps="200">
<resource name="RAM" quantum="32M"/> <resource name="RAM" quantum="32M"/>
@ -56,8 +73,8 @@ install_config {
set boot_modules { set boot_modules {
core init ld.lib.so timer vfs_stress core init ld.lib.so timer vfs_stress
rump.lib.so rump_fs.lib.so rump.lib.so rump_fs.lib.so
vfs.lib.so vfs_rump.lib.so vfs.lib.so vfs_rump.lib.so vfs_import.lib.so
ram_block ext2.raw vfs_block ext2.raw
} }
build_boot_image $boot_modules build_boot_image $boot_modules

View File

@ -10,7 +10,17 @@
set mke2fs [installed_command mke2fs] set mke2fs [installed_command mke2fs]
set dd [installed_command dd] set dd [installed_command dd]
build "core init timer test/vfs_stress server/ram_block server/vfs lib/vfs/rump" set build_components {
core init timer
test/vfs_stress
server/vfs
server/vfs_block
lib/vfs/rump
lib/vfs/import
}
build $build_components
# #
# Build EXT2-file-system image # Build EXT2-file-system image
@ -45,10 +55,19 @@ install_config {
<vfs> <fs/> </vfs> <vfs> <fs/> </vfs>
</config> </config>
</start> </start>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="24M"/> <resource name="RAM" quantum="34M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ext2.raw" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="ext2.raw"/>
</import>
</vfs>
<default-policy root="/" file="ext2.raw" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs" caps="200"> <start name="vfs" caps="200">
<resource name="RAM" quantum="24M"/> <resource name="RAM" quantum="24M"/>
@ -64,7 +83,7 @@ install_config {
set boot_modules { set boot_modules {
core init ld.lib.so timer vfs_stress core init ld.lib.so timer vfs_stress
rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so rump.lib.so rump_fs.lib.so vfs vfs_rump.lib.so
ram_block ext2.raw vfs.lib.so vfs_block ext2.raw vfs.lib.so vfs_import.lib.so
} }
build_boot_image $boot_modules build_boot_image $boot_modules

View File

@ -23,7 +23,7 @@ import_from_depot [depot_user]/src/[base_src] \
[depot_user]/src/rom_filter \ [depot_user]/src/rom_filter \
[depot_user]/src/terminal \ [depot_user]/src/terminal \
[depot_user]/src/posix \ [depot_user]/src/posix \
[depot_user]/src/ram_block \ [depot_user]/src/vfs_block \
[depot_user]/src/part_block \ [depot_user]/src/part_block \
[depot_user]/src/rump \ [depot_user]/src/rump \
[depot_user]/src/ncurses \ [depot_user]/src/ncurses \
@ -225,10 +225,19 @@ install_config {
</start> </start>
<start name="ahci-2"> <start name="ahci-2">
<binary name="ram_block"/> <binary name="vfs_block"/>
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
<config nofile="ahci-1.img" size="8M" block_size="512"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config>
<vfs>
<ram/>
<import>
<zero name="block_file" size="8M"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="leitzentrale" caps="2300"> <start name="leitzentrale" caps="2300">

View File

@ -1,5 +1,6 @@
_/src/init _/src/init
_/src/test-libc_vfs_block _/src/test-libc_vfs_block
_/src/ram_block _/src/vfs_block
_/src/libc _/src/libc
_/src/vfs _/src/vfs
_/src/vfs_import

View File

@ -1 +1 @@
2020-05-26 31951cde4980b1e6bc973d218501209b7be7356d 2020-06-18 c6dee9f5b822b747c80ba7867d9cf1f44b78f464

View File

@ -10,7 +10,8 @@
<rom label="ld.lib.so"/> <rom label="ld.lib.so"/>
<rom label="libc.lib.so"/> <rom label="libc.lib.so"/>
<rom label="vfs.lib.so"/> <rom label="vfs.lib.so"/>
<rom label="ram_block"/> <rom label="vfs_import.lib.so"/>
<rom label="vfs_block"/>
<rom label="test-libc_vfs_block"/> <rom label="test-libc_vfs_block"/>
</content> </content>
@ -26,10 +27,19 @@
<any-service> <parent/> <any-child/> </any-service> <any-service> <parent/> <any-child/> </any-service>
</default-route> </default-route>
<default caps="100"/> <default caps="100"/>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="2M"/> <resource name="RAM" quantum="2M"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config size="16K" block_size="4096"/> <config>
<vfs>
<ram/>
<import>
<zero name="block_file" size="16K"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="4096"
writeable="yes"/>
</config>
</start> </start>
<start name="test-libc_vfs_block"> <start name="test-libc_vfs_block">
<resource name="RAM" quantum="4M"/> <resource name="RAM" quantum="4M"/>

View File

@ -1,6 +1,8 @@
_/src/init _/src/init
_/src/nic_loopback _/src/nic_loopback
_/src/ram_block _/src/vfs_block
_/src/sequence _/src/sequence
_/src/solo5 _/src/solo5
_/src/test-solo5 _/src/test-solo5
_/src/vfs
_/src/vfs_import

View File

@ -1 +1 @@
2020-05-26 af675f815ed7e779e69b1facd28d41957bc0e3d0 2020-06-18-b 32b32ac1918d2a2aebb7636e6faae4ea958b5eeb

View File

@ -1,4 +1,4 @@
<runtime ram="32M" caps="1000" binary="init"> <runtime ram="40M" caps="1000" binary="init">
<events> <events>
<timeout meaning="failed" sec="60" /> <timeout meaning="failed" sec="60" />
@ -11,7 +11,6 @@
<content> <content>
<rom label="ld.lib.so"/> <rom label="ld.lib.so"/>
<rom label="nic_loopback"/> <rom label="nic_loopback"/>
<rom label="ram_block"/>
<rom label="sequence"/> <rom label="sequence"/>
<rom label="sequence"/> <rom label="sequence"/>
<rom label="solo5.lib.so"/> <rom label="solo5.lib.so"/>
@ -21,6 +20,9 @@
<rom label="solo5-test_hello"/> <rom label="solo5-test_hello"/>
<rom label="solo5-test_quiet"/> <rom label="solo5-test_quiet"/>
<rom label="test-solo5"/> <rom label="test-solo5"/>
<rom label="vfs.lib.so"/>
<rom label="vfs_block"/>
<rom label="vfs_import.lib.so"/>
</content> </content>
<config> <config>
@ -39,10 +41,19 @@
<provides> <service name="Nic"/> </provides> <provides> <service name="Nic"/> </provides>
</start> </start>
<start name="ram_block" caps="96"> <start name="vfs_block" caps="96">
<resource name="RAM" quantum="9M"/> <resource name="RAM" quantum="17M"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config size="8M" block_size="4096"/> <config>
<vfs>
<ram/>
<import>
<zero name="block_file" size="8M"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="4096"
writeable="yes"/>
</config>
</start> </start>
<start name="test" caps="256"> <start name="test" caps="256">

View File

@ -15,10 +15,10 @@ set use_sd_card_drv [expr [have_spec pbxa9]]
# use AHCI on x86 # use AHCI on x86
set use_ahci [expr [have_spec x86] && ![have_spec linux]] set use_ahci [expr [have_spec x86] && ![have_spec linux]]
# use ram_block on Linux # use vfs_block on Linux
set use_ram_block [have_spec linux] set use_vfs_block [have_spec linux]
if {[expr ![have_include "power_on/qemu"] && !$use_ram_block]} { if {[expr ![have_include "power_on/qemu"] && !$use_vfs_block]} {
puts "\nPlease setup your native sd or hard drive. Remove this fail stop"; puts "\nPlease setup your native sd or hard drive. Remove this fail stop";
puts "check when you have prepared your native environment.\n"; puts "check when you have prepared your native environment.\n";
exit 0 exit 0
@ -43,7 +43,8 @@ create_boot_directory
set depot_pkgs "[depot_user]/src/[base_src] [depot_user]/src/init" set depot_pkgs "[depot_user]/src/[base_src] [depot_user]/src/init"
lappend_if $use_ahci depot_pkgs [depot_user]/src/ahci_drv lappend_if $use_ahci depot_pkgs [depot_user]/src/ahci_drv
lappend_if $use_ram_block depot_pkgs [depot_user]/src/ram_block lappend_if $use_vfs_block depot_pkgs [depot_user]/src/vfs_block
lappend_if $use_vfs_block depot_pkgs [depot_user]/src/vfs_import
import_from_depot {*}$depot_pkgs import_from_depot {*}$depot_pkgs
@ -100,11 +101,20 @@ append_if $use_sd_card_drv config {
</start> </start>
} }
append_if $use_ram_block config { append_if $use_vfs_block config {
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="4M" /> <resource name="RAM" quantum="4M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config size="1M" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<zero name="block_file" size="1M"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append config { append config {
@ -130,7 +140,7 @@ set boot_modules {
} }
lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv
lappend_if $use_ram_block boot_modules test.hda lappend_if $use_vfs_block boot_modules vfs_import.lib.so
append_platform_drv_boot_modules append_platform_drv_boot_modules

View File

@ -6,9 +6,10 @@ set build_components {
app/rom_logger app/rom_logger
app/rom_to_file app/rom_to_file
lib/vfs/fatfs lib/vfs/fatfs
lib/vfs/import
server/dynamic_rom server/dynamic_rom
server/fs_rom server/fs_rom
server/ram_block server/vfs_block
server/vfs server/vfs
} }
@ -43,10 +44,19 @@ append config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="8M" /> <resource name="RAM" quantum="8M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="fat.img" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="fat.img"/>
</import>
</vfs>
<default-policy file="/fat.img" block_size="512"
writeable="yes"/>
</config>
</start> </start>
<start name="vfs"> <start name="vfs">
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
@ -121,13 +131,14 @@ set boot_modules {
dynamic_rom dynamic_rom
fat.img fat.img
fs_rom fs_rom
ram_block vfs_block
rom_logger rom_logger
rom_to_file rom_to_file
timer timer
vfs vfs
vfs.lib.so vfs.lib.so
vfs_fatfs.lib.so vfs_fatfs.lib.so
vfs_import.lib.so
} }
build_boot_image $boot_modules build_boot_image $boot_modules

View File

@ -1,8 +1,8 @@
set use_sd_card_drv [expr [have_spec pbxa9]] set use_sd_card_drv [expr [have_spec pbxa9]]
set use_ahci_drv [expr [have_spec x86] && ![have_spec linux]] set use_ahci_drv [expr [have_spec x86] && ![have_spec linux]]
set use_ram_block [have_spec linux] set use_vfs_block [have_spec linux]
if {[expr ![have_include "power_on/qemu"] && !$use_ram_block]} { if {[expr ![have_include "power_on/qemu"] && !$use_vfs_block]} {
puts "\nPlease setup your native sd or hard drive. Remove this fail stop"; puts "\nPlease setup your native sd or hard drive. Remove this fail stop";
puts "check when you have prepared your native environment.\n"; puts "check when you have prepared your native environment.\n";
exit 0 exit 0
@ -20,7 +20,8 @@ set build_components {
lappend_if $use_ahci_drv build_components drivers/ahci lappend_if $use_ahci_drv build_components drivers/ahci
lappend_if $use_sd_card_drv build_components drivers/sd_card lappend_if $use_sd_card_drv build_components drivers/sd_card
lappend_if $use_ram_block build_components server/ram_block lappend_if $use_vfs_block build_components server/vfs_block
lappend_if $use_vfs_block build_components lib/vfs/import
source ${genode_dir}/repos/base/run/platform_drv.inc source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components append_platform_drv_build_components
@ -84,11 +85,20 @@ append_if $use_sd_card_drv config {
</start> </start>
} }
append_if $use_ram_block config { append_if $use_vfs_block config {
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="128M" /> <resource name="RAM" quantum="68M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="test.hda" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<zero name="test.hda" size="64M"/>
</import>
</vfs>
<default-policy file="/test.hda" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append config { append config {
@ -110,8 +120,8 @@ set boot_modules {
lappend_if $use_ahci_drv boot_modules ahci_drv lappend_if $use_ahci_drv boot_modules ahci_drv
lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv
lappend_if $use_ram_block boot_modules ram_block lappend_if $use_vfs_block boot_modules vfs_block
lappend_if $use_ram_block boot_modules test.hda lappend_if $use_vfs_block boot_modules vfs_import.lib.so
append_platform_drv_boot_modules append_platform_drv_boot_modules

View File

@ -15,13 +15,13 @@ set use_sd_card_drv [expr [have_include "power_on/qemu"] && [have_spec pbxa9]]
# use AHCI on x86 # use AHCI on x86
set use_ahci [expr [have_spec x86] && ![have_spec linux]] set use_ahci [expr [have_spec x86] && ![have_spec linux]]
# use ram_block on Linux and Qemu/rpi3 # use vfs_block on Linux and Qemu/rpi3
set use_ram_block [expr [have_spec linux] || [expr [have_include "power_on/qemu"] && [have_spec rpi3]]] set use_vfs_block [expr [have_spec linux] || [expr [have_include "power_on/qemu"] && [have_spec rpi3]]]
if {[catch { exec which $mkfs_cmd } ]} { if {[catch { exec which $mkfs_cmd } ]} {
puts stderr "Error: $mkfs_cmd not installed, aborting test"; exit } puts stderr "Error: $mkfs_cmd not installed, aborting test"; exit }
if {[expr ![have_include "power_on/qemu"] && !$use_ram_block]} { if {[expr ![have_include "power_on/qemu"] && !$use_vfs_block]} {
puts "\nPlease setup your native sd or hard drive. Remove this fail stop"; puts "\nPlease setup your native sd or hard drive. Remove this fail stop";
puts "check when you have prepared your native environment.\n"; puts "check when you have prepared your native environment.\n";
exit 0 exit 0
@ -40,7 +40,8 @@ lappend build_components test/libc_$filesystem
lappend_if $use_ahci build_components drivers/ahci lappend_if $use_ahci build_components drivers/ahci
lappend_if $use_sd_card_drv build_components drivers/sd_card lappend_if $use_sd_card_drv build_components drivers/sd_card
lappend_if $use_ram_block build_components server/ram_block lappend_if $use_vfs_block build_components server/vfs_block
lappend_if $use_vfs_block build_components lib/vfs/import
source ${genode_dir}/repos/base/run/platform_drv.inc source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components append_platform_drv_build_components
@ -116,11 +117,20 @@ append_if $use_sd_card_drv config {
</start> </start>
} }
append_if $use_ram_block config { append_if $use_vfs_block config {
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="128M" /> <resource name="RAM" quantum="68M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="test.hda" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="test.hda"/>
</import>
</vfs>
<default-policy file="/test.hda" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append config { append config {
@ -158,8 +168,9 @@ append boot_modules libc_$filesystem.lib.so
lappend_if $use_ahci boot_modules ahci_drv lappend_if $use_ahci boot_modules ahci_drv
lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv
lappend_if $use_ram_block boot_modules ram_block lappend_if $use_vfs_block boot_modules vfs_block
lappend_if $use_ram_block boot_modules test.hda lappend_if $use_vfs_block boot_modules test.hda
lappend_if $use_vfs_block boot_modules vfs_import.lib.so
append_platform_drv_boot_modules append_platform_drv_boot_modules

View File

@ -25,13 +25,13 @@ set use_sd_card_drv [expr [have_spec pbxa9]]
# use AHCI on x86 # use AHCI on x86
set use_ahci [expr [have_spec x86] && ![have_spec linux]] set use_ahci [expr [have_spec x86] && ![have_spec linux]]
# use ram_block on Linux # use vfs_block on Linux
set use_ram_block [expr [have_spec linux] || [have_spec rpi3]] set use_vfs_block [expr [have_spec linux] || [have_spec rpi3]]
if {[catch { exec which $mkfs_cmd } ]} { if {[catch { exec which $mkfs_cmd } ]} {
puts stderr "Error: $mkfs_cmd not installed, aborting test"; exit } puts stderr "Error: $mkfs_cmd not installed, aborting test"; exit }
if {[expr ![have_include "power_on/qemu"] && !$use_ram_block]} { if {[expr ![have_include "power_on/qemu"] && !$use_vfs_block]} {
puts "\nPlease setup your native sd or hard drive. Remove this fail stop"; puts "\nPlease setup your native sd or hard drive. Remove this fail stop";
puts "check when you have prepared your native environment.\n"; puts "check when you have prepared your native environment.\n";
exit 0 exit 0
@ -57,8 +57,9 @@ create_boot_directory
set depot_pkgs "[depot_user]/src/[base_src] [depot_user]/src/init" set depot_pkgs "[depot_user]/src/[base_src] [depot_user]/src/init"
lappend_if $use_ahci depot_pkgs [depot_user]/src/ahci_drv lappend_if $use_ahci depot_pkgs [depot_user]/src/ahci_drv
lappend_if $use_ram_block depot_pkgs [depot_user]/src/ram_block lappend_if $use_vfs_block depot_pkgs [depot_user]/src/vfs_block
lappend_if $use_vfs_server depot_pkgs [depot_user]/src/vfs lappend_if $use_vfs_server depot_pkgs [depot_user]/src/vfs
lappend_if $use_vfs_block depot_pkgs [depot_user]/src/vfs_import
import_from_depot {*}$depot_pkgs import_from_depot {*}$depot_pkgs
@ -128,11 +129,20 @@ append_if $use_sd_card_drv config {
</start> </start>
} }
append_if $use_ram_block config { append_if $use_vfs_block config {
<start name="ram_block"> <start name="vfs_block" caps="150">
<resource name="RAM" quantum="128M" /> <resource name="RAM" quantum="68M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="test.hda" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="test.hda"/>
</import>
</vfs>
<default-policy file="/test.hda" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append_if $use_vfs_server config " append_if $use_vfs_server config "
@ -179,7 +189,7 @@ append boot_modules {
lappend boot_modules {*}$test_boot_modules lappend boot_modules {*}$test_boot_modules
lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv
lappend_if $use_ram_block boot_modules test.hda lappend_if $use_vfs_block boot_modules test.hda
append_platform_drv_boot_modules append_platform_drv_boot_modules

View File

@ -6,7 +6,7 @@
set use_sd_card_drv [expr [have_spec pbxa9]] set use_sd_card_drv [expr [have_spec pbxa9]]
set use_ahci_drv [expr [have_spec x86] && ![have_spec linux]] set use_ahci_drv [expr [have_spec x86] && ![have_spec linux]]
set use_ram_block [have_spec linux] set use_vfs_block [have_spec linux]
set mkfs [installed_command $mkfs_cmd] set mkfs [installed_command $mkfs_cmd]
if {[expr ![have_spec pbxa9] && ![have_spec x86]]} { if {[expr ![have_spec pbxa9] && ![have_spec x86]]} {
@ -25,7 +25,7 @@ lappend build_components $build_component
lappend_if $use_ahci_drv build_components drivers/ahci lappend_if $use_ahci_drv build_components drivers/ahci
lappend_if $use_sd_card_drv build_components drivers/sd_card lappend_if $use_sd_card_drv build_components drivers/sd_card
lappend_if $use_ram_block build_components server/ram_block lappend_if $use_vfs_block build_components server/vfs_block
source ${genode_dir}/repos/base/run/platform_drv.inc source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components append_platform_drv_build_components
@ -105,11 +105,20 @@ append_if $use_sd_card_drv config {
</start> </start>
} }
append_if $use_ram_block config { append_if $use_vfs_block config {
<start name="ram_block"> <start name="vfs_block">
<resource name="RAM" quantum="128M" /> <resource name="RAM" quantum="128M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="test.hda" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="test.hda"/>
</import>
</vfs>
<default-policy file="/test.hda" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append config { append config {
@ -133,8 +142,10 @@ lappend boot_modules $binary
lappend_if $use_ahci_drv boot_modules ahci_drv lappend_if $use_ahci_drv boot_modules ahci_drv
lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv lappend_if $use_sd_card_drv boot_modules pbxa9_sd_card_drv
lappend_if $use_ram_block boot_modules ram_block lappend_if $use_vfs_block boot_modules vfs_import.lib.so
lappend_if $use_ram_block boot_modules test.hda lappend_if $use_vfs_block boot_modules vfs_block
lappend_if $use_vfs_block boot_modules test.hda
lappend_if $use_vfs_block boot_modules vfs_import.lib.so
append_platform_drv_boot_modules append_platform_drv_boot_modules

View File

@ -14,9 +14,11 @@ import_from_depot \
[depot_user]/src/[base_src] \ [depot_user]/src/[base_src] \
[depot_user]/src/init \ [depot_user]/src/init \
[depot_user]/src/nic_loopback \ [depot_user]/src/nic_loopback \
[depot_user]/src/ram_block \ [depot_user]/src/vfs_block \
[depot_user]/src/rtc_drv \ [depot_user]/src/rtc_drv \
[depot_user]/src/sequence \ [depot_user]/src/sequence \
[depot_user]/src/vfs \
[depot_user]/src/vfs_import
append config { append config {
<config> <config>
@ -48,10 +50,19 @@ append config {
<provides> <service name="Nic"/> </provides> <provides> <service name="Nic"/> </provides>
</start> </start>
<start name="ram_block" caps="96"> <start name="vfs_block" caps="96">
<resource name="RAM" quantum="40M"/> <resource name="RAM" quantum="40M"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config size="32M" block_size="4096"/> <config>
<vfs>
<ram/>
<import>
<zero name="block_file" size="32M"/>
</import>
</vfs>
<default-policy file="/block_file" block_size="4096"
writeable="yes"/>
</config>
</start> </start>
<start name="test" caps="256"> <start name="test" caps="256">

View File

@ -1 +1 @@
2020-06-16-j b4b7ecfb2b9e1ca7e6e8de471b29fc572658816f 2020-06-25 6bf691c90176270767ae008db257d18f3850928a

View File

@ -3,7 +3,7 @@
<requires> <timer/> </requires> <requires> <timer/> </requires>
<events> <events>
<timeout meaning="failed" sec="60"/> <timeout meaning="failed" sec="80"/>
<log meaning="succeeded">child "block_tester" exited with exit value 0</log> <log meaning="succeeded">child "block_tester" exited with exit value 0</log>
<log meaning="failed">Error: </log> <log meaning="failed">Error: </log>
</events> </events>
@ -37,7 +37,7 @@
<default caps="100"/> <default caps="100"/>
<start name="vfs_block"> <start name="vfs_block" caps="150">
<resource name="RAM" quantum="38M"/> <resource name="RAM" quantum="38M"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config> <config>

View File

@ -69,7 +69,7 @@ if {$use_fancy_stuff} { set use_framebuffer 1 }
lappend_if $use_block_vdi build_components server/vdi_block lappend_if $use_block_vdi build_components server/vdi_block
lappend_if $use_usb build_components drivers/usb lappend_if $use_usb build_components drivers/usb
lappend_if $use_block_ram build_components server/ram_block lappend_if $use_block_ram build_components server/vfs_block
lappend_if $use_drv_ahci build_components drivers/ahci lappend_if $use_drv_ahci build_components drivers/ahci
lappend_if $use_nic_session build_components drivers/nic lappend_if $use_nic_session build_components drivers/nic
lappend_if $use_nic_bridge build_components server/nic_bridge lappend_if $use_nic_bridge build_components server/nic_bridge
@ -252,10 +252,19 @@ append_if $use_part_block config {
</start>} </start>}
append_if $use_block_ram config { append_if $use_block_ram config {
<start name="ram_block" priority="-1"> <start name="vfs_block" priority="-1">
<resource name="RAM" quantum="262M" /> <resource name="RAM" quantum="266M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="seoul-disc.raw" block_size="512"/> <config>
<vfs>
<ram/>
<import>
<rom name="seoul-disc.raw"/>
</import>
</vfs>
<default-policy file="/seoul-disc.raw" block_size="512"
writeable="yes"/>
</config>
</start>} </start>}
append_if $use_fs_rump config { append_if $use_fs_rump config {
@ -524,7 +533,8 @@ set boot_modules {
lappend_if $use_block_vdi boot_modules vdi_block lappend_if $use_block_vdi boot_modules vdi_block
lappend_if [expr !$use_usb] boot_modules ps2_drv lappend_if [expr !$use_usb] boot_modules ps2_drv
lappend_if $use_usb boot_modules usb_drv lappend_if $use_usb boot_modules usb_drv
lappend_if $use_block_ram boot_modules ram_block lappend_if $use_block_ram boot_modules vfs_block
lappend_if $use_block_ram boot_modules vfs.lib.so
lappend_if $use_drv_ahci boot_modules ahci_drv lappend_if $use_drv_ahci boot_modules ahci_drv
lappend_if $use_nic_session boot_modules ipxe_nic_drv lappend_if $use_nic_session boot_modules ipxe_nic_drv
lappend_if $use_nic_bridge boot_modules nic_bridge lappend_if $use_nic_bridge boot_modules nic_bridge