146 lines
3.3 KiB
Plaintext
146 lines
3.3 KiB
Plaintext
#
|
|
# Build
|
|
#
|
|
|
|
set build_components { core init timer
|
|
server/dynamic_rom
|
|
proxy/remote_rom/backend/nic_ip
|
|
app/rom_logger
|
|
drivers/nic
|
|
server/nic_bridge
|
|
}
|
|
|
|
source ${genode_dir}/repos/base/run/platform_drv.inc
|
|
append_platform_drv_build_components
|
|
|
|
build $build_components
|
|
|
|
create_boot_directory
|
|
|
|
#
|
|
# Generate config
|
|
#
|
|
|
|
install_config {
|
|
<config>
|
|
<parent-provides>
|
|
<service name="CAP"/>
|
|
<service name="LOG"/>
|
|
<service name="RM"/>
|
|
<service name="SIGNAL"/>
|
|
<service name="ROM" />
|
|
<service name="RAM" />
|
|
<service name="CPU" />
|
|
<service name="PD" />
|
|
<service name="IO_MEM" />
|
|
<service name="IRQ" />
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
<default caps="100" />
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
<start name="dynamic_rom">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="ROM"/></provides>
|
|
<config verbose="yes">
|
|
<rom name="test">
|
|
<sleep milliseconds="1000" />
|
|
<inline description="disable">
|
|
<test enabled="no"/>
|
|
</inline>
|
|
<sleep milliseconds="5000" />
|
|
<inline description="enable">
|
|
<test enabled="yes"/>
|
|
</inline>
|
|
<sleep milliseconds="10000" />
|
|
<inline description="finished"/>
|
|
</rom>
|
|
</config>
|
|
</start>
|
|
<start name="remote_rom_server">
|
|
<resource name="RAM" quantum="8M"/>
|
|
<route>
|
|
<service name="ROM" label_suffix="test"> <child name="dynamic_rom"/> </service>
|
|
<service name="Nic"> <child name="nic_bridge"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
<config>
|
|
<remote_rom localname="test" name="remote" src="192.168.42.10" dst="192.168.42.11">
|
|
<default>
|
|
<default />
|
|
</default>
|
|
</remote_rom>
|
|
</config>
|
|
</start>
|
|
<start name="remote_rom_client">
|
|
<resource name="RAM" quantum="8M"/>
|
|
<route>
|
|
<service name="Nic"> <child name="nic_bridge"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
<provides><service name="ROM"/></provides>
|
|
<config>
|
|
<remote_rom name="remote" src="192.168.42.11" dst="192.168.42.10">
|
|
<default>
|
|
<default />
|
|
</default>
|
|
</remote_rom>
|
|
</config>
|
|
</start>
|
|
<start name="nic_bridge">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="Nic"/></provides>
|
|
<route>
|
|
<service name="Nic"> <child name="nic_drv"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
<config> <default-policy/> </config>
|
|
</start>
|
|
<start name="nic_drv">
|
|
<binary name="} [nic_drv_binary] {" />
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="Nic"/></provides>
|
|
<config>
|
|
<nic tap="tap1"/>
|
|
</config>
|
|
</start>
|
|
<start name="rom_logger">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<config rom="remote" />
|
|
<route>
|
|
<service name="ROM" label_suffix="remote"> <child name="remote_rom_client"/> </service>
|
|
<any-service> <parent/> </any-service>
|
|
</route>
|
|
</start>
|
|
</config>}
|
|
|
|
#
|
|
# Boot image
|
|
#
|
|
|
|
append boot_modules { core ld.lib.so init timer
|
|
remote_rom_server
|
|
remote_rom_client
|
|
dynamic_rom
|
|
rom_logger
|
|
} [nic_drv_binary] {
|
|
nic_bridge
|
|
}
|
|
|
|
append_platform_drv_boot_modules
|
|
build_boot_image $boot_modules
|
|
|
|
append qemu_args " -nographic "
|
|
|
|
run_genode_until {.*change \(finished\).*} 30
|
|
|
|
grep_output {<test enabled}
|
|
compare_output_to {
|
|
[init -> rom_logger] <test enabled="no"/>
|
|
[init -> rom_logger] <test enabled="yes"/>
|
|
}
|