Created
January 16, 2013 12:07
-
-
Save iloskutov/4546722 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
assert_spec foc | |
# | |
# Build | |
# | |
set build_components { | |
core | |
init | |
drivers/timer | |
drivers/uart | |
drivers/framebuffer | |
l4linux } | |
lappend_if [have_spec x86] build_components drivers/nic | |
lappend_if [have_spec pci] build_components drivers/pci | |
lappend_if [have_spec ps2] build_components drivers/input/ps2 | |
lappend_if [have_spec lan9118] build_components drivers/nic | |
build $build_components | |
create_boot_directory | |
# | |
# Config | |
# | |
set config { | |
<config prio_levels="2"> | |
<parent-provides> | |
<service name="ROM"/> | |
<service name="RAM"/> | |
<service name="IRQ"/> | |
<service name="IO_MEM"/> | |
<service name="IO_PORT"/> | |
<service name="CAP"/> | |
<service name="PD"/> | |
<service name="RM"/> | |
<service name="CPU"/> | |
<service name="LOG"/> | |
<service name="SIGNAL"/> | |
</parent-provides> | |
<default-route> | |
<any-service> <parent/> <any-child/> </any-service> | |
</default-route> | |
<start name="timer"> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="Timer"/></provides> | |
</start> | |
<start name="uart_drv"> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="Terminal"/></provides> | |
<config><policy label="l4linux" uart="1"/></config> | |
</start> } | |
append_if [have_spec pci] config { | |
<start name="pci_drv"> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="PCI"/></provides> | |
</start>} | |
append_if [have_spec vesa] config { | |
<start name="vesa_drv"> | |
<config preinit="yes" /> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="Framebuffer"/></provides> | |
</start> } | |
append_if [have_spec pl11x] config { | |
<start name="pl11x_drv"> | |
<resource name="RAM" quantum="2M"/> | |
<provides><service name="Framebuffer"/></provides> | |
</start> } | |
append_if [have_spec ps2] config { | |
<start name="ps2_drv"> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="Input"/></provides> | |
</start>} | |
append_if [have_spec x86] config { | |
<start name="nic_drv"> | |
<resource name="RAM" quantum="256M"/> | |
<provides><service name="Nic"/></provides> | |
</start>} | |
append_if [have_spec lan9118] config { | |
<start name="nic_drv"> | |
<resource name="RAM" quantum="1M"/> | |
<provides><service name="Nic"/></provides> | |
</start> } | |
append config { | |
<start name="l4linux"> | |
<resource name="RAM" quantum="128M"/> | |
} | |
append_if [have_spec x86] config { | |
<config args="mem=64M console=ttyS0 l4x_rd=initrd.gz l4x_cpus=2 l4x_cpus_map=0,1"/> | |
} | |
append_if [have_spec arm] config { | |
<config args="mem=64M console=ttyS0 l4x_rd=initrd.gz"/> | |
} | |
append config { | |
</start> | |
</config>} | |
install_config $config | |
# | |
# Boot modules | |
# | |
set boot_modules { core init timer uart_drv l4linux initrd.gz } | |
lappend_if [have_spec pci] boot_modules pci_drv | |
lappend_if [have_spec ps2] boot_modules ps2_drv | |
lappend_if [have_spec pl11x] boot_modules pl11x_drv | |
lappend_if [have_spec vesa] boot_modules vesa_drv | |
lappend_if [have_spec x86] boot_modules nic_drv | |
lappend_if [have_spec lan9118] boot_modules nic_drv | |
if {[have_spec x86]} { | |
set uri "http://genode.org/files/release-11.11/l4lx/initrd-ia32.gz" | |
} elseif {[have_spec arm]} { | |
set uri "http://genode.org/files/release-11.11/l4lx/initrd-arm.gz" | |
} | |
if {![file exists bin/initrd.gz]} { | |
puts "Download initramfs ..." | |
exec >& /dev/null wget -c -O bin/initrd.gz $uri | |
} | |
build_boot_image [join $boot_modules " "] | |
# | |
# Qemu | |
# | |
append qemu_args " -m 512 " | |
append qemu_args " -serial mon:stdio " | |
append qemu_args " -serial file:kdb.log " | |
append_if [have_spec x86] qemu_args " -smp 2,cores=2 " | |
append_if [have_spec x86] qemu_args " -net nic,model=e1000 -net tap,ifname=tap0,script=no,downscript=no " | |
append_if [have_spec x86] qemu_args " -net nic,model=e1000 -net tap,ifname=tap1,script=no,downscript=no " | |
append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 -net user " | |
# | |
# Execute test case | |
# | |
run_genode_until forever |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment