mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-03 01:30:41 +00:00
run/platform_drv.inc: add 'need_usb_hid' function
This function returns the information whether the used platform relies on USB HID for interactive scenarios by default as is the case for most ARM platforms. In contrast, for x86 the USB driver can be omitted because we can use the PS/2 driver (that is readily available in repos/os/).
This commit is contained in:
parent
582e4aec02
commit
47a129c6af
@ -10,6 +10,26 @@ proc have_platform_drv {} {
|
||||
|| [have_spec x86]]
|
||||
}
|
||||
|
||||
|
||||
##
|
||||
# Return 1 if the scenario depends on the USB driver on the used platform
|
||||
#
|
||||
# On most ARM platform, user input is provided by an USB HID device. On other
|
||||
# platforms, the USB driver may be omitted.
|
||||
#
|
||||
proc need_usb_hid { } {
|
||||
|
||||
# covered by fb_sdl
|
||||
if {[have_spec linux]} { return 0 }
|
||||
|
||||
# covered by ps2_drv
|
||||
if {[have_spec x86]} { return 0 }
|
||||
if {[have_spec pbxa9]} { return 0 }
|
||||
|
||||
return [have_spec usb]
|
||||
}
|
||||
|
||||
|
||||
proc append_platform_drv_build_components {} {
|
||||
global build_components
|
||||
|
||||
@ -19,6 +39,7 @@ proc append_platform_drv_build_components {} {
|
||||
lappend_if [have_spec nova] build_components drivers/platform/spec/x86/device_pd
|
||||
}
|
||||
|
||||
|
||||
proc append_platform_drv_boot_modules {} {
|
||||
global boot_modules
|
||||
|
||||
@ -29,6 +50,7 @@ proc append_platform_drv_boot_modules {} {
|
||||
lappend_if [have_spec muen] boot_modules acpi
|
||||
}
|
||||
|
||||
|
||||
proc platform_drv_policy {} {
|
||||
|
||||
if ([have_spec x86]) {
|
||||
@ -50,6 +72,7 @@ proc platform_drv_policy {} {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
proc platform_drv_priority {} { return "" }
|
||||
proc platform_drv_add_routing {} {
|
||||
if {[have_spec acpi]} {
|
||||
@ -60,6 +83,7 @@ proc platform_drv_add_routing {} {
|
||||
return ""
|
||||
}
|
||||
|
||||
|
||||
proc platform_drv_config_config {} {
|
||||
if {[have_spec acpi] || [have_spec arm] || [have_spec muen]} {
|
||||
return {
|
||||
@ -70,6 +94,7 @@ proc platform_drv_config_config {} {
|
||||
<config acpi="no">}
|
||||
}
|
||||
|
||||
|
||||
proc append_platform_drv_config {} {
|
||||
global config
|
||||
|
||||
|
@ -18,10 +18,11 @@ set build_components {
|
||||
app/pointer
|
||||
}
|
||||
|
||||
lappend_if [have_spec usb] build_components drivers/usb
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
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
|
||||
@ -88,7 +89,7 @@ append_if [have_spec ps2] config {
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -225,7 +226,7 @@ append_platform_drv_boot_modules
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
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 [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
lappend_if [have_spec imx53] boot_modules input_drv
|
||||
|
||||
|
@ -4,11 +4,6 @@ if { ![have_spec foc] && ![have_spec nova] &&
|
||||
exit 0
|
||||
}
|
||||
|
||||
#
|
||||
# On OMAP4 where no PS/2 is available, we rely on USB HID
|
||||
#
|
||||
proc use_usb_input { } { return [expr ![have_spec ps2] && [have_spec usb]] }
|
||||
|
||||
set build_components {
|
||||
core init drivers/timer noux/minimal lib/libc_noux
|
||||
drivers/framebuffer drivers/input
|
||||
@ -20,7 +15,9 @@ set build_components {
|
||||
test/cpu_sampler
|
||||
}
|
||||
|
||||
lappend_if [use_usb_input] build_components drivers/usb
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
#
|
||||
@ -29,7 +26,6 @@ lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
foreach pkg {bash coreutils vim diffutils} {
|
||||
lappend_if [expr ![file exists bin/$pkg]] build_components noux-pkg/$pkg }
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
@ -97,7 +93,7 @@ append_if [have_spec gpio] config {
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [use_usb_input] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -240,7 +236,7 @@ set boot_modules {
|
||||
# platform-specific modules
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [use_usb_input] boot_modules usb_drv
|
||||
lappend_if [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
@ -19,8 +19,8 @@ set build_components {
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
lappend_if [have_spec usb] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
build $build_components
|
||||
|
||||
@ -84,7 +84,7 @@ append_if [have_spec ps2] config {
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -160,12 +160,12 @@ set boot_modules {
|
||||
# platform-specific modules
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
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 input_drv
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
lappend_if [have_spec imx53] boot_modules input_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
|
@ -17,10 +17,11 @@ set build_components {
|
||||
server/nit_fb
|
||||
}
|
||||
|
||||
lappend_if [have_spec usb] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
@ -85,7 +86,7 @@ append_if [have_spec ps2] config {
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -264,12 +265,12 @@ set boot_modules {
|
||||
# platform-specific modules
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
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 input_drv
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
lappend_if [have_spec imx53] boot_modules input_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
|
@ -59,9 +59,7 @@ proc use_timer { feature_arg } {
|
||||
|
||||
proc use_usb_input { feature_arg } {
|
||||
upvar $feature_arg feature
|
||||
return [expr {[info exists feature(Input)] &&
|
||||
([have_spec usb] ||
|
||||
([have_spec x86] && ![have_spec linux]))}]
|
||||
return [expr {[info exists feature(Input)] && [need_usb_hid]}]
|
||||
}
|
||||
|
||||
proc use_usb_nic { feature_arg } {
|
||||
|
@ -17,10 +17,11 @@ set build_components {
|
||||
server/report_rom server/rom_filter
|
||||
}
|
||||
|
||||
lappend_if [have_spec usb] build_components drivers/usb
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
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
|
||||
@ -85,7 +86,7 @@ append_if [have_spec ps2] config {
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -253,7 +254,7 @@ set boot_modules {
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
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 [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
lappend_if [have_spec imx53] boot_modules input_drv
|
||||
|
||||
|
@ -1,8 +1,3 @@
|
||||
#
|
||||
# On OMAP4 where no PS/2 is available, we rely on USB HID
|
||||
#
|
||||
proc use_usb_input { } { return [expr ![have_spec ps2] && [have_spec usb]] }
|
||||
|
||||
#
|
||||
# Uncomment the following line when working on the VIM source code. Otherwise,
|
||||
# the package may get recompiled, yet it does not get reinstalled into 'bin/'.
|
||||
@ -16,8 +11,10 @@ set build_components {
|
||||
test/libports/ncurses
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
|
||||
lappend_if [have_spec x86] build_components drivers/rtc
|
||||
lappend_if [use_usb_input] build_components drivers/usb
|
||||
lappend_if [need_usb_hid] build_components drivers/usb
|
||||
lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
|
||||
#
|
||||
@ -26,7 +23,6 @@ lappend_if [have_spec gpio] build_components drivers/gpio
|
||||
foreach pkg {bash coreutils vim diffutils less} {
|
||||
lappend_if [expr ![file exists bin/$pkg]] build_components noux-pkg/$pkg }
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
@ -110,7 +106,7 @@ append_if [have_spec gpio] config {
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [use_usb_input] config {
|
||||
append_if [need_usb_hid] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
@ -211,7 +207,7 @@ lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec x86] boot_modules rtc_drv
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [use_usb_input] boot_modules usb_drv
|
||||
lappend_if [need_usb_hid] boot_modules usb_drv
|
||||
lappend_if [have_spec gpio] boot_modules gpio_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
Loading…
x
Reference in New Issue
Block a user