Qt5: ARM-related improvements

- fix compile errors when building for ARM
- use the correct device drivers in Qt run scripts

Fixes #1154.
This commit is contained in:
Christian Prochaska 2014-05-20 22:52:55 +02:00 committed by Norman Feske
parent 078883fda3
commit db89c85954
27 changed files with 608 additions and 834 deletions

View File

@ -52,7 +52,7 @@ HEADERS_FILTERED = $(filter-out $(HEADERS_FILTER_OUT), $(HEADERS))
SRC_CC += $(SOURCES_FILTERED)
# handle moc-headers, resources and ui descriptions
$(SRC_CC:.cpp=.o): $(addprefix ui_,$(FORMS:.ui=.h))
$(addsuffix .o,$(basename $(SRC_CC))): $(addprefix ui_,$(FORMS:.ui=.h))
SRC_CC_QT_GENERATED = $(addprefix moc_,$(HEADERS_FILTERED:.h=.cpp)) \
$(addprefix qrc_,$(RESOURCES:.qrc=.cpp))

View File

@ -6,10 +6,10 @@ SRC_CC += $(filter %.cc, $(QT_SOURCES_FILTERED))
SRC_C += $(filter %.c, $(QT_SOURCES_FILTERED))
COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTERED = $(filter-out $(COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTER_OUT), $(COMPILER_MOC_HEADER_MAKE_ALL_FILES))
$(SRC_CC:.cpp=.o): $(COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTERED)
$(addsuffix .o,$(basename $(SRC_CC))): $(COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTERED)
COMPILER_MOC_SOURCE_MAKE_ALL_FILES_FILTERED = $(filter-out $(COMPILER_MOC_SOURCE_MAKE_ALL_FILES_FILTER_OUT), $(COMPILER_MOC_SOURCE_MAKE_ALL_FILES))
$(SRC_CC:.cpp=.o): $(COMPILER_MOC_SOURCE_MAKE_ALL_FILES_FILTERED)
$(addsuffix .o,$(basename $(SRC_CC))): $(COMPILER_MOC_SOURCE_MAKE_ALL_FILES_FILTERED)
QT5_INC_DIR += $(REP_DIR)/src/lib/qt5/qtbase/mkspecs/qws/genode-generic-g++ \
$(REP_DIR)/src/lib/qt5/qtbase/src/corelib/global

View File

@ -25,6 +25,10 @@ COMPILER_MOC_HEADER_MAKE_ALL_FILES_FILTER_OUT = \
include $(REP_DIR)/lib/mk/qt5.inc
# reduce 'not implemented yet' noise
SRC_CC += libc_dummies.cc
vpath libc_dummies.cc $(REP_DIR)/src/lib/qt5
INC_DIR += $(REP_DIR)/include/qt5/qtbase/QtCore/private \
$(REP_DIR)/src/lib/qt5/qtbase/src/corelib/thread \
$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore/$(QT_VERSION) \

View File

@ -49,7 +49,7 @@ QT_SOURCES += \
regexp-macro-assembler-ia32.cc \
stub-cache-ia32.cc
QT_VPATH += qtjsbackend/src/3rdparty/v8/src/ia32
else
else
ifeq ($(filter-out $(SPECS),arm),)
QT_DEFINES += -DV8_TARGET_ARCH_ARM
QT_SOURCES += \
@ -57,6 +57,7 @@ QT_SOURCES += \
builtins-arm.cc \
code-stubs-arm.cc \
codegen-arm.cc \
constants-arm.cc \
cpu-arm.cc \
debug-arm.cc \
deoptimizer-arm.cc \
@ -71,7 +72,7 @@ QT_SOURCES += \
regexp-macro-assembler-arm.cc \
stub-cache-arm.cc
QT_VPATH += qtjsbackend/src/3rdparty/v8/src/arm
endif
endif
endif
endif
@ -80,4 +81,3 @@ QT_VPATH += qtjsbackend/generated
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_network

View File

@ -1,21 +1,18 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
set build_components [qt5_build_components feature]
append build_components {
app/qt5/qt_launchpad
app/qt5/examples/calculatorform
app/qt5/examples/tetrix
}
build $build_components
create_boot_directory
@ -25,59 +22,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="qt_launchpad">
<resource name="RAM" quantum="80M"/>
</start>
@ -90,13 +45,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
nitpicker
liquid_fb
set boot_modules [qt5_boot_modules feature]
append boot_modules {
qt_launchpad
freetype.lib.so
gallium.lib.so
@ -122,14 +73,9 @@ 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 framebuffer] boot_modules fb_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
build_boot_image $boot_modules
append qemu_args " -m 512"
run_genode_until forever

View File

@ -1,21 +1,20 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
set feature(Audio_out) 1
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
drivers/audio_out
server/nitpicker
server/liquid_framebuffer
set build_components [qt5_build_components feature]
append build_components {
app/avplay
app/qt5/qt_avplay
}
build $build_components
#
# Download media file
#
@ -34,63 +33,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="audio_out_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Audio_out"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="qt_avplay">
<resource name="RAM" quantum="2G"/>
<config>
@ -106,14 +59,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
audio_out_drv
nitpicker
liquid_fb
set boot_modules [qt5_boot_modules feature]
append boot_modules {
qt_avplay
freetype.lib.so
gallium.lib.so
@ -144,12 +92,6 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 768 -soundhw all"

View File

@ -1,19 +1,17 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/calculatorform
}
build $build_components
create_boot_directory
#
@ -22,59 +20,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="calculatorform">
<resource name="RAM" quantum="80M"/>
</start>
@ -87,13 +43,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
nitpicker
liquid_fb
set boot_modules [qt5_boot_modules feature]
append boot_modules {
calculatorform
freetype.lib.so
gallium.lib.so
@ -114,14 +66,9 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 128"
run_genode_until forever

View File

@ -0,0 +1,80 @@
source ${genode_dir}/repos/libports/run/qt5_drivers.inc
set feature(Input) 1
set feature(Framebuffer) 1
set feature(Timer) 1
#
# Build
#
proc qt5_build_components { feature_arg } {
upvar $feature_arg feature
set build_components {
core
init
}
append build_components [drivers_build_components feature]
append build_components {
server/nitpicker
}
return $build_components
}
#
# Configuration
#
proc qt5_parent_provides { feature_arg } {
upvar $feature_arg feature
set parent_provides [drivers_parent_provides feature]
return $parent_provides
}
proc qt5_start_nodes { feature_arg } {
upvar $feature_arg feature
set start_nodes [drivers_start_nodes feature]
append start_nodes {
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
}
return $start_nodes
}
#
# Boot modules
#
proc qt5_boot_modules { feature_arg } {
upvar $feature_arg feature
set boot_modules {
core
init
}
append boot_modules [drivers_boot_modules feature]
append boot_modules {
nitpicker
}
return $boot_modules
}

View File

@ -0,0 +1,221 @@
#
# Helper functions
#
proc use_audio_out_drv { feature_arg } {
upvar $feature_arg feature
return [info exists feature(Audio_out)]
}
proc use_fb_drv { feature_arg } {
upvar $feature_arg feature
return [have_spec framebuffer]
}
proc use_fb_sdl { feature_arg } {
upvar $feature_arg feature
return [have_spec linux]
}
proc use_gpio_drv { feature_arg } {
upvar $feature_arg feature
return [expr {[use_usb_drv feature] &&
[have_spec gpio]}]
}
proc use_nic_drv { feature_arg } {
upvar $feature_arg feature
return [expr {[info exists feature(Nic)] &&
![use_usb_drv feature]}]
}
proc use_pci_drv { feature_arg } {
upvar $feature_arg feature
return [expr {[use_nic_drv feature] &&
[have_spec pci]}]
}
proc use_ps2_drv { feature_arg } {
upvar $feature_arg feature
return [have_spec ps2]
}
proc use_timer { feature_arg } {
upvar $feature_arg feature
return [info exists feature(Timer)]
}
proc use_usb_drv { feature_arg } {
upvar $feature_arg feature
return [expr {([info exists feature(Input)] ||
[info exists feature(Nic)]) &&
(![use_ps2_drv feature] && [have_spec usb])}]
}
#
# Build
#
proc drivers_build_components { feature_arg } {
upvar $feature_arg feature
set build_components { }
lappend_if [use_audio_out_drv feature] build_components drivers/audio_out
lappend_if [use_fb_drv feature] build_components drivers/framebuffer
lappend_if [use_fb_sdl feature] build_components drivers/framebuffer
lappend_if [use_gpio_drv feature] build_components drivers/gpio
lappend_if [use_nic_drv feature] build_components drivers/nic
lappend_if [use_pci_drv feature] build_components drivers/pci
lappend_if [use_ps2_drv feature] build_components drivers/input/ps2
lappend_if [use_timer feature] build_components drivers/timer
lappend_if [use_usb_drv feature] build_components drivers/usb
return $build_components
}
#
# Configuration
#
proc drivers_parent_provides { feature_arg } {
upvar $feature_arg feature
set parent_provides { }
# TODO: make dependent on features
append 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"/>
}
return $parent_provides
}
proc drivers_start_nodes { feature_arg } {
upvar $feature_arg feature
set start_nodes { }
append_if [use_audio_out_drv feature] start_nodes {
<start name="audio_out_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Audio_out"/></provides>
</start>
}
append_if [use_fb_drv feature] start_nodes {
<start name="fb_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Framebuffer"/></provides>
</start>
}
append_if [use_fb_sdl feature] start_nodes {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</start>
}
append_if [use_gpio_drv feature] start_nodes {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Gpio"/></provides>
<config/>
</start>
}
append_if [use_nic_drv feature] start_nodes {
<start name="nic_drv">
<resource name="RAM" quantum="2M"/>
<provides><service name="Nic"/></provides>
</start>
}
append_if [use_pci_drv feature] start_nodes {
<start name="pci_drv">
<resource name="RAM" quantum="2M"/>
<provides><service name="PCI"/></provides>
</start>
}
append_if [use_ps2_drv feature] start_nodes {
<start name="ps2_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
</start>
}
append_if [use_timer feature] start_nodes {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
}
if { [use_usb_drv feature] } {
append start_nodes {
<start name="usb_drv">
<resource name="RAM" quantum="12M"/>
<provides>}
append_if [info exists feature(Input)] start_nodes {
<service name="Input"/>}
append_if [info exists feature(Nic)] start_nodes {
<service name="Nic"/>}
append start_nodes {
</provides>
<config uhci="yes" ehci="yes" xhci="no">}
append_if [info exists feature(Input)] start_nodes {
<hid/>}
append_if [info exists feature(Nic)] start_nodes {
<nic mac="2e:60:90:0c:4e:01" />}
append start_nodes {
</config>
</start>
}
}
return $start_nodes
}
#
# Boot modules
#
proc drivers_boot_modules { feature_arg } {
upvar $feature_arg feature
set boot_modules { }
lappend_if [use_audio_out_drv feature] boot_modules audio_out_drv
lappend_if [use_fb_drv feature] boot_modules fb_drv
lappend_if [use_fb_sdl feature] boot_modules fb_sdl
lappend_if [use_gpio_drv feature] boot_modules gpio_drv
lappend_if [use_nic_drv feature] boot_modules nic_drv
lappend_if [use_pci_drv feature] boot_modules pci_drv
lappend_if [use_ps2_drv feature] boot_modules ps2_drv
lappend_if [use_timer feature] boot_modules timer
lappend_if [use_usb_drv feature] boot_modules usb_drv
return $boot_modules
}

View File

@ -1,18 +1,17 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/openglwindow
}
build $build_components
create_boot_directory
#
@ -21,59 +20,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="openglwindow">
<resource name="RAM" quantum="80M"/>
<config>
@ -91,12 +48,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
nitpicker
set boot_modules [qt5_boot_modules feature]
append boot_modules {
openglwindow
freetype.lib.so
gallium.lib.so
@ -117,14 +71,9 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 256"
run_genode_until forever

View File

@ -1,19 +1,17 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/previewer
}
build $build_components
create_boot_directory
#
@ -22,59 +20,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="previewer">
<resource name="RAM" quantum="2G"/>
</start>
@ -87,13 +43,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
nitpicker
liquid_fb
set boot_modules [qt5_boot_modules feature]
append boot_modules {
previewer
freetype.lib.so
gallium.lib.so
@ -124,14 +76,9 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 256"
run_genode_until forever

View File

@ -1,21 +1,20 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
set build_components [qt5_build_components feature]
append build_components {
server/loader
server/tar_rom
test/nitpicker
test/qt5/qpluginwidget
}
build $build_components
create_boot_directory
#
@ -24,59 +23,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="loader">
<resource name="RAM" quantum="8M"/>
<provides><service name="Loader"/></provides>
@ -95,12 +52,9 @@ install_config $config
exec sh -c "ln -sf ../test/qt5/qpluginwidget/test-plugin.tar bin/"
# generic modules
set boot_modules {
core
init
timer
nitpicker
set boot_modules [qt5_boot_modules feature]
append boot_modules {
loader
tar_rom
testnit
@ -130,14 +84,9 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 128"
run_genode_until forever

View File

@ -1,19 +1,18 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
set build_components [qt5_build_components feature]
append build_components {
app/qt5/qt_quicktest
lib/qt5/qtdeclarative/src/imports/qtquick2
}
build $build_components
create_boot_directory
#
@ -28,59 +27,17 @@ exec tar chf bin/qt5_fs.tar -C bin/qt5_fs .
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="qt_quicktest">
<resource name="RAM" quantum="80M"/>
<config>
@ -101,16 +58,12 @@ install_config $config
# Boot modules
#
# generic modules
# The QtQuick plugin currently needs to be provided both in the file system
# (for Qt) and as ROM module (for 'dlopen()').
set boot_modules {
core
init
timer
nitpicker
set boot_modules [qt5_boot_modules feature]
append boot_modules {
qt_quicktest
freetype.lib.so
gallium.lib.so
@ -139,14 +92,9 @@ set boot_modules {
qt5_qtquick2plugin.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 256"
run_genode_until forever

View File

@ -1,19 +1,18 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/samegame
lib/qt5/qtdeclarative/src/imports/qtquick2
}
build $build_components
create_boot_directory
#
@ -28,59 +27,17 @@ exec tar chf bin/qt5_fs.tar -C bin/qt5_fs .
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="samegame">
<resource name="RAM" quantum="128M"/>
<config>
@ -101,16 +58,12 @@ install_config $config
# Boot modules
#
# generic modules
# The QtQuick plugin currently needs to be provided both in the file system
# (for Qt) and as ROM module (for 'dlopen()').
set boot_modules {
core
init
timer
nitpicker
set boot_modules [qt5_boot_modules feature]
append boot_modules {
samegame
freetype.lib.so
gallium.lib.so
@ -139,14 +92,9 @@ set boot_modules {
qt5_qtquick2plugin.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 256"
run_genode_until forever

View File

@ -1,18 +1,17 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
build {
core
init
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/tetrix
}
build $build_components
create_boot_directory
#
@ -21,59 +20,17 @@ create_boot_directory
set config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</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 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 [qt5_start_nodes feature]
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="tetrix">
<resource name="RAM" quantum="80M"/>
</start>
@ -86,12 +43,9 @@ install_config $config
# Boot modules
#
# generic modules
set boot_modules {
core
init
timer
nitpicker
set boot_modules [qt5_boot_modules feature]
append boot_modules {
tetrix
freetype.lib.so
gallium.lib.so
@ -114,14 +68,9 @@ set boot_modules {
stdcxx.lib.so
}
# 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
build_boot_image $boot_modules
append qemu_args " -m 128"
run_genode_until forever

View File

@ -1,108 +1,56 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
set build_components {
core
init
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
set build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/textedit
}
set use_sd_card_driver [expr [have_spec omap4] || [have_spec exynos5]]
set use_usb_driver [expr [have_spec omap4] || [have_spec exynos5]]
lappend_if $use_sd_card_driver build_components drivers/sd_card
lappend_if $use_usb_driver build_components drivers/usb
lappend_if [have_spec pci] build_components drivers/pci
lappend_if [have_spec pci] build_components drivers/atapi
lappend_if [have_spec acpi] build_components drivers/acpi
lappend_if [have_spec ps2] build_components drivers/input/ps2
lappend_if [have_spec linux] build_components server/ram_fs
lappend_if [expr ![have_spec linux]] build_components server/ffat_fs
lappend_if [have_spec gpio] build_components drivers/gpio
build $build_components
create_boot_directory
#
# Generate config
#
set config {
append config {
<config>
<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>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route> }
</default-route>}
append_if [have_spec sdl] config {
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</start>}
append config [qt5_start_nodes feature]
append_if [have_spec pci] config {
<start name="pci_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="PCI"/></provides>
</start>
<start name="atapi_drv">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Block"/> </provides>
<config ata="yes" />
</start>}
append_if [have_spec gpio] config {
<start name="gpio_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Gpio"/></provides>
<config/>
</start>}
append_if $use_sd_card_driver config {
<start name="sd_card_drv">
<resource name="RAM" quantum="1M" />
<provides><service name="Block"/></provides>
</start>}
append_if [have_spec framebuffer] config {