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) SRC_CC += $(SOURCES_FILTERED)
# handle moc-headers, resources and ui descriptions # 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)) \ SRC_CC_QT_GENERATED = $(addprefix moc_,$(HEADERS_FILTERED:.h=.cpp)) \
$(addprefix qrc_,$(RESOURCES:.qrc=.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)) 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)) 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)) 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++ \ QT5_INC_DIR += $(REP_DIR)/src/lib/qt5/qtbase/mkspecs/qws/genode-generic-g++ \
$(REP_DIR)/src/lib/qt5/qtbase/src/corelib/global $(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 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 \ INC_DIR += $(REP_DIR)/include/qt5/qtbase/QtCore/private \
$(REP_DIR)/src/lib/qt5/qtbase/src/corelib/thread \ $(REP_DIR)/src/lib/qt5/qtbase/src/corelib/thread \
$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore/$(QT_VERSION) \ $(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore/$(QT_VERSION) \

View File

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

View File

@ -1,21 +1,18 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
# #
# Build # Build
# #
build { set build_components [qt5_build_components feature]
core
init append build_components {
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
app/qt5/qt_launchpad app/qt5/qt_launchpad
app/qt5/examples/calculatorform app/qt5/examples/calculatorform
app/qt5/examples/tetrix app/qt5/examples/tetrix
} }
build $build_components
create_boot_directory create_boot_directory
@ -25,59 +22,17 @@ create_boot_directory
set config { set config {
<config> <config>
<parent-provides> <parent-provides>}
<service name="ROM"/> append config [qt5_parent_provides feature]
<service name="RAM"/> append config {
<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> </parent-provides>
<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 sdl] config { append config [qt5_start_nodes feature]
<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 { 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"> <start name="qt_launchpad">
<resource name="RAM" quantum="80M"/> <resource name="RAM" quantum="80M"/>
</start> </start>
@ -90,13 +45,9 @@ install_config $config
# Boot modules # Boot modules
# #
# generic modules set boot_modules [qt5_boot_modules feature]
set boot_modules {
core append boot_modules {
init
timer
nitpicker
liquid_fb
qt_launchpad qt_launchpad
freetype.lib.so freetype.lib.so
gallium.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 build_boot_image $boot_modules
append qemu_args " -m 512" append qemu_args " -m 512"
run_genode_until forever 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
# #
build { set build_components [qt5_build_components feature]
core
init append build_components {
drivers/input/ps2
drivers/pci
drivers/framebuffer
drivers/timer
drivers/audio_out
server/nitpicker
server/liquid_framebuffer
app/avplay app/avplay
app/qt5/qt_avplay app/qt5/qt_avplay
} }
build $build_components
# #
# Download media file # Download media file
# #
@ -34,63 +33,17 @@ create_boot_directory
set config { set config {
<config> <config>
<parent-provides> <parent-provides>}
<service name="ROM"/> append config [qt5_parent_provides feature]
<service name="RAM"/> append config {
<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> </parent-provides>
<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 sdl] config { append config [qt5_start_nodes feature]
<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 { 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"> <start name="qt_avplay">
<resource name="RAM" quantum="2G"/> <resource name="RAM" quantum="2G"/>
<config> <config>
@ -106,14 +59,9 @@ install_config $config
# Boot modules # Boot modules
# #
# generic modules set boot_modules [qt5_boot_modules feature]
set boot_modules {
core append boot_modules {
init
timer
audio_out_drv
nitpicker
liquid_fb
qt_avplay qt_avplay
freetype.lib.so freetype.lib.so
gallium.lib.so gallium.lib.so
@ -144,12 +92,6 @@ set boot_modules {
stdcxx.lib.so 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 build_boot_image $boot_modules
append qemu_args " -m 768 -soundhw all" append qemu_args " -m 768 -soundhw all"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,108 +1,56 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
# #
# Build # Build
# #
set build_components { set build_components [qt5_build_components feature]
core
init append build_components {
drivers/framebuffer
drivers/timer
server/nitpicker
server/liquid_framebuffer
app/qt5/examples/textedit app/qt5/examples/textedit
} }
set use_sd_card_driver [expr [have_spec omap4] || [have_spec exynos5]] 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_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 pci] build_components drivers/atapi
lappend_if [have_spec acpi] build_components drivers/acpi 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 [have_spec linux] build_components server/ram_fs
lappend_if [expr ![have_spec linux]] build_components server/ffat_fs lappend_if [expr ![have_spec linux]] build_components server/ffat_fs
lappend_if [have_spec gpio] build_components drivers/gpio
build $build_components build $build_components
create_boot_directory create_boot_directory
# #
# Generate config # Generate config
# #
set config { append config {
<config> <config>
<parent-provides> <parent-provides>}
<service name="ROM"/> append config [qt5_parent_provides feature]
<service name="RAM"/> append config {
<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> </parent-provides>
<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 sdl] config { append config [qt5_start_nodes feature]
<start name="fb_sdl">
<resource name="RAM" quantum="4M"/>
<provides>
<service name="Input"/>
<service name="Framebuffer"/>
</provides>
</start>}
append_if [have_spec pci] config { 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"> <start name="atapi_drv">
<resource name="RAM" quantum="1M"/> <resource name="RAM" quantum="1M"/>
<provides> <service name="Block"/> </provides> <provides> <service name="Block"/> </provides>
<config ata="yes" /> <config ata="yes" />
</start>} </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 { append_if $use_sd_card_driver config {
<start name="sd_card_drv"> <start name="sd_card_drv">
<resource name="RAM" quantum="1M" /> <resource name="RAM" quantum="1M" />
<provides><service name="Block"/></provides> <provides><service name="Block"/></provides>
</start>} </start>}
append_if [have_spec framebuffer] config {
<start name="fb_drv">
<resource name="RAM" quantum="4M"/>
<provides><service name="Framebuffer"/></provides>
</start>}
append_if [expr ![have_spec ps2] && [have_spec usb]] config {
<start name="usb_drv">
<resource name="RAM" quantum="12M"/>
<provides><service name="Input"/></provides>
<config uhci="yes" ehci="yes" xhci="no"> <hid/> </config>
</start>}
append_if [have_spec ps2] config {
<start name="ps2_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Input"/></provides>
</start>}
append_if [have_spec linux] config { append_if [have_spec linux] config {
<start name="ram_fs"> <start name="ram_fs">
<resource name="RAM" quantum="10M"/> <resource name="RAM" quantum="10M"/>
@ -125,14 +73,6 @@ append_if [expr ![have_spec linux]] config {
</start>} </start>}
append config { 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="textedit"> <start name="textedit">
<resource name="RAM" quantum="70M"/> <resource name="RAM" quantum="70M"/>
<config xpos="3" ypos="0" width="500" height="710"> <config xpos="3" ypos="0" width="500" height="710">
@ -159,13 +99,9 @@ install_config $config
# Boot modules # Boot modules
# #
# generic modules set boot_modules [qt5_boot_modules feature]
set boot_modules {
core append boot_modules {
init
timer
nitpicker
liquid_fb
textedit textedit
freetype.lib.so freetype.lib.so
gallium.lib.so gallium.lib.so
@ -187,16 +123,10 @@ set boot_modules {
} }
# platform-specific modules # platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
lappend_if [have_spec linux] boot_modules ram_fs lappend_if [have_spec linux] boot_modules ram_fs
lappend_if [expr ![have_spec linux]] boot_modules ffat_fs lappend_if [expr ![have_spec linux]] boot_modules ffat_fs
lappend_if [have_spec pci] boot_modules pci_drv
lappend_if [have_spec pci] boot_modules atapi_drv lappend_if [have_spec pci] boot_modules atapi_drv
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if $use_sd_card_driver boot_modules sd_card_drv lappend_if $use_sd_card_driver boot_modules sd_card_drv
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if [have_spec gpio] boot_modules gpio_drv
build_boot_image $boot_modules build_boot_image $boot_modules
@ -214,3 +144,4 @@ append_if [have_spec pci] qemu_args " -hda $disk_image -boot order=d "
append qemu_args " -m 256" append qemu_args " -m 256"
run_genode_until forever run_genode_until forever

View File

@ -0,0 +1,15 @@
/*
* \brief quiet libc dummy functions to reduce the log noise
* \author Christian Prochaska
* \date 2014-04-16
*/
/*
* Copyright (C) 2014 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
extern "C" void _sigprocmask() { }
extern "C" void sigprocmask() { }

View File

@ -0,0 +1,77 @@
qt5_arm.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
qtjsbackend/src/3rdparty/v8/src/arm/cpu-arm.cc | 6 ++++++
.../Source/JavaScriptCore/assembler/ARMAssembler.h | 7 +++++++
.../JavaScriptCore/assembler/MacroAssemblerARM.cpp | 3 ++-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/qtjsbackend/src/3rdparty/v8/src/arm/cpu-arm.cc b/qtjsbackend/src/3rdparty/v8/src/arm/cpu-arm.cc
index bed9503..286d7be 100644
--- a/qtjsbackend/src/3rdparty/v8/src/arm/cpu-arm.cc
+++ b/qtjsbackend/src/3rdparty/v8/src/arm/cpu-arm.cc
@@ -27,6 +27,10 @@
// CPU specific code for arm independent of OS goes here.
+#ifdef __GENODE__
+#include <cpu/cache.h>
+#endif
+
#include "v8.h"
#if defined(__arm__) && !defined(_WIN32_WCE)
@@ -78,6 +82,8 @@ void CPU::FlushICache(void* start, size_t size) {
// __ARM_NR_cacheflush. As well as Windows CE does not support to flush a
// region, so we need to flush the whole process.
FlushInstructionCache(GetCurrentProcess(), NULL, NULL);
+#elif defined(__GENODE__)
+ Genode::cache_coherent((Genode::addr_t)start, size);
#else
// Ideally, we would call
// syscall(__ARM_NR_cacheflush, start,
diff --git a/qtwebkit/Source/JavaScriptCore/assembler/ARMAssembler.h b/qtwebkit/Source/JavaScriptCore/assembler/ARMAssembler.h
index 18b1017..7b0e2ea 100644
--- a/qtwebkit/Source/JavaScriptCore/assembler/ARMAssembler.h
+++ b/qtwebkit/Source/JavaScriptCore/assembler/ARMAssembler.h
@@ -29,9 +29,14 @@
#if ENABLE(ASSEMBLER) && CPU(ARM_TRADITIONAL)
+#if OS(GENODE)
+#include <cpu/cache.h>
+#endif
+
#include "AssemblerBufferWithConstantPool.h"
#include "JITCompilationEffort.h"
#include <wtf/Assertions.h>
+
namespace JSC {
typedef uint32_t ARMWord;
@@ -1052,6 +1057,8 @@ namespace JSC {
UNUSED_PARAM(size);
#elif OS(QNX)
msync(code, size, MS_INVALIDATE_ICACHE);
+#elif OS(GENODE)
+ Genode::cache_coherent((Genode::addr_t)code, size);
#else
#error "The cacheFlush support is missing on this platform."
#endif
diff --git a/qtwebkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp b/qtwebkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
index 98dc3e9..e26df76 100644
--- a/qtwebkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
+++ b/qtwebkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.cpp
@@ -57,7 +57,8 @@ static bool isVFPPresent()
}
#endif
-#if (COMPILER(RVCT) && defined(__TARGET_FPU_VFP)) || (COMPILER(GCC) && defined(__VFP_FP__))
+#if (COMPILER(RVCT) && defined(__TARGET_FPU_VFP)) || \
+ (COMPILER(GCC) && defined(__VFP_FP__) && !defined(__SOFTFP__))
return true;
#else
return false;

View File

@ -76,7 +76,7 @@ index 5702c59..3d616b5 100644
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
diff --git a/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc b/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc diff --git a/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc b/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc
new file mode 100644 new file mode 100644
index 0000000..3a8cf90 index 0000000..a2e5634
--- /dev/null --- /dev/null
+++ b/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc +++ b/qtjsbackend/src/3rdparty/v8/src/platform-genode.cc
@@ -0,0 +1,701 @@ @@ -0,0 +1,701 @@
@ -209,17 +209,17 @@ index 0000000..3a8cf90
+ return 0; + return 0;
+} +}
+ +
+#if 0 +
+CpuImplementer OS::GetCpuImplementer() { +CpuImplementer OS::GetCpuImplementer() {
+ UNIMPLEMENTED(); + return UNKNOWN_IMPLEMENTER;
+} +}
+ +
+ +
+bool OS::ArmCpuHasFeature(CpuFeature feature) { +bool OS::ArmCpuHasFeature(CpuFeature feature) {
+ UNIMPLEMENTED(); + return false;
+} +}
+ +
+ +#if 0
+bool OS::ArmUsingHardFloat() { +bool OS::ArmUsingHardFloat() {
+ UNIMPLEMENTED(); + UNIMPLEMENTED();
+} +}

View File

@ -7,7 +7,8 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
.../fontdatabases/basic/qbasicfontdatabase.cpp | 9 +++++++++ .../fontdatabases/basic/qbasicfontdatabase.cpp | 9 +++++++++
.../input/evdevkeyboard/qevdevkeyboardhandler.cpp | 9 ++++++--- .../input/evdevkeyboard/qevdevkeyboardhandler.cpp | 9 ++++++---
.../input/evdevkeyboard/qevdevkeyboardhandler_p.h | 2 ++ .../input/evdevkeyboard/qevdevkeyboardhandler_p.h | 2 ++
3 files changed, 17 insertions(+), 3 deletions(-) qtbase/src/widgets/kernel/qwidget_qpa.cpp | 2 +-
4 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/qtbase/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/qtbase/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp diff --git a/qtbase/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp b/qtbase/src/platformsupport/fontdatabases/basic/qbasicfontdatabase.cpp
index 9b87418..aa25c6b 100644 index 9b87418..aa25c6b 100644
@ -91,3 +92,16 @@ index 1065b05..b395d46 100644
KeycodeAction processKeycode(quint16 keycode, bool pressed, bool autorepeat); KeycodeAction processKeycode(quint16 keycode, bool pressed, bool autorepeat);
private: private:
diff --git a/qtbase/src/widgets/kernel/qwidget_qpa.cpp b/qtbase/src/widgets/kernel/qwidget_qpa.cpp
index dafe7dc..79bfd40 100644
--- a/qtbase/src/widgets/kernel/qwidget_qpa.cpp
+++ b/qtbase/src/widgets/kernel/qwidget_qpa.cpp
@@ -933,7 +933,7 @@ void QWidgetPrivate::registerDropSite(bool on)
void QWidgetPrivate::setMask_sys(const QRegion &region)
{
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowMasks)) {
- qWarning("%s: Not supported on %s.", Q_FUNC_INFO, qPrintable(QGuiApplication::platformName()));
+ //qWarning("%s: Not supported on %s.", Q_FUNC_INFO, qPrintable(QGuiApplication::platformName()));
return;
}
Q_Q(QWidget);

View File

@ -4,16 +4,16 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
--- ---
qtbase/examples/widgets/richtext/textedit/main.cpp | 21 +++++++++++++++++++- qtbase/examples/widgets/richtext/textedit/main.cpp | 17 ++++++++++++++++-
.../widgets/richtext/textedit/textedit.cpp | 11 +++++----- .../widgets/richtext/textedit/textedit.cpp | 11 +++++------
.../widgets/richtext/textedit/textedit.pro | 4 ---- .../widgets/richtext/textedit/textedit.pro | 4 ----
3 files changed, 25 insertions(+), 11 deletions(-) 3 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/qtbase/examples/widgets/richtext/textedit/main.cpp b/qtbase/examples/widgets/richtext/textedit/main.cpp diff --git a/qtbase/examples/widgets/richtext/textedit/main.cpp b/qtbase/examples/widgets/richtext/textedit/main.cpp
index 196dbfc..2513df9 100644 index 196dbfc..ff8d024 100644
--- a/qtbase/examples/widgets/richtext/textedit/main.cpp --- a/qtbase/examples/widgets/richtext/textedit/main.cpp
+++ b/qtbase/examples/widgets/richtext/textedit/main.cpp +++ b/qtbase/examples/widgets/richtext/textedit/main.cpp
@@ -39,16 +39,35 @@ @@ -39,6 +39,10 @@
** **
****************************************************************************/ ****************************************************************************/
@ -24,11 +24,7 @@ index 196dbfc..2513df9 100644
#include "textedit.h" #include "textedit.h"
#include <QApplication> #include <QApplication>
+/* disable "not implemented yet" messages */ @@ -46,9 +50,20 @@ int main(int argc, char *argv[])
+extern "C" void _sigprocmask() { }
+extern "C" void sigprocmask() { }
+
int main(int argc, char *argv[])
{ {
Q_INIT_RESOURCE(textedit); Q_INIT_RESOURCE(textedit);

View File

@ -13,4 +13,5 @@ qt5_qtwebkit.patch
qt5_textedit_example.patch qt5_textedit_example.patch
qt5_openglwindow_example.patch qt5_openglwindow_example.patch
qt5_qml.patch qt5_qml.patch
qt5_arm.patch
qt5_tools.patch qt5_tools.patch

View File

@ -1,6 +1,7 @@
<config> <config>
<parent-provides> <parent-provides>
<service name="LOG"/> <service name="LOG"/>
<service name="RM"/>
<service name="SIGNAL"/> <service name="SIGNAL"/>
<service name="Timer"/> <service name="Timer"/>
<service name="Nitpicker"/> <service name="Nitpicker"/>

View File

@ -14,16 +14,7 @@ include $(REP_DIR)/lib/mk/qt5_version.inc
# #
all: qmake/qmake moc/moc rcc/rcc uic/uic all: qmake/qmake moc/moc rcc/rcc uic/uic
# QMAKESPEC = $(REP_DIR)/contrib/$(QT5)/qtbase/mkspecs/linux-g++
# Determine qmakespec to be passed to the sub makefiles
#
ifeq ($(shell uname -m),x86_64)
HOST_ARCH := 64
else
HOST_ARCH := 32
endif
QMAKESPEC = $(REP_DIR)/contrib/$(QT5)/qtbase/mkspecs/linux-g++-$(HOST_ARCH)
# #
# Build qmake # Build qmake

View File

@ -1,22 +1,18 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
set feature(Nic) 1
# #
# Build # Build
# #
set build_components { set build_components [qt5_build_components feature]
core init
drivers/timer drivers/framebuffer drivers/pci drivers/input drivers/nic append build_components {
server/nitpicker
server/loader server/tar_rom server/nit_fb app/launchpad test/nitpicker server/loader server/tar_rom server/nit_fb app/launchpad test/nitpicker
app/arora app/arora
} }
#
# Qt5-specific components to build
#
append_if [expr ![have_spec qt4_deprecated]] build_components {
server/liquid_framebuffer
}
build $build_components build $build_components
create_boot_directory create_boot_directory
@ -30,65 +26,19 @@ exec tar cf bin/nitpicker_plugin.tar -C [genode_dir]/repos/ports/src/app/arora/d
# Generate config # Generate config
# #
append config { set config {
<config> <config>
<parent-provides> <parent-provides>}
<service name="ROM"/> append config [qt5_parent_provides feature]
<service name="RAM"/> append config {
<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> </parent-provides>
<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 sdl] config { append config [qt5_start_nodes feature]
<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="2M"/>
<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 { append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv">
<resource name="RAM" quantum="2M"/>
<provides><service name="Nic"/></provides>
</start>
<start name="nitpicker">
<resource name="RAM" quantum="1M"/>
<provides><service name="Nitpicker"/></provides>
</start>
<start name="loader"> <start name="loader">
<resource name="RAM" quantum="2M"/> <resource name="RAM" quantum="2M"/>
<provides><service name="Loader"/></provides> <provides><service name="Loader"/></provides>
@ -109,11 +59,9 @@ install_config $config
# Boot modules # Boot modules
# #
# generic modules set boot_modules [qt5_boot_modules feature]
set boot_modules {
core init append boot_modules {
timer nic_drv
nitpicker
loader loader
tar_rom tar_rom
nit_fb nit_fb
@ -152,7 +100,6 @@ if {[have_spec qt4_deprecated]} {
# Qt5-specific boot modules # Qt5-specific boot modules
# #
append boot_modules { append boot_modules {
liquid_fb
gallium.lib.so gallium.lib.so
icu.lib.so icu.lib.so
pthread.lib.so pthread.lib.so
@ -176,12 +123,6 @@ if {[have_spec qt4_deprecated]} {
} }
} }
# 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 build_boot_image $boot_modules
append qemu_args " -m 512 " append qemu_args " -m 512 "
@ -192,3 +133,4 @@ append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 "
append qemu_args " -net user " append qemu_args " -net user "
run_genode_until forever run_genode_until forever

View File

@ -1,23 +0,0 @@
arora_disable_log_messages.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
src/main.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/main.cpp b/src/main.cpp
index 1d4d531..a9771b0 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -24,6 +24,9 @@
#include "explorerstyle.h"
#endif
+/* disable "not implemented yet" messages */
+extern "C" void _sigprocmask() { }
+
int main(int argc, char **argv)
{
Q_INIT_RESOURCE(htmls);

View File

@ -6,5 +6,4 @@ arora_disable_adblock.patch
arora_bookmarks.patch arora_bookmarks.patch
arora_disable_program_exit.patch arora_disable_program_exit.patch
arora_startpage.patch arora_startpage.patch
arora_disable_log_messages.patch
arora_disable_ssl_messageboxes.patch arora_disable_ssl_messageboxes.patch