run: add platform_drv include for usage by scripts

Related to #765 and used for issue #1542
This commit is contained in:
Alexander Boettcher 2015-05-28 13:43:13 +02:00 committed by Christian Helmuth
parent 8cf09281c1
commit e1896e3b44
13 changed files with 197 additions and 486 deletions

View File

@ -0,0 +1,94 @@
proc have_platform_drv {} {
return [expr [have_spec platform_arndale] || [have_spec platform_imx53] || [have_spec platform_rpi]]
}
proc append_platform_drv_build_components {} {
global build_components
lappend_if [have_platform_drv] build_components drivers/platform
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci
}
proc append_platform_drv_boot_modules {} {
global boot_modules
lappend_if [have_platform_drv] boot_modules platform_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
}
proc platform_drv_policy {} {
return {
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
<policy label="wifi_drv"> <pci class="WIFI"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="ahci_drv"> <pci class="AHCI"/> </policy>}
}
proc platform_drv_priority {} { return "" }
proc append_platform_drv_config {} {
global config
if {[have_platform_drv]} {
append config {
<start name="platform_drv">
<resource name="RAM" quantum="1M" />
<provides>
<service name="Regulator"/>
<service name="Platform"/>
</provides>
</start>}
}
if {[have_spec acpi]} {
append config "
<start name=\"acpi_drv\" [platform_drv_priority]>"
append config {
<resource name="RAM" quantum="5M" constrain_phys="yes"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<route> <any-service> <parent/> </any-service> </route>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>}
append config [platform_drv_policy]
append config {
</config>
</start>}
}
if {[expr ![have_spec acpi] && [have_spec pci]]} {
append config "
<start name=\"pci_drv\" [platform_drv_priority]>"
append config {
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<route> <any-service> <parent/> </any-service> </route>
<config>}
append config [platform_drv_policy]
append config {
</config>
</start>}
}
return $config
}

View File

@ -39,12 +39,14 @@ set build_components {
lappend build_components test/libc_$filesystem
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if $use_ahci build_components drivers/ahci
lappend_if $use_sd_card_drv build_components drivers/sd_card
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
@ -91,42 +93,10 @@ append config {
</config>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="8M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv">
<pci class="ALL"/>
</policy>
<policy label="ahci">
<pci class="AHCI"/>
</policy>
</config>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="5M" constrain_phys="yes"/>
<provides><service name="PCI"/></provides>
<config>
<policy label="ahci">
<pci class="AHCI"/>
</policy>
</config>
</start>}
append_platform_drv_config
append_if $use_ahci config {
<start name="ahci">
<binary name="ahci_drv" />
<start name="ahci_drv">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<route>
@ -166,11 +136,11 @@ append boot_modules test-libc_$filesystem
append boot_modules " "
append boot_modules libc_$filesystem.lib.so
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if $use_ahci boot_modules ahci_drv
lappend_if $use_sd_card_drv boot_modules sd_card_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
#

View File

@ -19,6 +19,7 @@
# TODO: Add support for Linux via user-level networking (using the
# tun/tap proxy driver at os/src/drivers/nic/linux)
#
set use_usb_driver [expr [have_spec omap4] || [have_spec platform_arndale] || [have_spec platform_rpi]]
set use_nic_driver [expr !$use_usb_driver && ![have_spec platform_imx53] && ![have_spec hw_odroid_xu] && ![have_spec linux]]
@ -33,17 +34,16 @@ requires_installation_of lynx
set build_components {
core init
drivers/pci drivers/timer drivers/nic
drivers/timer drivers/nic
test/lwip/http_srv
}
lappend_if $use_usb_driver build_components drivers/usb
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if [have_spec platform_arndale] build_components drivers/platform
lappend_if [have_spec platform_rpi] build_components drivers/platform
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -83,19 +83,6 @@ set config {
</config>
</start>}
append_if [have_spec platform_arndale] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Regulator"/></provides>
</start>}
append_if [have_spec platform_rpi] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Platform"/></provides>
<config/>
</start>}
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
@ -114,48 +101,14 @@ append_if $use_usb_driver config {
</config>
</start>}
append_platform_drv_config
append_if $use_nic_driver config {
<start name="nic_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="6M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
<config>
<policy label="acpi_drv">
<pci class="ALL"/>
</policy>
<policy label="nic_drv">
<pci class="ETHERNET"/>
</policy>
</config>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="acpi_drv">
<pci class="ALL"/>
</policy>
<policy label="nic_drv">
<pci class="ETHERNET"/>
</policy>
</config>
</start>}
append config {
</config>
}
@ -173,15 +126,12 @@ set boot_modules {
}
# platform-specific modules
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules nic_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if [have_spec platform_arndale] boot_modules platform_drv
lappend_if [have_spec platform_rpi] boot_modules platform_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
#

View File

@ -13,15 +13,15 @@ set build_components {
server/nitpicker app/pointer app/status_bar
server/liquid_framebuffer app/launchpad app/scout
test/nitpicker server/nitlog
drivers/framebuffer drivers/pci drivers/input
drivers/framebuffer drivers/input
server/report_rom
}
lappend_if [have_spec usb] build_components drivers/usb
lappend_if [have_spec gpio] build_components drivers/gpio
lappend_if [have_spec imx53] build_components drivers/platform
lappend_if [have_spec platform_arndale] build_components drivers/platform
lappend_if [have_spec platform_rpi] build_components drivers/platform
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
@ -59,16 +59,7 @@ append_if [have_spec sdl] config {
</provides>
</start>}
append_if [have_spec pci] config {
<start name="pci_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="PCI"/></provides>
<config>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
</start>}
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="fb_drv">
@ -83,26 +74,7 @@ append_if [have_spec gpio] config {
<config/>
</start>}
append_if [have_spec platform_arndale] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Regulator"/></provides>
<config/>
</start>}
append_if [have_spec platform_rpi] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Platform"/></provides>
<config/>
</start>}
append_if [have_spec imx53] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Platform"/></provides>
<config/>
</start>
<start name="input_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
@ -212,16 +184,14 @@ set boot_modules {
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec usb] boot_modules usb_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
lappend_if [have_spec imx53] boot_modules platform_drv
lappend_if [have_spec platform_arndale] boot_modules platform_drv
lappend_if [have_spec platform_rpi] boot_modules platform_drv
lappend_if [have_spec imx53] boot_modules input_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args " -m 256 "

View File

@ -6,10 +6,12 @@ set build_components {
core init
drivers/input
drivers/timer
drivers/pci
test/input
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -47,28 +49,6 @@ append config {
</route>
</start>
<start name="pci_drv">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="PCI"/>
</provides>
<route>
<service name="CAP"> <parent/> </service>
<service name="IO_PORT"> <parent/> </service>
<service name="IRQ"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="RAM"> <parent/> </service>
<service name="RM"> <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="SIGNAL"> <parent/> </service>
</route>
<config>
<policy label="ps2_drv">
<device name="PS2"/>
</policy>
</config>
</start>
<start name="ps2_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
@ -78,7 +58,7 @@ append config {
<service name="LOG"> <parent/> </service>
<service name="RM"> <parent/> </service>
<service name="SIGNAL"> <parent/> </service>
<service name="PCI"> <child name="pci_drv"/> </service>
<service name="PCI"> <any-child/> </service>
</route>
</start>
@ -92,8 +72,11 @@ append config {
<service name="Input"> <child name="ps2_drv"/> </service>
<service name="Timer"> <child name="timer"/> </service>
</route>
</start>
</start>}
append_platform_drv_config
append config {
</config>}
install_config $config
@ -106,12 +89,11 @@ install_config $config
set boot_modules {
core init
timer
pci_drv
ps2_drv
test-input
}
# platform-specific modules
append_platform_drv_boot_modules
build_boot_image $boot_modules

View File

@ -14,17 +14,17 @@ set build_components {
set use_usb_driver [expr [have_spec omap4] || [have_spec platform_arndale]]
set use_nic_driver [expr !$use_usb_driver && [expr [have_spec lan9118] || [have_spec x86]]]
set use_platform_drv [expr [have_spec platform_arndale] || [have_spec platform_imx53]]
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_nic_driver build_components drivers/nic
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec ps2] build_components drivers/input/ps2
lappend_if $use_platform_drv build_components drivers/platform
lappend_if [have_spec gpio] build_components drivers/gpio
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_nic_driver build_components drivers/nic
lappend_if [have_spec ps2] build_components drivers/input/ps2
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
@ -61,36 +61,7 @@ set config {
<config><policy label="l4linux" uart="0"/></config>
</start> }
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="6M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start> }
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
</config>
<route>
</start> }
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="fb_drv">
@ -104,15 +75,6 @@ append_if [have_spec ps2] config {
<provides><service name="Input"/></provides>
</start> }
append_if $use_platform_drv config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="Regulator"/>
<service name="Platform"/>
</provides>
</start>}
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
@ -159,13 +121,10 @@ install_config $config
# Boot modules
#
set boot_modules { core init timer kdb_uart_drv l4linux initrd.gz }
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if $use_nic_driver boot_modules nic_drv
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_platform_drv boot_modules platform_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
if {[have_spec x86]} {
@ -182,6 +141,8 @@ cd bin
exec md5sum -c initrd.gz.md5
cd ..
append_platform_drv_boot_modules
build_boot_image [join $boot_modules " "]
#

View File

@ -47,7 +47,6 @@ if {$wrong_version} {
exit 1;
}
#
# Build
#
@ -57,15 +56,15 @@ set build_components {
drivers/usb
drivers/timer
drivers/uart
drivers/platform
server/nic_bridge
l4linux
}
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec acpi] build_components drivers/acpi
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
@ -95,25 +94,7 @@ set config {
</start>
}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="12M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start> }
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
</start> }
append_platform_drv_config
append config {
<start name="kdb_uart_drv">
@ -141,12 +122,6 @@ append config {
</route>
</start>
}
append_if [have_spec arm] config {
<start name="platform_drv">
<resource name="RAM" quantum="1M" />
<provides><service name="Regulator"/></provides>
</start>
}
append config {
<start name="l4linux">
@ -193,10 +168,6 @@ set boot_modules {
kdb_uart_drv
}
lappend_if [have_spec arm] boot_modules platform_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
set uri "http://genode.org/files/l4linux/initrd-arm-netperf.gz"
if {[have_spec x86]} {
set uri "http://genode.org/files/l4linux/busybox-initrd-x86-20140506.gz"
@ -213,6 +184,8 @@ if {![file exists bin/initrd.gz]} {
cd ..
}
append_platform_drv_boot_modules
build_boot_image $boot_modules

View File

@ -18,7 +18,6 @@ if {![info exists use_usb_driver]} {
set use_usb_driver [expr [have_spec omap4] || [have_spec platform_arndale] || [have_spec platform_rpi]]
}
set use_nic_driver [expr !$use_usb_driver && ![have_spec platform_imx53] && !$use_wifi_driver]
set use_platform_driver [expr [have_spec platform_arndale] || [have_spec platform_imx53] || [have_spec platform_rpi]]
if {[expr !$use_usb_driver && !$use_nic_driver && !$use_wifi_driver]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
@ -66,16 +65,13 @@ if {$use_wifi_driver} { set network_driver "wifi_drv" }
set build_components {
core init
drivers/pci drivers/timer
drivers/timer
}
append build_components " $netperf_target "
lappend_if $use_nic_driver build_components drivers/nic
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_platform_driver build_components drivers/platform
lappend_if $use_nic_bridge build_components server/nic_bridge
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if [have_spec gpio] build_components drivers/gpio
append_if $use_wifi_driver build_components {
@ -85,6 +81,9 @@ append_if $use_wifi_driver build_components {
server/report_rom
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -119,13 +118,6 @@ set config {
<provides> <service name="Timer"/> </provides>
</start> }
append_if $use_platform_driver config {
<start name="platform_drv">
<resource name="RAM" quantum="1M" />
<provides> <service name="Regulator"/>
<service name="Platform"/> </provides>
</start>}
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
@ -226,35 +218,7 @@ append_if $use_wifi_driver config {
</route>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="16M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="wifi_drv"> <pci class="WIFI"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="3M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="wifi_drv"> <pci class="WIFI"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
</config>
</start> }
append_platform_drv_config
append config {
<start name="netserver_genode">
@ -301,13 +265,9 @@ append boot_modules " $netperf_stack "
lappend_if $use_nic_bridge boot_modules nic_bridge
# platform-specific modules
lappend_if $use_platform_driver boot_modules platform_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules nic_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
append_if $use_wifi_driver boot_modules {
ram_fs fs_rom report_rom
@ -322,6 +282,8 @@ append_if $use_wifi_driver boot_modules {
iwlwifi-7260-8.ucode
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
#

View File

@ -1,13 +1,12 @@
set use_usb_driver [expr [have_spec omap4] || [have_spec platform_arndale] || [have_spec platform_rpi]]
set use_nic_driver [expr !$use_usb_driver && ![have_spec platform_imx53] && ![have_spec linux] && ![have_spec hw_odroid_xu]]
set use_platform_drv [expr [have_spec platform_arndale] || [have_spec platform_imx53] || [have_spec platform_rpi]]
if {[expr !$use_usb_driver && !$use_nic_driver]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
set build_components {
core init
drivers/timer drivers/pci
drivers/timer
server/tcp_terminal
server/nic_bridge
noux/net lib/libc_noux
@ -16,11 +15,11 @@ set build_components {
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_nic_driver build_components drivers/nic
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if [have_spec gpio] build_components drivers/gpio
lappend_if [have_include "power_on/qemu"] build_components drivers/uart
lappend_if $use_platform_drv build_components drivers/platform
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
@ -107,15 +106,6 @@ append_if $use_nic_driver config {
<provides> <service name="Nic"/> </provides>
</start>}
append_if $use_platform_drv config {
<start name="platform_drv">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="Platform"/>
<service name="Regulator"/>
</provides>
</start>}
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
@ -135,38 +125,8 @@ append_if $use_usb_driver config {
</config>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="6M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv">
<pci class="ALL"/>
</policy>
<policy label="nic_drv">
<pci class="ETHERNET"/>
</policy>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start>}
append_platform_drv_config
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="2M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="nic_drv">
<pci class="ETHERNET"/>
</policy>
</config>
</start> }
append config {
<start name="noux_net">
<resource name="RAM" quantum="1G"/>
@ -205,13 +165,11 @@ set boot_modules {
# platform-specific modules
lappend_if $use_nic_driver boot_modules nic_drv
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if [have_include "power_on/qemu"] boot_modules uart_drv
lappend_if $use_platform_drv boot_modules platform_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
set noux_output_file "noux_output.log"

View File

@ -16,12 +16,11 @@ if {[have_spec linux]} {
exit 0
}
set use_platform_driver [expr [have_spec platform_arndale] || [have_spec platform_imx53] || [have_spec platform_rpi]]
set use_usb_input [expr ![have_spec ps2] && ![have_spec sdl] && [have_spec usb]]
set build_components {
core init drivers/timer noux/minimal lib/libc_noux
drivers/framebuffer drivers/pci drivers/input
drivers/framebuffer drivers/input
server/terminal server/ram_fs
test/libports/ncurses
}
@ -35,10 +34,9 @@ set build_components {
#
proc check_xml_syntax {xml_file} { }
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if $use_platform_driver build_components drivers/platform
lappend_if $use_usb_input build_components drivers/usb
set cc_march ""
@ -116,13 +114,6 @@ append config {
<provides><service name="Timer"/></provides>
</start> }
append_if $use_platform_driver config {
<start name="platform_drv">
<resource name="RAM" quantum="1M" />
<provides><service name="Regulator"/></provides>
<provides><service name="Platform"/></provides>
</start>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
@ -132,25 +123,7 @@ append_if [have_spec sdl] config {
</provides>
</start>}
append_if [have_spec acpi] config {
<start name="acpi">
<resource name="RAM" quantum="5M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="fb_drv">
@ -158,17 +131,6 @@ append_if [have_spec framebuffer] config {
<provides><service name="Framebuffer"/></provides>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv">
<resource name="RAM" quantum="2M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
</start> }
append_if [have_spec ps2] config {
<start name="ps2_drv">
<resource name="RAM" quantum="1M"/>
@ -306,14 +268,12 @@ foreach pkg $platform_pkgs { append boot_modules "$pkg.tar" }
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if $use_platform_driver boot_modules platform_drv
lappend_if $use_usb_input boot_modules usb_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
# vi: set ft=tcl :

View File

@ -16,19 +16,20 @@ if {![have_spec nova]} {
assert_spec acpi
source ${genode_dir}/repos/base/run/platform_drv.inc
# override defaults of platform_drv.inc
proc platform_drv_priority {} { return { priority="-1"} }
set build_components {
core init
drivers/timer
drivers/rtc
drivers/pci
drivers/input
app/seoul
}
if {$use_fancy_stuff} { set use_framebuffer 1 }
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci/device_pd
lappend_if $use_usb build_components drivers/usb
lappend_if $use_block_sata build_components drivers/ahci
lappend_if $use_nic_session build_components drivers/nic
@ -44,6 +45,8 @@ 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/rom_blk
append_platform_drv_build_components
build $build_components
# write Seoul config file
@ -192,28 +195,7 @@ append_if $use_genode_iso config {
</route>
</start>}
append_if [have_spec acpi] config {
<start name="acpi" priority="-1">
<resource name="RAM" quantum="8M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>
<policy label="ahci"> <pci class="AHCI"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_platform_drv_config
append_if $use_nic_session config {
<start name="nic_drv" priority="-2">
@ -415,15 +397,12 @@ install_config $config
# generic modules
set boot_modules {
core init
pci_drv
timer
rtc_drv
seoul
vm_seoul.cfg
}
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if [expr !$use_usb] boot_modules ps2_drv
lappend_if $use_usb boot_modules usb_drv
lappend_if $use_block_sata boot_modules ahci_drv
@ -478,6 +457,8 @@ if {$use_usb} {
append qemu_args " -usb -usbdevice mouse -usbdevice keyboard "
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
# A copy of the config is placed in the run folder.

View File

@ -9,15 +9,19 @@ set build_components {
drivers/timer
}
source ${genode_dir}/repos/base/run/platform_drv.inc
# override defaults of platform_drv.inc
proc platform_drv_priority {} { return { priority="-1"} }
lappend_if [expr $use_ps2] build_components drivers/input
lappend_if [expr $use_usb] build_components drivers/usb
lappend_if [expr $use_serial] build_components server/log_terminal
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec x86] build_components drivers/rtc
lappend_if [expr $use_net] build_components drivers/nic
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -38,32 +42,14 @@ set config {
<service name="SIGNAL"/>
</parent-provides>
<default-route>
<any-service> <any-child/> <parent/> </any-service>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>}
append_if [have_spec acpi] config {
<start name="acpi" priority="-1">
<resource name="RAM" quantum="8M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv" priority="-1">
<resource name="RAM" quantum="2M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
</start>}
append_platform_drv_config
append_if [expr $use_ps2] config {
<start name="ps2_drv" priority="-1">
@ -78,10 +64,6 @@ append_if [expr $use_usb] config {
<config uhci="yes" ehci="yes" xhci="yes">
<hid/>
</config>
<route>
<service name="IRQ"><child name="acpi" /></service>
<any-service> <parent /> <any-child /></any-service>
</route>
</start>}
append_if [have_spec framebuffer] config {
@ -157,11 +139,8 @@ set boot_modules { core init timer virtualbox test.iso test.vbox }
# platform-specific modules
lappend_if [expr $use_usb] boot_modules usb_drv
lappend_if [expr $use_ps2] boot_modules ps2_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if [have_spec x86] boot_modules rtc_drv
append boot_modules {
@ -172,6 +151,8 @@ append boot_modules {
append_if [expr $use_net] boot_modules { nic_drv }
append_if [expr $use_serial] boot_modules { log_terminal }
append_platform_drv_boot_modules
build_boot_image $boot_modules
if {[have_include "power_on/qemu"]} {

View File

@ -16,11 +16,15 @@ append build_components {
lappend_if [expr $use_ps2] build_components drivers/input
lappend_if [expr $use_usb] build_components drivers/usb
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec x86] build_components drivers/rtc
lappend_if [expr $use_ram_fs] build_components server/ram_fs
source ${genode_dir}/repos/base/run/platform_drv.inc
# override defaults of platform_drv.inc
proc platform_drv_priority {} { return { priority="-1"} }
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -47,15 +51,14 @@ set config {
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="ahci" priority="-1">
<binary name="ahci_drv" />
<start name="ahci_drv" priority="-1">
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<config>
<policy label="part_blk" device="0" />
</config>
<route>
<service name="IRQ"><child name="acpi" /></service>
<service name="IRQ"><child name="acpi_drv" /></service>
<any-service> <parent /> <any-child /></any-service>
</route>
</start>
@ -63,7 +66,7 @@ set config {
<resource name="RAM" quantum="10M" />
<provides><service name="Block" /></provides>
<route>
<any-service><child name="ahci"/> <parent/><any-child/></any-service>
<any-service><child name="ahci_drv"/> <parent/><any-child/></any-service>
</route>
<config>
<policy label="rump_fs" partition="4"/>
@ -94,47 +97,14 @@ append_if [expr $use_ram_fs] config {
</config>
</start>}
append_if [have_spec acpi] config {
<start name="acpi" priority="-1">
<resource name="RAM" quantum="12M" constrain_phys="yes"/>
<binary name="acpi_drv"/>
<provides>
<service name="PCI"/>
<service name="IRQ" />
</provides>
<config>
<policy label="acpi_drv"> <pci class="ALL"/> </policy>
<policy label="ahci"> <pci class="AHCI"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
<route>
<service name="PCI"> <any-child /> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_if [expr ![have_spec acpi] && [have_spec pci]] config {
<start name="pci_drv" priority="-1">
<resource name="RAM" quantum="2M" constrain_phys="yes"/>
<provides> <service name="PCI"/> </provides>
<config>
<policy label="ahci"> <pci class="AHCI"/> </policy>
<policy label="nic_drv"> <pci class="ETHERNET"/> </policy>
<policy label="ps2_drv"> <device name="PS2"/> </policy>
<policy label="usb_drv"> <pci class="USB"/> </policy>
<policy label="fb_drv"> <pci class="VGA"/> </policy>
</config>
</start>}
append_platform_drv_config
append_if [expr $use_ps2] config {
<start name="ps2_drv" priority="-1">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
<route>
<service name="IRQ"><child name="acpi" /></service>
<service name="IRQ"><child name="acpi_drv" /></service>
<any-service> <parent /> <any-child /></any-service>
</route>
</start>}
@ -153,7 +123,7 @@ append_if [expr $use_usb] config {
</raw>
</config>
<route>
<service name="IRQ"><child name="acpi" /></service>
<service name="IRQ"><child name="acpi_drv" /></service>
<any-service> <parent /> <any-child /></any-service>
</route>
</start>
@ -198,8 +168,7 @@ lappend_if [expr $use_ram_fs] boot_modules ${overlay_image}
# platform-specific modules
lappend_if [expr $use_ps2] boot_modules ps2_drv
lappend_if [expr $use_usb] boot_modules usb_drv
lappend_if [have_spec acpi] boot_modules acpi_drv
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec nova] boot_modules pci_device_pd
lappend_if [have_spec x86] boot_modules rtc_drv
append_platform_drv_boot_modules