Replace 'rom_block' with 'vfs_block'

Issue #3781.
This commit is contained in:
Josef Söntgen 2020-06-19 11:37:45 +02:00 committed by Norman Feske
parent 8b590e2330
commit 6fc7ed55cf
18 changed files with 48 additions and 154 deletions

View File

@ -13,7 +13,7 @@ set mkisofs [installed_command mkisofs]
set build_components { set build_components {
core init timer core init timer
server/fs_rom server/fs_rom
server/rom_block server/vfs_block
server/vfs server/vfs
lib/vfs/rump lib/vfs/rump
test/iso test/iso
@ -45,10 +45,16 @@ 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="rom_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 file="fs.iso" block_size="2048"/> <config>
<vfs>
<rom name="fs.iso"/>
</vfs>
<default-policy file="/fs.iso" block_size="2048"
writeable="no"/>
</config>
</start> </start>
<start name="vfs" caps="200"> <start name="vfs" caps="200">
<resource name="RAM" quantum="12M" /> <resource name="RAM" quantum="12M" />
@ -91,7 +97,7 @@ install_config $config
# Boot modules # Boot modules
# #
set boot_modules { set boot_modules {
core ld.lib.so init timer test-iso rom_block core ld.lib.so init timer test-iso vfs_block
rump.lib.so rump_fs.lib.so vfs_rump.lib.so vfs vfs.lib.so rump.lib.so rump_fs.lib.so vfs_rump.lib.so vfs vfs.lib.so
fs.iso fs_rom fs.iso fs_rom
} }

View File

@ -706,7 +706,6 @@ set default_test_pkgs {
test-rm_fault_no_nox test-rm_fault_no_nox
test-rm_nested test-rm_nested
test-rm_stress test-rm_stress
test-rom_block
test-rom_filter test-rom_filter
test-sanitizer test-sanitizer
test-sequence test-sequence

View File

@ -1,6 +1,7 @@
_/src/init _/src/init
_/src/report_rom _/src/report_rom
_/src/part_block _/src/part_block
_/src/rom_block _/src/vfs
_/src/vfs_block
_/src/test-block _/src/test-block
_/raw/test-part_block_gpt _/raw/test-part_block_gpt

View File

@ -1 +1 @@
2020-05-26 c6b4d35bd403a7857edf61cc8b8c68e60e8015f5 2020-06-19-a 7136f025de1367cbe6bbf865df8e7e8d62d5f64e

View File

@ -13,7 +13,8 @@
<content> <content>
<rom label="ld.lib.so"/> <rom label="ld.lib.so"/>
<rom label="rom_block"/> <rom label="vfs_block"/>
<rom label="vfs.lib.so"/>
<rom label="part_block"/> <rom label="part_block"/>
<rom label="test-block-client"/> <rom label="test-block-client"/>
<rom label="report_rom"/> <rom label="report_rom"/>
@ -36,16 +37,21 @@
<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="rom_block"> <start name="vfs_block">
<resource name="RAM" quantum="32M"/> <resource name="RAM" quantum="32M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ata.gpt.raw" block_size="512"/> <config>
<vfs>
<rom name="ata.gpt.raw"/>
</vfs>
<default-policy file="/ata.gpt.raw" block_size="512"/>
</config>
</start> </start>
<start name="part_block"> <start name="part_block">
<resource name="RAM" quantum="10M" /> <resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides> <provides><service name="Block" /></provides>
<route> <route>
<any-service><child name="rom_block"/> <parent/><any-child/></any-service> <any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route> </route>
<config use_gpt="yes"> <config use_gpt="yes">
<report partitions="yes"/> <report partitions="yes"/>

View File

@ -1,6 +1,7 @@
_/src/init _/src/init
_/src/report_rom _/src/report_rom
_/src/part_block _/src/part_block
_/src/rom_block _/src/vfs
_/src/vfs_block
_/src/test-block _/src/test-block
_/raw/test-part_block_mbr _/raw/test-part_block_mbr

View File

@ -1 +1 @@
2020-05-26 f2c0d24b7eb2dc3aa9f826bd022edeb2d7f93055 2020-06-19 7a6099ca1d3592d6f58ac3d242eb1a53e21d49b4

View File

@ -14,7 +14,8 @@
<content> <content>
<rom label="ld.lib.so"/> <rom label="ld.lib.so"/>
<rom label="rom_block"/> <rom label="vfs_block"/>
<rom label="vfs.lib.so"/>
<rom label="part_block"/> <rom label="part_block"/>
<rom label="test-block-client"/> <rom label="test-block-client"/>
<rom label="report_rom"/> <rom label="report_rom"/>
@ -37,16 +38,21 @@
<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="rom_block"> <start name="vfs_block">
<resource name="RAM" quantum="32M"/> <resource name="RAM" quantum="32M"/>
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="ata.mbr.raw" block_size="512"/> <config>
<vfs>
<rom name="ata.mbr.raw"/>
</vfs>
<default-policy file="/ata.mbr.raw" block_size="512"/>
</config>
</start> </start>
<start name="part_block"> <start name="part_block">
<resource name="RAM" quantum="10M" /> <resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides> <provides><service name="Block" /></provides>
<route> <route>
<any-service><child name="rom_block"/> <parent/><any-child/></any-service> <any-service><child name="vfs_block"/> <parent/><any-child/></any-service>
</route> </route>
<config> <config>
<report partitions="yes"/> <report partitions="yes"/>

View File

@ -1 +0,0 @@
Test ROM-file to block-session server.

View File

@ -1,3 +0,0 @@
_/src/init
_/src/rom_block
_/src/test-rom_block

View File

@ -1 +0,0 @@
2020-05-26 ca80a2534b0920f4bc4524afe95e9815e92efd21

View File

@ -1,37 +0,0 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">--- ROM Block test finished ---</log>
<log meaning="failed">Error: </log>
</events>
<content>
<rom label="ld.lib.so"/>
<rom label="test-rom_block"/>
<rom label="rom_block"/>
</content>
<config>
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route>
<any-service> <any-child/> <parent/></any-service>
</default-route>
<default caps="100"/>
<start name="rom_block">
<resource name="RAM" quantum="3M"/>
<provides><service name="Block"/></provides>
<config file="init" block_size="512"/>
</start>
<start name="test-rom_block">
<resource name="RAM" quantum="3M"/>
<config file="init"/>
</start>
</config>
</runtime>

View File

@ -1,2 +0,0 @@
SRC_DIR = src/test/rom_block
include $(GENODE_DIR)/repos/base/recipes/src/content.inc

View File

@ -1 +0,0 @@
2020-05-26 e785d7e4f5c4b2e8cd255cbe5335e42f422a99a1

View File

@ -1,3 +0,0 @@
base
os
block_session

View File

@ -1,78 +0,0 @@
/*
* \brief ROM-file to block-session client test implementation
* \author Stefan Kalkowski
* \author Martin Stein
* \date 2010-07-07
*
* The test program compares the values delivered by the block-service,
* with the original rom-file.
*/
/*
* Copyright (C) 2010-2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
/* Genode includes */
#include <base/allocator_avl.h>
#include <base/heap.h>
#include <base/component.h>
#include <block_session/connection.h>
#include <base/attached_rom_dataspace.h>
using namespace Genode;
struct Main
{
static constexpr Block::sector_t REQ_PARALLEL = 10;
using File_name = String<64>;
using Packet_descriptor = Block::Packet_descriptor;
struct Files_differ : Exception { };
struct Device_not_readable : Exception { };
struct Read_request_failed : Exception { };
Env &env;
Attached_rom_dataspace config { env, "config" };
File_name file_name { config.xml().attribute_value("file", File_name()) };
Heap heap { env.ram(), env.rm() };
Allocator_avl block_alloc { &heap };
Block::Connection<> block { env, &block_alloc };
Attached_rom_dataspace rom { env, file_name.string() };
Main(Env &env) : env(env)
{
log("--- ROM Block test ---");
Block::Session::Tx::Source &src = *block.tx();
Block::Session::Info const info = block.info();
log("We have ", info.block_count, " blocks with a "
"size of ", info.block_size, " bytes");
for (size_t i = 0; i < info.block_count; i += REQ_PARALLEL) {
size_t const cnt = (info.block_count - i > REQ_PARALLEL)
? REQ_PARALLEL : info.block_count - i;
Packet_descriptor pkt(block.alloc_packet(cnt * info.block_size),
Packet_descriptor::READ, i, cnt);
log("Check blocks ", i, "..", i + cnt - 1);
src.submit_packet(pkt);
pkt = src.get_acked_packet();
if (!pkt.succeeded()) {
throw Read_request_failed(); }
char const *rom_src = rom.local_addr<char>() + i * info.block_size;
if (strcmp(rom_src, src.packet_content(pkt), rom.size())) {
throw Files_differ(); }
src.release_packet(pkt);
}
log("--- ROM Block test finished ---");
}
};
void Component::construct(Env &env) { static Main main(env); }

View File

@ -1,3 +0,0 @@
TARGET = test-rom_block
SRC_CC = main.cc
LIBS = base

View File

@ -7,6 +7,7 @@
set use_fs_rump $use_block_vdi set use_fs_rump $use_block_vdi
set use_drv_ahci [expr $use_block_vdi || $use_block_sata] set use_drv_ahci [expr $use_block_vdi || $use_block_sata]
set use_vfs_block [expr $use_block_ram || $use_genode_iso]
create_boot_directory create_boot_directory
@ -69,7 +70,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/vfs_block lappend_if $use_vfs_block 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
@ -78,7 +79,6 @@ lappend_if $use_fancy_stuff build_components app/status_bar
lappend_if $use_fancy_stuff build_components app/launchpad lappend_if $use_fancy_stuff build_components app/launchpad
lappend_if $use_fancy_stuff build_components server/report_rom lappend_if $use_fancy_stuff build_components server/report_rom
lappend_if $use_genode_iso build_components server/iso9660 lappend_if $use_genode_iso build_components server/iso9660
lappend_if $use_genode_iso build_components server/rom_block
lappend_if $use_top build_components app/top lappend_if $use_top build_components app/top
append_platform_drv_build_components append_platform_drv_build_components
@ -306,17 +306,22 @@ append_if $use_block_vdi config {
</start>} </start>}
append_if $use_genode_iso config { append_if $use_genode_iso config {
<start name="rom_block" priority="-1"> <start name="vfs_block" priority="-1">
<resource name="RAM" quantum="16M" /> <resource name="RAM" quantum="16M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
<config file="genode.iso" block_size="2048"/> <config>
<vfs>
<rom name="genode.iso"/>
</vfs>
<default-policy file="/genode.iso" block_size="2048"/>
</config>
</start> </start>
<start name="iso9660" priority="-1"> <start name="iso9660" priority="-1">
<resource name="RAM" quantum="16M"/> <resource name="RAM" quantum="16M"/>
<provides><service name="ROM"/></provides> <provides><service name="ROM"/></provides>
<route> <route>
<service name="Block"><child name="rom_block"/></service> <service name="Block"><child name="vfs_block"/></service>
<any-service><parent/></any-service> <any-service><parent/></any-service>
</route> </route>
</start>} </start>}
@ -533,8 +538,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 vfs_block lappend_if $use_vfs_block boot_modules vfs_block
lappend_if $use_block_ram boot_modules vfs.lib.so lappend_if $use_vfs_block 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
@ -545,7 +550,6 @@ lappend_if $use_fancy_stuff boot_modules launchpad
lappend_if $use_fancy_stuff boot_modules launchpad-config lappend_if $use_fancy_stuff boot_modules launchpad-config
lappend_if $use_fancy_stuff boot_modules report_rom lappend_if $use_fancy_stuff boot_modules report_rom
lappend_if $use_genode_iso boot_modules rom_block
lappend_if $use_genode_iso boot_modules iso9660 lappend_if $use_genode_iso boot_modules iso9660
lappend_if $use_genode_iso boot_modules genode.iso lappend_if $use_genode_iso boot_modules genode.iso