committed by
Norman Feske
parent
693a1f7f8c
commit
a6de6457d2
@@ -1 +1 @@
|
||||
b24c400f7a93a67b3b92d819bd6946c8e94a88e9
|
||||
eb3143d9b96a51dd960e53a4229df48bff1daccd
|
||||
|
||||
@@ -2,7 +2,7 @@ LICENSE := MIT
|
||||
VERSION := git
|
||||
DOWNLOADS := libxml2.git
|
||||
|
||||
URL(libxml2) := git://git.gnome.org/libxml2
|
||||
URL(libxml2) := https://gitlab.gnome.org/GNOME/libxml2.git
|
||||
DIR(libxml2) := src/lib/libxml2
|
||||
REV(libxml2) := v2.9.4
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ _/raw/abuse
|
||||
_/src/abuse
|
||||
_/src/jpeg
|
||||
_/src/libc
|
||||
_/src/nit_fb
|
||||
_/src/sdl
|
||||
_/src/sdl_image
|
||||
_/src/sdl_mixer
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
<runtime ram="64M" caps="512" binary="init">
|
||||
<runtime ram="64M" caps="512" binary="abuse">
|
||||
|
||||
<requires>
|
||||
<audio_out/>
|
||||
<file_system/>
|
||||
<nitpicker/>
|
||||
<timer/>
|
||||
<rtc/>
|
||||
</requires>
|
||||
|
||||
<content>
|
||||
<rom label="abuse"/>
|
||||
<rom label="abuse.tar"/>
|
||||
<rom label="init"/>
|
||||
<rom label="jpeg.lib.so"/>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="libpng.lib.so"/>
|
||||
<rom label="nit_fb"/>
|
||||
<rom label="pthread.lib.so"/>
|
||||
<rom label="sdl_image.lib.so"/>
|
||||
<rom label="sdl.lib.so"/>
|
||||
<rom label="sdl_mixer.lib.so"/>
|
||||
@@ -28,45 +26,16 @@
|
||||
</content>
|
||||
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="ROM"/>
|
||||
<service name="Nitpicker"/>
|
||||
<service name="Report"/>
|
||||
<service name="Timer"/>
|
||||
<service name="Audio_out"/>
|
||||
<service name="File_system"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<start name="nit_fb" caps="96">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Framebuffer"/>
|
||||
<service name="Input"/>
|
||||
</provides>
|
||||
<config initial_width="640" initial_height="400"/>
|
||||
</start>
|
||||
<start name="abuse" caps="200">
|
||||
<resource name="RAM" quantum="128M"/>
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
<tar name="abuse.tar"/>
|
||||
<fs/>
|
||||
<dir name="dev">
|
||||
<log/>
|
||||
<inline name="rtc">1996-02-29 12:00</inline>
|
||||
</dir>
|
||||
</vfs>
|
||||
<arg value="abuse"/>
|
||||
<arg value="-datadir"/> <arg value="/"/>
|
||||
</config>
|
||||
</start>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
<tar name="abuse.tar"/>
|
||||
<fs/>
|
||||
<dir name="dev">
|
||||
<log/> <rtc/>
|
||||
</dir>
|
||||
</vfs>
|
||||
<arg value="abuse"/>
|
||||
<arg value="-datadir"/> <arg value="/"/>
|
||||
</config>
|
||||
|
||||
</runtime>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
_/src/chocolate-doom
|
||||
cnuke/raw/shareware-wads/18.08
|
||||
_/src/libc
|
||||
_/src/nit_fb
|
||||
_/src/sdl
|
||||
_/src/sdl_mixer
|
||||
_/src/sdl_net
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
<runtime ram="80M" caps="512" binary="init">
|
||||
<runtime ram="80M" caps="512" binary="chocolate-doom">
|
||||
|
||||
<requires> <audio_out/> <nitpicker/> <nic/> <timer/> </requires>
|
||||
<requires> <audio_out/> <nitpicker/> <nic/> <timer/> <rtc/> </requires>
|
||||
|
||||
<content>
|
||||
<rom label="ld.lib.so"/>
|
||||
<rom label="init"/>
|
||||
<rom label="init.config"/>
|
||||
<rom label="nit_fb"/>
|
||||
<rom label="chocolate-doom"/>
|
||||
<rom label="libc.lib.so"/>
|
||||
<rom label="pthread.lib.so"/>
|
||||
<rom label="libm.lib.so"/>
|
||||
<rom label="sdl.lib.so"/>
|
||||
<rom label="sdl_mixer.lib.so"/>
|
||||
@@ -19,47 +15,13 @@
|
||||
</content>
|
||||
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
<service name="Timer"/>
|
||||
<service name="Audio_out"/>
|
||||
<service name="Nitpicker"/>
|
||||
<service name="Nic"/>
|
||||
</parent-provides>
|
||||
|
||||
<default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>
|
||||
|
||||
<default caps="100"/>
|
||||
|
||||
<start name="nit_fb">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
|
||||
<config initial_width="1024" initial_height="768"/>
|
||||
</start>
|
||||
|
||||
<start name="doom" caps="300">
|
||||
<binary name="chocolate-doom"/>
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" stdin="/dev/null" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
<dir name="dev">
|
||||
<log/>
|
||||
<inline name="rtc">2018-08-31 18:00</inline>
|
||||
</dir>
|
||||
<rom name="doom1.wad"/>
|
||||
</vfs>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Framebuffer"> <child name="nit_fb"/> </service>
|
||||
<service name="Input"> <child name="nit_fb"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" stdin="/dev/null" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
<dir name="dev">
|
||||
<log/> <rtc/>
|
||||
</dir>
|
||||
<rom name="doom1.wad"/>
|
||||
</vfs>
|
||||
</config>
|
||||
|
||||
</runtime>
|
||||
|
||||
@@ -6,4 +6,5 @@ zlib
|
||||
audio_out_session
|
||||
framebuffer_session
|
||||
input_session
|
||||
nitpicker_session
|
||||
timer_session
|
||||
|
||||
@@ -34,4 +34,4 @@ set boot_modules {
|
||||
vfs.lib.so
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/world/run/framebuffer_app.inc
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
116
run/avplay.run
116
run/avplay.run
@@ -1,18 +1,4 @@
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
timer
|
||||
drivers/framebuffer drivers/input drivers/audio
|
||||
app/avplay drivers/acpi
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
set build_components { app/avplay }
|
||||
|
||||
#
|
||||
# Download media file
|
||||
@@ -24,71 +10,7 @@ if {![file exists bin/mediafile]} {
|
||||
catch { exec wget -O bin/mediafile $media_url }
|
||||
}
|
||||
|
||||
proc audio_drv_attr { } {
|
||||
if {[have_spec linux]} {
|
||||
return {ld="no"} }
|
||||
return "";
|
||||
}
|
||||
|
||||
#
|
||||
# Generate config
|
||||
#
|
||||
|
||||
create_boot_directory
|
||||
|
||||
set config {
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>
|
||||
}
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl" ld="no">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
<config width="1024" height="768"/>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec framebuffer] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<config buffered="yes" width="1024" height="768"/>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec ps2] config {
|
||||
<start name="ps2_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
</start> }
|
||||
|
||||
append config {
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>
|
||||
<start name="audio_drv" } [audio_drv_attr] {>
|
||||
<binary name="} [audio_drv_binary] {"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides> <service name="Audio_out"/> </provides>
|
||||
</start>
|
||||
set app_config {
|
||||
<start name="avplay" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
@@ -103,38 +25,14 @@ append config {
|
||||
</vfs>
|
||||
<libc rtc="/dev/rtc" stdout="/dev/log" stderr="/dev/log"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Platform"> <any-child /> </service>
|
||||
<service name="Audio_out"> <child name="audio_drv"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>
|
||||
}
|
||||
</start>}
|
||||
|
||||
install_config $config
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
|
||||
append boot_modules {
|
||||
core init timer } [audio_drv_binary] { avplay
|
||||
ld.lib.so libc.lib.so vfs.lib.so vfs.lib.so vfs.lib.so libm.lib.so zlib.lib.so sdl.lib.so
|
||||
set boot_modules {
|
||||
avplay
|
||||
libc.lib.so vfs.lib.so vfs.lib.so vfs.lib.so libm.lib.so zlib.lib.so sdl.lib.so
|
||||
avfilter.lib.so avutil.lib.so avcodec.lib.so avformat.lib.so swscale.lib.so
|
||||
avresample.lib.so
|
||||
mediafile
|
||||
}
|
||||
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
append qemu_args " -soundhw es1370"
|
||||
|
||||
run_genode_until forever
|
||||
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -1,140 +1,6 @@
|
||||
#
|
||||
# Build
|
||||
#
|
||||
set build_components { app/chocolate-doom/doom }
|
||||
|
||||
if {[have_include "power_on/qemu"]} {
|
||||
puts "\nRunning on Qemu is not recommended.\n"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# On x86 systems w/o ps2 only use usb input
|
||||
#
|
||||
set use_usb_input_only 0
|
||||
|
||||
set use_audio [expr ![have_spec arm]]
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
timer
|
||||
drivers/framebuffer
|
||||
drivers/input
|
||||
|
||||
app/chocolate-doom/doom
|
||||
}
|
||||
|
||||
|
||||
if {[have_spec linux]} {
|
||||
set use_usb_input_only 1
|
||||
}
|
||||
|
||||
lappend_if $use_audio build_components drivers/audio
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
|
||||
lappend_if [expr ![have_spec linux]] build_components drivers/usb
|
||||
lappend_if [expr !$use_usb_input_only] build_components server/input_merger
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate 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>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>
|
||||
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl" ld="no">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec vesa] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<config buffered="yes"/>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec pl11x] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr [have_spec ps2] && !$use_usb_input_only] config {
|
||||
<start name="ps2_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr ![have_spec linux]] config {
|
||||
<start name="usb_drv">
|
||||
<resource name="RAM" quantum="12M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
<config uhci="yes" ehci="yes" xhci="yes">
|
||||
<hid/>
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
append_if $use_audio config {
|
||||
<start name="audio_drv">
|
||||
<binary name="} [audio_drv_binary] {"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides><service name="Audio_out"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [expr !$use_usb_input_only] config {
|
||||
<start name="input_merger">
|
||||
<resource name="RAM" quantum="1M" />
|
||||
<provides>
|
||||
<service name="Input" />
|
||||
</provides>
|
||||
<config>
|
||||
<input label="ps2" />
|
||||
<input label="usb_hid" />
|
||||
</config>
|
||||
<route>
|
||||
<service name="Input" label="ps2"> <child name="ps2_drv" /> </service>
|
||||
<service name="Input" label="usb_hid"> <child name="usb_drv" /> </service>
|
||||
<any-service> <parent /> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append config {
|
||||
set app_config {
|
||||
<start name="chocolate-doom" caps="300">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<config>
|
||||
@@ -146,16 +12,8 @@ append config {
|
||||
</vfs>
|
||||
</libc>
|
||||
</config>
|
||||
<route>}
|
||||
append_if [expr !$use_usb_input_only] config {
|
||||
<service name="Input"><child name="input_merger" /></service>}
|
||||
append config {
|
||||
<any-service> <parent /> <any-child /></any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>}
|
||||
</start>}
|
||||
|
||||
install_config $config
|
||||
|
||||
if {![file exists bin/data.tar]} {
|
||||
if {![file exists bin/doom1.wad]} {
|
||||
@@ -168,29 +26,10 @@ if {![file exists bin/data.tar]} {
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
|
||||
# generic modules
|
||||
append boot_modules {
|
||||
core init timer } [audio_drv_binary] {
|
||||
ld.lib.so libc.lib.so vfs.lib.so libm.lib.so pthread.lib.so
|
||||
set boot_modules {
|
||||
libc.lib.so vfs.lib.so libm.lib.so
|
||||
sdl.lib.so sdl_net.lib.so sdl_mixer.lib.so
|
||||
chocolate-doom doom1.wad
|
||||
}
|
||||
|
||||
# platform-specific modules
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
lappend_if $use_audio boot_modules audio_drv
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec vesa] boot_modules fb_drv
|
||||
lappend_if [expr ![have_spec linux]] boot_modules usb_drv
|
||||
lappend_if [expr !$use_usb_input_only] boot_modules input_merger
|
||||
lappend_if [expr [have_spec ps2] && !$use_usb_input_only] boot_modules ps2_drv
|
||||
lappend_if [have_spec pl11x] boot_modules fb_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
run_genode_until forever
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
126
run/grafx2.run
126
run/grafx2.run
@@ -1,97 +1,6 @@
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
timer
|
||||
app/grafx2 server/ram_fs
|
||||
drivers/framebuffer drivers/platform drivers/input
|
||||
}
|
||||
|
||||
lappend_if [have_spec usb] build_components drivers/usb
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate config
|
||||
#
|
||||
|
||||
append config {
|
||||
<config prio_levels="4">
|
||||
<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>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>
|
||||
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl" ld="no">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec platform_rpi] config {
|
||||
<start name="platform_drv" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Platform"/></provides>
|
||||
<config/>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec framebuffer] config {
|
||||
<start name="fb_drv" priority="-1">
|
||||
<resource name="RAM" quantum="6M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<config buffered="yes" />
|
||||
</start>}
|
||||
|
||||
append_if [have_spec ps2] config {
|
||||
<start name="ps2_drv" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></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 ehci="yes" uhci="yes" xhci="no"> <hid/> </config>
|
||||
</start> }
|
||||
|
||||
append config {
|
||||
<start name="ram_fs" priority="-1">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="File_system"/> </provides>
|
||||
<config> <default-policy writeable="yes" root="/"/> </config>
|
||||
</start>
|
||||
set build_components { app/grafx2 }
|
||||
|
||||
set app_config {
|
||||
<start name="grafx2" priority="-2" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
@@ -99,30 +8,18 @@ append config {
|
||||
<vfs>
|
||||
<tar name="grafx2_data.tar" />
|
||||
<dir name="dev"> <log/> </dir>
|
||||
<fs/>
|
||||
<ram/>
|
||||
</vfs>
|
||||
</libc>
|
||||
</config>
|
||||
</start>
|
||||
</config>}
|
||||
</start>}
|
||||
|
||||
install_config $config
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
|
||||
# generic modules
|
||||
set boot_modules {
|
||||
core init
|
||||
timer ram_fs
|
||||
grafx2
|
||||
jpeg.lib.so
|
||||
ld.lib.so
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
libpng.lib.so
|
||||
pthread.lib.so
|
||||
sdl_image.lib.so
|
||||
sdl.lib.so
|
||||
zlib.lib.so
|
||||
@@ -130,17 +27,4 @@ set boot_modules {
|
||||
grafx2_data.tar
|
||||
}
|
||||
|
||||
# platform-specific modules
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
# platform-specific modules
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec usb] boot_modules usb_drv
|
||||
lappend_if [have_spec platform_rpi] boot_modules platform_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
|
||||
run_genode_until forever
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -1,18 +1,6 @@
|
||||
set build_components { app/ltris server/ram_fs }
|
||||
set build_components { app/ltris }
|
||||
|
||||
set app_config {
|
||||
|
||||
<start name="ram_fs" priority="-1">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="File_system"/> </provides>
|
||||
<config>
|
||||
<default-policy root="/" writeable="yes" />
|
||||
<content>
|
||||
<dir name="var"/>
|
||||
</content>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="ltris" priority="-2" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
@@ -22,17 +10,16 @@ set app_config {
|
||||
<dir name="dev">
|
||||
<log/> <inline name="rtc">2000-01-01 00:00</inline>
|
||||
</dir>
|
||||
<fs/>
|
||||
<dir name="var"> <ram/> </dir>
|
||||
<ram/>
|
||||
</vfs>
|
||||
</config>
|
||||
</start> }
|
||||
|
||||
set boot_modules {
|
||||
ram_fs
|
||||
ltris
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
pthread.lib.so
|
||||
sdl_mixer.lib.so
|
||||
sdl.lib.so
|
||||
stdcxx.lib.so
|
||||
@@ -40,6 +27,4 @@ set boot_modules {
|
||||
ltris_data.tar
|
||||
}
|
||||
|
||||
set fb_config {<config buffered="yes" width="640" height="480"/>}
|
||||
|
||||
source ${genode_dir}/repos/world/run/framebuffer_app.inc
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -11,9 +11,11 @@
|
||||
|
||||
create_boot_directory
|
||||
|
||||
import_from_depot genodelabs/src/[base_src] \
|
||||
genodelabs/pkg/[drivers_interactive_pkg] \
|
||||
genodelabs/src/init
|
||||
import_from_depot [depot_user]/src/[base_src] \
|
||||
[depot_user]/pkg/[drivers_interactive_pkg] \
|
||||
[depot_user]/src/init \
|
||||
[depot_user]/src/nitpicker \
|
||||
[depot_user]/pkg/motif_wm \
|
||||
|
||||
|
||||
if {![info exists fb_config]} {
|
||||
@@ -39,6 +41,8 @@ install_config {
|
||||
</parent-provides>
|
||||
|
||||
<default-route>
|
||||
<service name="Nitpicker">
|
||||
<child name="wm"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
|
||||
@@ -63,12 +67,52 @@ install_config {
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>
|
||||
|
||||
<start name="nitpicker">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides><service name="Nitpicker"/></provides>
|
||||
<config focus="rom">
|
||||
<domain name="pointer" layer="1" content="client" label="no" origin="pointer" />
|
||||
<domain name="default" layer="2" content="client" label="no" hover="always"/>
|
||||
|
||||
<policy label_prefix="pointer" domain="pointer"/>
|
||||
<default-policy domain="default"/>
|
||||
</config>
|
||||
</start>
|
||||
|
||||
<start name="pointer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<route>
|
||||
<service name="Nitpicker"> <child name="nitpicker"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="wm" caps="1000">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<binary name="init"/>
|
||||
<provides> <service name="Nitpicker"/> </provides>
|
||||
<route>
|
||||
<service name="ROM" label="config"> <parent label="wm.config"/> </service>
|
||||
<service name="Nitpicker"> <child name="nitpicker"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
} $app_config {
|
||||
|
||||
</config>}
|
||||
|
||||
build $build_components
|
||||
|
||||
#
|
||||
# Pin the nitpicker focus to the window manager by providing a static focus ROM
|
||||
#
|
||||
set fd [open [run_dir]/genode/focus w]
|
||||
puts $fd "<focus label=\"wm -> wm -> \"/>"
|
||||
close $fd
|
||||
|
||||
file copy -force [genode_dir]/repos/gems/recipes/raw/motif_wm/wm.config [run_dir]/genode/
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
run_genode_until forever
|
||||
@@ -1,15 +1,6 @@
|
||||
set build_components { app/numptyphysics server/ram_fs }
|
||||
|
||||
set fb_config { <config buffered="yes" width="800" height="600"/> }
|
||||
set build_components { app/numptyphysics }
|
||||
|
||||
set app_config {
|
||||
|
||||
<start name="ram_fs" priority="-1">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="File_system"/> </provides>
|
||||
<config> <default-policy writeable="yes" root="/"/> </config>
|
||||
</start>
|
||||
|
||||
<start name="numptyphysics" priority="-2" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
@@ -19,20 +10,18 @@ set app_config {
|
||||
<dir name="dev">
|
||||
<log/> <inline name="rtc">2000-01-01 00:00</inline>
|
||||
</dir>
|
||||
<fs/>
|
||||
<ram/>
|
||||
</vfs>
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
set boot_modules {
|
||||
ram_fs
|
||||
numptyphysics
|
||||
freetype.lib.so
|
||||
jpeg.lib.so
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
libpng.lib.so
|
||||
pthread.lib.so
|
||||
sdl_image.lib.so
|
||||
sdl.lib.so
|
||||
sdl_ttf.lib.so
|
||||
@@ -41,4 +30,4 @@ set boot_modules {
|
||||
numptyphysics_data.tar
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/world/run/framebuffer_app.inc
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
94
run/sdl.run
94
run/sdl.run
@@ -1,101 +1,17 @@
|
||||
#
|
||||
# Build
|
||||
#
|
||||
set build_components { test/sdl }
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
timer
|
||||
test/sdl
|
||||
drivers/framebuffer drivers/input
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate config
|
||||
#
|
||||
|
||||
append config {
|
||||
<config>
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="CPU"/>
|
||||
<service name="LOG"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>}
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl" ld="no">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec framebuffer] config {
|
||||
<start name="fb_drv" caps="200">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec ps2] config {
|
||||
<start name="ps2_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append config {
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>
|
||||
set app_config {
|
||||
<start name="test-sdl">
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<config>
|
||||
<vfs> <dir name="dev"> <log/> </dir> </vfs>
|
||||
<libc stdout="/dev/log"/>
|
||||
</config>
|
||||
</start>
|
||||
</config>}
|
||||
</start>}
|
||||
|
||||
install_config $config
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
|
||||
# generic modules
|
||||
set boot_modules {
|
||||
core init
|
||||
timer
|
||||
test-sdl
|
||||
ld.lib.so libc.lib.so vfs.lib.so libm.lib.so sdl.lib.so
|
||||
libc.lib.so vfs.lib.so libm.lib.so sdl.lib.so
|
||||
}
|
||||
|
||||
# platform-specific modules
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec framebuffer] boot_modules fb_drv
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
|
||||
run_genode_until forever
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -1,13 +1,6 @@
|
||||
set build_components { app/supertux server/ram_fs }
|
||||
set build_components { app/supertux }
|
||||
|
||||
set app_config {
|
||||
|
||||
<start name="ram_fs" priority="-1">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides> <service name="File_system"/> </provides>
|
||||
<config> <default-policy writeable="yes" root="/"/> </config>
|
||||
</start>
|
||||
|
||||
<start name="supertux" priority="-2" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<config>
|
||||
@@ -17,19 +10,17 @@ set app_config {
|
||||
<dir name="dev">
|
||||
<log/> <inline name="rtc">2000-01-01 00:00</inline>
|
||||
</dir>
|
||||
<fs/>
|
||||
<ram/>
|
||||
</vfs>
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
set boot_modules {
|
||||
ram_fs
|
||||
supertux
|
||||
jpeg.lib.so
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
libpng.lib.so
|
||||
pthread.lib.so
|
||||
sdl_image.lib.so
|
||||
sdl_mixer.lib.so
|
||||
sdl.lib.so
|
||||
@@ -38,4 +29,4 @@ set boot_modules {
|
||||
supertux_data.tar
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/world/run/framebuffer_app.inc
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
set build_components { app/tuxmath }
|
||||
|
||||
set app_config {
|
||||
<start name="tuxmath" priority="-2" caps="200">
|
||||
<resource name="RAM" quantum="64M"/>
|
||||
<start name="tuxmath" priority="-2" caps="384">
|
||||
<resource name="RAM" quantum="96M"/>
|
||||
<config>
|
||||
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
||||
<vfs>
|
||||
@@ -18,7 +18,6 @@ set boot_modules {
|
||||
tuxmath
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
pthread.lib.so
|
||||
libiconv.lib.so
|
||||
jpeg.lib.so
|
||||
freetype.lib.so
|
||||
@@ -32,4 +31,4 @@ set boot_modules {
|
||||
tuxmath_data.tar
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/world/run/framebuffer_app.inc
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
136
run/tyrian.run
136
run/tyrian.run
@@ -1,104 +1,8 @@
|
||||
#
|
||||
# Build
|
||||
#
|
||||
set build_components { app/opentyrian }
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
drivers/audio
|
||||
drivers/framebuffer
|
||||
drivers/input
|
||||
drivers/input/dummy
|
||||
timer
|
||||
app/opentyrian
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
# override default platform driver policy
|
||||
proc platform_drv_policy {} {
|
||||
return {
|
||||
<policy label_prefix="ps2_drv"> <device name="PS2"/> </policy>
|
||||
<policy label_prefix="usb_drv"> <pci class="USB"/> </policy>
|
||||
<policy label_prefix="fb_drv"> <pci class="VGA"/> </policy>
|
||||
<policy label_prefix="audio_drv"> <pci class="AUDIO"/> <pci class="HDAUDIO"/> </policy>}
|
||||
}
|
||||
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate config
|
||||
#
|
||||
|
||||
append config {
|
||||
<config>
|
||||
<default caps="128"/>
|
||||
<parent-provides>
|
||||
<service name="CAP"/>
|
||||
<service name="CPU"/>
|
||||
<service name="IO_MEM"/>
|
||||
<service name="IO_PORT"/>
|
||||
<service name="IRQ"/>
|
||||
<service name="LOG"/>
|
||||
<service name="PD"/>
|
||||
<service name="RM"/>
|
||||
<service name="ROM"/>
|
||||
<service name="SIGNAL"/>
|
||||
</parent-provides>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
<config width="640" height="400" />
|
||||
</start>
|
||||
<alias name="input_drv" child="fb_sdl"/>
|
||||
<alias name="fb_drv" child="fb_sdl"/>}
|
||||
|
||||
append_if [have_spec vesa] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<config width="640" height="400" />
|
||||
</start>}
|
||||
|
||||
append_if [have_spec pl11x] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<config width="640" height="400" />
|
||||
</start>}
|
||||
|
||||
append_if [have_spec ps2] config {
|
||||
<start name="ps2_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append config {
|
||||
<start name="timer">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>
|
||||
<start name="audio_drv">
|
||||
<binary name="} [audio_drv_binary] {"/>
|
||||
<resource name="RAM" quantum="6M"/>
|
||||
<provides><service name="Audio_out"/></provides>
|
||||
</start>
|
||||
set app_config {
|
||||
|
||||
<start name="opentyrian">
|
||||
<exit propagate="yes"/>
|
||||
<resource name="RAM" quantum="128M"/>
|
||||
<config>
|
||||
<sdl_audio_volume value="100"/>
|
||||
@@ -109,45 +13,19 @@ append config {
|
||||
<ram/>
|
||||
</vfs>
|
||||
</config>
|
||||
</start>
|
||||
</config>}
|
||||
</start>}
|
||||
|
||||
install_config $config
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Boot modules
|
||||
#
|
||||
file copy -force app/opentyrian/tyrian.tar [run_dir]/genode
|
||||
|
||||
file copy -force app/opentyrian/tyrian.tar bin
|
||||
|
||||
# generic modules
|
||||
append boot_modules {
|
||||
core init
|
||||
} [audio_drv_binary] {
|
||||
dummy_input_drv
|
||||
ld.lib.so
|
||||
set boot_modules {
|
||||
libc.lib.so vfs.lib.so
|
||||
libm.lib.so
|
||||
libpng.lib.so
|
||||
pthread.lib.so
|
||||
posix.lib.so
|
||||
sdl.lib.so
|
||||
sdl_net.lib.so
|
||||
stdcxx.lib.so
|
||||
timer
|
||||
opentyrian tyrian.tar
|
||||
}
|
||||
|
||||
# platform-specific modules
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec vesa] boot_modules fb_drv
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec pl11x] boot_modules fb_drv
|
||||
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
append qemu_args " -soundhw es1370 "
|
||||
|
||||
run_genode_until forever
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
129
run/uhexen2.run
129
run/uhexen2.run
@@ -1,115 +1,27 @@
|
||||
|
||||
# Build
|
||||
#
|
||||
|
||||
|
||||
set build_components {
|
||||
core init
|
||||
timer
|
||||
drivers/audio
|
||||
drivers/usb
|
||||
drivers/framebuffer drivers/input
|
||||
app/uhexen2
|
||||
lib/vfs/lwip
|
||||
server/nic_loopback
|
||||
}
|
||||
|
||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
||||
append_platform_drv_build_components
|
||||
|
||||
build $build_components
|
||||
|
||||
create_boot_directory
|
||||
|
||||
#
|
||||
# Generate 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>
|
||||
<default-route>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</default-route>
|
||||
<default caps="100"/>
|
||||
|
||||
<start name="timer">
|
||||
set app_config {
|
||||
<start name="nic_loopback" priority="-1">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Timer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec sdl] config {
|
||||
<start name="fb_sdl" ld="no">
|
||||
<resource name="RAM" quantum="4M"/>
|
||||
<provides>
|
||||
<service name="Input"/>
|
||||
<service name="Framebuffer"/>
|
||||
</provides>
|
||||
</start>}
|
||||
|
||||
append_platform_drv_config
|
||||
|
||||
append_if [have_spec vesa] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="16M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
<!--
|
||||
Limit the resolution because the software renderer of UHexen2
|
||||
only supports up to 1280x1024 currently.
|
||||
-->
|
||||
<config width="1024" height="768" buffered="yes"/>
|
||||
<route>
|
||||
<service name="PCI"><child name="acpi" /></service>
|
||||
<any-service> <parent /> <any-child /></any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec pl11x] config {
|
||||
<start name="fb_drv">
|
||||
<resource name="RAM" quantum="2M"/>
|
||||
<provides><service name="Framebuffer"/></provides>
|
||||
</start>}
|
||||
|
||||
append_if [have_spec ps2] config {
|
||||
<start name="ps2_drv">
|
||||
<resource name="RAM" quantum="1M"/>
|
||||
<provides><service name="Input"/></provides>
|
||||
</start>}
|
||||
|
||||
append config {
|
||||
<start name="audio_drv">
|
||||
<binary name="} [audio_drv_binary] {"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides><service name="Audio_out"/></provides>
|
||||
<provides> <service name="Nic"/> </provides>
|
||||
</start>
|
||||
<start name="uhexen2">
|
||||
<start name="uhexen2" caps="256">
|
||||
<resource name="RAM" quantum="128M"/>
|
||||
<config>
|
||||
<sdl_audio_volume value="100"/>
|
||||
<libc stdout="/dev/log" stderr="/dev/log">
|
||||
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
|
||||
<vfs>
|
||||
<dir name="dev"> <log/> </dir>
|
||||
<dir name="socket">
|
||||
<lwip ip_addr="127.0.0.1" netmask="255.0.0.0" gateway="0.0.0.0"/> </dir>
|
||||
<tar name="hexen2demo_data.tar" />
|
||||
</vfs>
|
||||
</libc>
|
||||
</config>
|
||||
<route>
|
||||
<any-service> <parent /> <any-child /></any-service>
|
||||
</route>
|
||||
</start>
|
||||
</config>}
|
||||
|
||||
install_config $config
|
||||
</start>}
|
||||
|
||||
if {![file exists bin/hexen2demo_data.tar]} {
|
||||
set hexen2demo_dir "hexen2demo_nov1997"
|
||||
@@ -137,22 +49,11 @@ if {![file exists bin/hexen2demo_data.tar]} {
|
||||
|
||||
# generic modules
|
||||
append boot_modules {
|
||||
core init timer } [audio_drv_binary] {
|
||||
ld.lib.so libc.lib.so vfs.lib.so libm.lib.solwip_legacy.lib.so
|
||||
pthread.lib.so sdl.lib.so sdl_mixer.lib.so
|
||||
libc.lib.so vfs.lib.so libm.lib.so
|
||||
sdl.lib.so sdl_mixer.lib.so
|
||||
uhexen2 hexen2demo_data.tar
|
||||
vfs_lwip.lib.so
|
||||
nic_loopback
|
||||
}
|
||||
|
||||
# platform-specific modules
|
||||
append_platform_drv_boot_modules
|
||||
|
||||
lappend_if [have_spec linux] boot_modules fb_sdl
|
||||
lappend_if [have_spec vesa] boot_modules fb_drv
|
||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
||||
lappend_if [have_spec pl11x] boot_modules fb_drv
|
||||
|
||||
build_boot_image $boot_modules
|
||||
|
||||
append qemu_args " -soundhw es1370 "
|
||||
|
||||
run_genode_until forever
|
||||
source ${genode_dir}/repos/world/run/nitpicker_app.inc
|
||||
|
||||
@@ -138,8 +138,7 @@ int UDP_OpenSocket (int port)
|
||||
if ((newsocket = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1)
|
||||
return -1;
|
||||
|
||||
if (ioctl (newsocket, FIONBIO, (char *)&_true) == -1)
|
||||
goto ErrorReturn;
|
||||
ioctl (newsocket, FIONBIO, (char *)&_true);
|
||||
|
||||
address.sin_family = AF_INET;
|
||||
address.sin_addr.s_addr = INADDR_ANY;
|
||||
|
||||
@@ -118,7 +118,7 @@ CC_OPT += -DNO_ALSA_AUDIO -DNO_OSS_AUDIO -DNO_SUN_AUDIO
|
||||
|
||||
CC_OPT += -DDEMOBUILD
|
||||
|
||||
LIBS = libc libc_lwip lwip libm sdl sdlmain sdl_mixer
|
||||
LIBS = libc libm sdl sdlmain sdl_mixer
|
||||
|
||||
vpath % $(UHEXEN2_DIR)/common
|
||||
vpath % $(UHEXEN2_DIR)/engine/hexen2
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
|
||||
/* Genode includes */
|
||||
#include <nitpicker_session/connection.h>
|
||||
#include <base/log.h>
|
||||
#include <input_session/connection.h>
|
||||
#include <input/event.h>
|
||||
@@ -45,15 +46,26 @@ Video video_events;
|
||||
|
||||
static Genode::Env *_global_env = nullptr;
|
||||
|
||||
static Genode::Constructible<Nitpicker::Connection> _global_nitpicker { };
|
||||
|
||||
Genode::Env *global_env()
|
||||
|
||||
Genode::Env &global_env()
|
||||
{
|
||||
if (!_global_env) {
|
||||
Genode::error("sdl_init_genode() not called, aborting");
|
||||
throw Genode::Exception();
|
||||
}
|
||||
|
||||
return _global_env;
|
||||
return *_global_env;
|
||||
}
|
||||
|
||||
|
||||
Nitpicker::Connection &global_nitpicker()
|
||||
{
|
||||
if (!_global_nitpicker.constructed())
|
||||
_global_nitpicker.construct(global_env(), "SDL");
|
||||
|
||||
return *_global_nitpicker;
|
||||
}
|
||||
|
||||
|
||||
@@ -71,7 +83,7 @@ extern "C" {
|
||||
#include "SDL_genode_fb_events.h"
|
||||
|
||||
|
||||
static Genode::Constructible<Input::Connection> input;
|
||||
static Genode::Constructible<Input::Session_client> input;
|
||||
static const int KEYNUM_MAX = 512;
|
||||
static SDLKey keymap[KEYNUM_MAX];
|
||||
static int buttonmap[KEYNUM_MAX];
|
||||
@@ -154,7 +166,8 @@ extern "C" {
|
||||
void Genode_Fb_InitOSKeymap(SDL_VideoDevice *t)
|
||||
{
|
||||
try {
|
||||
input.construct(*_global_env);
|
||||
input.construct(_global_env->rm(),
|
||||
_global_nitpicker->input_session());
|
||||
} catch (...) {
|
||||
Genode::error("no input driver available!");
|
||||
return;
|
||||
|
||||
@@ -32,13 +32,14 @@
|
||||
/* Genode includes */
|
||||
#include <base/log.h>
|
||||
#include <base/env.h>
|
||||
#include <framebuffer_session/connection.h>
|
||||
#include <nitpicker_session/connection.h>
|
||||
|
||||
/* local includes */
|
||||
#include <SDL_genode_internal.h>
|
||||
|
||||
|
||||
extern Genode::Env *global_env();
|
||||
extern Genode::Env &global_env();
|
||||
extern Nitpicker::Connection &global_nitpicker();
|
||||
|
||||
extern Genode::Lock event_lock;
|
||||
extern Video video_events;
|
||||
@@ -61,16 +62,16 @@ extern "C" {
|
||||
|
||||
struct Sdl_framebuffer
|
||||
{
|
||||
Genode::Env &_env;
|
||||
|
||||
Framebuffer::Mode _mode;
|
||||
Framebuffer::Connection _fb { _env, _mode };
|
||||
Genode::Env &_env;
|
||||
Nitpicker::Connection &_nitpicker;
|
||||
Nitpicker::Session::View_handle _view {
|
||||
_nitpicker.create_view() };
|
||||
|
||||
void _handle_mode_change()
|
||||
{
|
||||
Genode::Lock_guard<Genode::Lock> guard(event_lock);
|
||||
|
||||
Framebuffer::Mode mode = _fb.mode();
|
||||
Framebuffer::Mode mode = _nitpicker.mode();
|
||||
df_mode.w = mode.width();
|
||||
df_mode.h = mode.height();
|
||||
|
||||
@@ -82,22 +83,41 @@ extern "C" {
|
||||
Genode::Signal_handler<Sdl_framebuffer> _mode_handler {
|
||||
_env.ep(), *this, &Sdl_framebuffer::_handle_mode_change };
|
||||
|
||||
Sdl_framebuffer(Genode::Env &env) : _env(env) {
|
||||
_fb.mode_sigh(_mode_handler); }
|
||||
|
||||
bool valid() const { return _fb.cap().valid(); }
|
||||
Sdl_framebuffer(Genode::Env &env, Nitpicker::Connection &nitpicker)
|
||||
: _env(env), _nitpicker(nitpicker) {
|
||||
_nitpicker.mode_sigh(_mode_handler); }
|
||||
|
||||
|
||||
/************************************
|
||||
** Framebuffer::Session Interface **
|
||||
************************************/
|
||||
|
||||
Genode::Dataspace_capability dataspace() { return _fb.dataspace(); }
|
||||
Genode::Dataspace_capability dataspace(int width, int height)
|
||||
{
|
||||
_nitpicker.buffer(
|
||||
::Framebuffer::Mode(width, height, Framebuffer::Mode::RGB565),
|
||||
false);
|
||||
|
||||
Framebuffer::Mode mode() const { return _fb.mode(); }
|
||||
::Framebuffer::Mode mode = _nitpicker.framebuffer()->mode();
|
||||
|
||||
using namespace Nitpicker;
|
||||
Area area(
|
||||
Genode::min(mode.width(), width),
|
||||
Genode::min(mode.height(), height));
|
||||
|
||||
typedef Nitpicker::Session::Command Command;
|
||||
_nitpicker.enqueue<Command::Geometry>(
|
||||
_view, Rect(Point(0, 0), area));
|
||||
_nitpicker.execute();
|
||||
|
||||
return _nitpicker.framebuffer()->dataspace();
|
||||
}
|
||||
|
||||
Framebuffer::Mode mode() const {
|
||||
return _nitpicker.mode(); }
|
||||
|
||||
void refresh(int x, int y, int w, int h) {
|
||||
_fb.refresh(x, y, w, h); }
|
||||
_nitpicker.framebuffer()->refresh(x, y, w, h); }
|
||||
};
|
||||
|
||||
static Genode::Constructible<Sdl_framebuffer> framebuffer;
|
||||
@@ -265,12 +285,7 @@ extern "C" {
|
||||
static int Genode_Fb_Available(void)
|
||||
{
|
||||
if (!framebuffer.constructed()) {
|
||||
framebuffer.construct(*global_env());
|
||||
}
|
||||
|
||||
if (!framebuffer->valid()) {
|
||||
Genode::error("could not obtain framebuffer session");
|
||||
return 0;
|
||||
framebuffer.construct(global_env(), global_nitpicker());
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -362,6 +377,7 @@ extern "C" {
|
||||
|
||||
/* Get the framebuffer size and mode infos */
|
||||
scr_mode = framebuffer->mode();
|
||||
|
||||
t->info.current_w = scr_mode.width();
|
||||
t->info.current_h = scr_mode.height();
|
||||
Genode::log("Framebuffer has "
|
||||
@@ -407,22 +423,20 @@ extern "C" {
|
||||
}
|
||||
|
||||
if (t->hidden->buffer) {
|
||||
global_env()->rm().detach(t->hidden->buffer);
|
||||
global_env().rm().detach(t->hidden->buffer);
|
||||
t->hidden->buffer = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List the available video modes for the given pixel format,
|
||||
* sorted from largest to smallest.
|
||||
* Any mode is okay if the pixel format is 16bit
|
||||
*/
|
||||
SDL_Rect **Genode_Fb_ListModes(SDL_VideoDevice *t,
|
||||
SDL_PixelFormat *format,
|
||||
Uint32 flags)
|
||||
{
|
||||
if(format->BitsPerPixel != 16) { return (SDL_Rect **) 0; }
|
||||
return modes;
|
||||
return (SDL_Rect **)((format->BitsPerPixel == 16) ? -1 : 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -457,17 +471,18 @@ extern "C" {
|
||||
}
|
||||
|
||||
/* Map the buffer */
|
||||
Genode::Dataspace_capability fb_ds_cap = framebuffer->dataspace();
|
||||
Genode::Dataspace_capability fb_ds_cap =
|
||||
framebuffer->dataspace(width, height);
|
||||
if (!fb_ds_cap.valid()) {
|
||||
Genode::error("could not request dataspace for frame buffer");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (t->hidden->buffer) {
|
||||
global_env()->rm().detach(t->hidden->buffer);
|
||||
global_env().rm().detach(t->hidden->buffer);
|
||||
}
|
||||
|
||||
t->hidden->buffer = global_env()->rm().attach(fb_ds_cap);
|
||||
t->hidden->buffer = global_env().rm().attach(fb_ds_cap);
|
||||
|
||||
if (!t->hidden->buffer) {
|
||||
Genode::error("no buffer for requested mode");
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
|
||||
/* Genode includes */
|
||||
#include <base/env.h>
|
||||
#include <base/printf.h>
|
||||
#include <timer_session/connection.h>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user