run: use drivers_interactive-* pkg where possible

Ref #2190
This commit is contained in:
Stefan Kalkowski 2019-05-03 13:19:17 +02:00 committed by Christian Helmuth
parent 0451d3bbed
commit 4550056de7
5 changed files with 115 additions and 289 deletions

View File

@ -9,30 +9,23 @@ if {[have_include power_on/qemu] && $use_i965} {
exit 1 exit 1
} }
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/nitpicker \
[depot_user]/src/demo \
[depot_user]/src/init
set build_components { set build_components {
core init timer
drivers/input
drivers/framebuffer
drivers/gpu/intel drivers/gpu/intel
server/liquid_framebuffer
server/nitpicker
lib/mesa/swrast lib/mesa/swrast
app/launchpad
app/pointer
} }
lappend_if $use_i965 build_components lib/mesa/i965 lappend_if $use_i965 build_components lib/mesa/i965
lappend build_components $demo_component lappend build_components $demo_component
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components build $build_components
create_boot_directory
set config { set config {
<config prio_levels="2"> <config prio_levels="2">
<parent-provides> <parent-provides>
@ -49,39 +42,25 @@ set config {
<default-route> <default-route>
<any-service> <parent/> <any-child/> </any-service> <any-service> <parent/> <any-child/> </any-service>
</default-route> </default-route>
}
append_if [have_spec linux] config {
<start name="fb_sdl" caps="200" ld="no">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</start>}
append_platform_drv_config
append_if [expr ![have_spec linux]] config {
<start name="fb_drv">
<resource name="RAM" quantum="10M"/>
<provides>
<service name="Framebuffer"/>
</provides>
<route><any-service> <parent /> <any-child/> </any-service> </route>
</start>}
append_if [have_spec ps2] config {
<start name="ps2_drv">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Input"/> </provides>
</start> }
append config {
<start name="timer"> <start name="timer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides>
<service name="Input"/> <service name="Framebuffer"/>
</provides>
</start>
<start name="nitpicker" caps="200"> <start name="nitpicker" caps="200">
<resource name="RAM" quantum="2M"/> <resource name="RAM" quantum="2M"/>
<provides><service name="Nitpicker"/></provides> <provides><service name="Nitpicker"/></provides>
@ -97,10 +76,6 @@ append config {
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
</start>} </start>}
#
#
#
set backend_library egl_swrast.lib.so set backend_library egl_swrast.lib.so
if {$use_i965} { if {$use_i965} {
set backend_library egl_i965.lib.so set backend_library egl_i965.lib.so
@ -191,13 +166,6 @@ append_if $use_i965 boot_modules {
} }
append boot_modules $demo_modules append boot_modules $demo_modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [expr ![have_spec linux]] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules build_boot_image $boot_modules
append qemu_args " -m 768" append qemu_args " -m 768"

View File

@ -1,7 +1,3 @@
#
# Build
#
if {[have_spec odroid_xu] || [have_spec imx6q_sabrelite] || [have_spec zynq] || [have_spec imx53] && [have_spec foc]} { if {[have_spec odroid_xu] || [have_spec imx6q_sabrelite] || [have_spec zynq] || [have_spec imx53] && [have_spec foc]} {
puts "\n Run script is not supported on this platform. \n"; puts "\n Run script is not supported on this platform. \n";
exit 0 exit 0
@ -12,22 +8,13 @@ if {[get_cmd_switch --autopilot] && [have_spec linux]} {
exit 0 exit 0
} }
set build_components { core init test/fb_bench drivers/framebuffer timer }
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
lappend_if [have_spec gpio] build_components drivers/gpio
build $build_components
create_boot_directory create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/init
build { test/fb_bench }
# install_config {
# Generate config
#
append config {
<config> <config>
<parent-provides> <parent-provides>
<service name="ROM"/> <service name="ROM"/>
@ -47,33 +34,21 @@ append config {
<start name="timer"> <start name="timer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start>} </start>
append_if [have_spec gpio] config " <start name="drivers" caps="1000">
<start name=\"[gpio_drv]\" caps=\"140\"> <resource name="RAM" quantum="32M" constrain_phys="yes"/>
<resource name=\"RAM\" quantum=\"4M\"/> <binary name="init"/>
<provides><service name=\"Gpio\"/></provides> <route>
<config/> <service name="ROM" label="config"> <parent label="drivers.config"/> </service>
</start>" <service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
append_if [have_spec sdl] config { </route>
<start name="fb_sdl" ld="no">
<resource name="RAM" quantum="4M"/>
<provides> <provides>
<service name="Input"/> <service name="Input"/> <service name="Framebuffer"/>
<service name="Framebuffer"/>
</provides> </provides>
</start>} </start>
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="fb_drv" caps="150">
<resource name="RAM" quantum="20M"/>
<provides><service name="Framebuffer"/></provides>
</start>}
append config {
<start name="test-fb_bench"> <start name="test-fb_bench">
<!-- <!--
- We need this big amount of RAM because the VESA driver reports a - We need this big amount of RAM because the VESA driver reports a
@ -84,21 +59,7 @@ append config {
</start> </start>
</config>} </config>}
install_config $config build_boot_image { test-fb_bench }
#
# Boot modules
#
set boot_modules { core ld.lib.so init timer test-fb_bench }
append_platform_drv_boot_modules
lappend_if [have_spec sdl] boot_modules fb_sdl
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
# disable QEMU graphic to enable testing on our machines without SDL and X # disable QEMU graphic to enable testing on our machines without SDL and X
append qemu_args "-nographic " append qemu_args "-nographic "

View File

@ -1,30 +1,11 @@
#
# Build
#
if {[have_spec odroid_xu]} {
puts "Run script not supported for this platform."; exit 0 }
set fb_drv "fb_drv"
if {[have_include "image/uefi"]} {
set fb_drv "fb_boot_drv"
}
set build_components { core init test/framebuffer drivers/framebuffer timer }
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/init
# build { test/framebuffer }
# Generate config
#
append config { install_config {
<config> <config>
<parent-provides> <parent-provides>
<service name="ROM"/> <service name="ROM"/>
@ -40,53 +21,29 @@ append config {
<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="timer"> <start name="timer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start>} </start>
append_if [have_spec sdl] config { <start name="drivers" caps="1000">
<start name="fb_sdl" ld="no"> <resource name="RAM" quantum="32M" constrain_phys="yes"/>
<resource name="RAM" quantum="4M"/> <binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <provides>
<service name="Input"/> <service name="Input"/> <service name="Framebuffer"/>
<service name="Framebuffer"/>
</provides> </provides>
</start>} </start>
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="} $fb_drv {" caps="200">
<resource name="RAM" quantum="32M"/>
<provides><service name="Framebuffer"/></provides>
</start>}
append config {
<start name="test-framebuffer"> <start name="test-framebuffer">
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
</start> </start>
</config>} </config>}
install_config $config build_boot_image { test-framebuffer }
#
# Boot modules
#
# generic modules
set boot_modules {
core ld.lib.so init timer
test-framebuffer
}
# platform-specific modules
append_platform_drv_boot_modules
lappend_if [have_spec sdl] boot_modules fb_sdl
lappend_if [have_spec framebuffer] boot_modules $fb_drv
build_boot_image $boot_modules
run_genode_until forever run_genode_until forever

View File

@ -1,26 +1,15 @@
# create_boot_directory
# Build import_from_depot [depot_user]/src/[base_src] \
# [depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/init \
set build_components { [depot_user]/src/nitpicker
core init timer build {
server/nitpicker server/loader server/loader
test/nitpicker test/loader test/loader
drivers/framebuffer drivers/input test/nitpicker
} }
source ${genode_dir}/repos/base/run/platform_drv.inc install_config {
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
append config {
<config> <config>
<parent-provides> <parent-provides>
<service name="ROM"/> <service name="ROM"/>
@ -35,36 +24,26 @@ append config {
<default-route> <default-route>
<any-service> <parent/> <any-child/> </any-service> <any-service> <parent/> <any-child/> </any-service>
</default-route> </default-route>
<default caps="100"/>} <default caps="100"/>
append_platform_drv_config
append_if [have_spec sdl] config {
<start name="fb_sdl" ld="no">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</start>}
append_if [have_spec framebuffer] config {
<start name="fb_drv">
<resource name="RAM" quantum="4M"/>
<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 config {
<start name="timer"> <start name="timer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides> <provides><service name="Timer"/></provides>
</start> </start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides>
<service name="Input"/> <service name="Framebuffer"/>
</provides>
</start>
<start name="nitpicker"> <start name="nitpicker">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides> <provides><service name="Nitpicker"/></provides>
@ -72,6 +51,7 @@ append config {
<domain name="" layer="2" /> <default-policy domain=""/> <domain name="" layer="2" /> <default-policy domain=""/>
</config> </config>
</start> </start>
<start name="loader"> <start name="loader">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides><service name="Loader"/></provides> <provides><service name="Loader"/></provides>
@ -87,23 +67,5 @@ append config {
</start> </start>
</config>} </config>}
install_config $config build_boot_image { testnit loader test-loader }
#
# Boot modules
#
# generic modules
set boot_modules { core ld.lib.so init timer nitpicker testnit loader test-loader }
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
run_genode_until forever run_genode_until forever

View File

@ -12,33 +12,22 @@
# 'tcp_terminal' could be used (to attach GDB via a network connection). # 'tcp_terminal' could be used (to attach GDB via a network connection).
# #
# create_boot_directory
# Build import_from_depot [depot_user]/src/[base_src] \
# [depot_user]/pkg/[drivers_interactive_pkg] \
[depot_user]/src/nitpicker \
[depot_user]/src/demo \
[depot_user]/src/init
set build_components { set build_components {
core init timer
drivers/uart drivers/uart
app/gdb_monitor app/gdb_monitor
test/gdb_monitor test/gdb_monitor
server/nitpicker app/pointer app/scout
drivers/framebuffer drivers/input
} }
lappend build_components "lib/gdbserver_platform-$::env(KERNEL)" lappend build_components "lib/gdbserver_platform-$::env(KERNEL)"
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components build $build_components
create_boot_directory install_config {
#
# Generate config
#
set config {
<config verbose="yes"> <config verbose="yes">
<parent-provides> <parent-provides>
<service name="ROM"/> <service name="ROM"/>
@ -54,17 +43,36 @@ set config {
<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="timer"> <start name="timer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides> <provides> <service name="Timer"/> </provides>
</start> </start>
<start name="uart_drv"> <start name="uart_drv">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides> <service name="Terminal"/> </provides> <provides>
<service name="Uart"/>
<service name="Terminal"/>
</provides>
<config> <config>
<policy label_prefix="gdb_monitor" uart="1"/> <policy label_prefix="gdb_monitor" uart="1"/>
</config> </config>
</start> </start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides>
<service name="Input"/> <service name="Framebuffer"/>
</provides>
</start>
<start name="gdb_monitor" caps="200"> <start name="gdb_monitor" caps="200">
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
<provides><service name="Nitpicker"/></provides> <provides><service name="Nitpicker"/></provides>
@ -84,59 +92,29 @@ set config {
<libc stdout="/dev/log" stderr="/dev/log"/> <libc stdout="/dev/log" stderr="/dev/log"/>
</config> </config>
</start> </start>
<start name="pointer"> <start name="pointer">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
</start> </start>
<start name="scout"> <start name="scout">
<resource name="RAM" quantum="32M"/> <resource name="RAM" quantum="32M"/>
</start>} </start>
append_platform_drv_config
append_if [have_spec framebuffer] config {
<start name="fb_drv">
<resource name="RAM" quantum="4M"/>
<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 config {
</config> </config>
} }
install_config $config
#
# Boot modules
#
# evaluated by the run tool # evaluated by the run tool
proc binary_name_gdbserver_platform_lib_so { } { proc binary_name_gdbserver_platform_lib_so { } {
return "gdbserver_platform-$::env(KERNEL).lib.so" return "gdbserver_platform-$::env(KERNEL).lib.so"
} }
# generic modules # generic modules
set boot_modules { build_boot_image {
core init timer libc.lib.so vfs.lib.so libc_pipe.lib.so
ld.lib.so libc.lib.so vfs.lib.so libc_pipe.lib.so
uart_drv uart_drv
gdb_monitor gdbserver_platform.lib.so gdb_monitor gdbserver_platform.lib.so
nitpicker pointer scout
} }
# platform-specific modules
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
append_platform_drv_boot_modules
build_boot_image $boot_modules
# #
# Execute test case # Execute test case
# #