Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
724197a973 | |||
bc53f5cb8c | |||
51eeb3cec7 | |||
8e5510d5e3 |
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -106,3 +106,6 @@
|
||||||
[submodule "libretro/cores/yabause/upstream"]
|
[submodule "libretro/cores/yabause/upstream"]
|
||||||
path = libretro/cores/yabause/upstream
|
path = libretro/cores/yabause/upstream
|
||||||
url = https://github.com/libretro/yabause.git
|
url = https://github.com/libretro/yabause.git
|
||||||
|
[submodule "solo5/upstream"]
|
||||||
|
path = solo5/upstream
|
||||||
|
url = https://github.com/Solo5/solo5.git
|
||||||
|
|
|
@ -161,13 +161,13 @@ PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config
|
||||||
|
|
||||||
!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o
|
!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o
|
||||||
|
|
||||||
!cc = | $(GENODE_DIR)/<pkg-config> |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c %f -o %o |> %B.o
|
!cc = | $(GENODE_DIR)/<pkg-config> |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c -fPIC %f -o %o |> %B.o
|
||||||
|
|
||||||
!cc_port = | $(GENODE_DIR)/<pkg-config> |> ^o CC %o^ @(CC_WRAPPER) $(CC) -c -fPIC $(DEFINES) $(CFLAGS) $(CFLAGS_%o) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -o %o |> %B.o
|
!cc_port = | $(GENODE_DIR)/<pkg-config> |> ^o CC %o^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%o) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -c -fPIC -o %o |> %B.o
|
||||||
|
|
||||||
!cxx = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c %f -o %o |> %B.o
|
!cxx = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c -fPIC %f -o %o |> %B.o
|
||||||
|
|
||||||
!cxx_port = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %o^ @(CC_WRAPPER) $(CXX) -c $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -o %o |> %B.o
|
!cxx_port = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %o^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c -fPIC -o %o |> %B.o
|
||||||
|
|
||||||
!ld = | $(GENODE_DIR)/<lib> $(GENODE_DIR)/<pkg-config> |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` %f -o %o |>
|
!ld = | $(GENODE_DIR)/<lib> $(GENODE_DIR)/<pkg-config> |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` %f -o %o |>
|
||||||
|
|
||||||
|
|
32
solo5/Tupfile
Normal file
32
solo5/Tupfile
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
TARGET_NAME = solo5
|
||||||
|
LIBS += genode-os
|
||||||
|
include_rules
|
||||||
|
|
||||||
|
: solo5.symbols |> !abi_stub |>
|
||||||
|
|
||||||
|
: solo5.pc.in |> ^ SED %B^ \
|
||||||
|
sed \
|
||||||
|
-e "s|@includedir@|`nix-store --add upstream/include`|" \
|
||||||
|
-e "s|@version@|`git describe`|" \
|
||||||
|
< %f > %o \
|
||||||
|
|> $(PKG_CONFIG_DIR)/solo5.pc $(GENODE_DIR)/<pkg-config>
|
||||||
|
|
||||||
|
: |> cc -Iupstream/include/solo5 upstream/%o/%o.c -o %o |> mfttool
|
||||||
|
|
||||||
|
DEFINES += -D__SOLO5_BINDINGS__
|
||||||
|
CXXFLAGS += -Drestrict=__restrict__
|
||||||
|
|
||||||
|
DEFINES += -Wno-builtin-declaration-mismatch
|
||||||
|
|
||||||
|
INCLUDES += -Iupstream/include/solo5
|
||||||
|
INCLUDES += -Iupstream/include/crt
|
||||||
|
|
||||||
|
#: foreach ../../tenders/common/mft.c |> !cc |> {obj}
|
||||||
|
|
||||||
|
BINDINGS_DIR = upstream/bindings/genode
|
||||||
|
|
||||||
|
: foreach $(BINDINGS_DIR)/*.cc |> !cxx |> {obj}
|
||||||
|
: {obj} |> !lib |> solo5.lib.so {bin}
|
||||||
|
: {bin} |> !collect_bin |>
|
||||||
|
|
||||||
|
include &(BIN_RULES)
|
3
solo5/Tuprules.tup
Normal file
3
solo5/Tuprules.tup
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
DEFINES += -fstack-protector-strong
|
||||||
|
DEFINES += -Wno-builtin-declaration-mismatch
|
||||||
|
INCLUDES += -I$(TUP_CWD)
|
7
solo5/solo5.pc.in
Normal file
7
solo5/solo5.pc.in
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: solo5
|
||||||
|
Version: @version@
|
||||||
|
Description: Solo5 sandboxed execution environment
|
||||||
|
Cflags: -I${includedir}/crt -I${includedir}/solo5
|
||||||
|
Libs: -l:solo5.lib.so
|
17
solo5/solo5.symbols
Normal file
17
solo5/solo5.symbols
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
__solo5_manifest_note U
|
||||||
|
solo5_app_main U
|
||||||
|
solo5_abort T
|
||||||
|
solo5_block_acquire T
|
||||||
|
solo5_block_info T
|
||||||
|
solo5_block_read T
|
||||||
|
solo5_block_write T
|
||||||
|
solo5_clock_monotonic T
|
||||||
|
solo5_clock_wall T
|
||||||
|
solo5_console_write T
|
||||||
|
solo5_exit T
|
||||||
|
solo5_net_acquire T
|
||||||
|
solo5_net_info T
|
||||||
|
solo5_net_read T
|
||||||
|
solo5_net_write T
|
||||||
|
solo5_set_tls_base T
|
||||||
|
solo5_yield T
|
12
solo5/stdint.h
Normal file
12
solo5/stdint.h
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Genode stdint.h
|
||||||
|
#include <base/fixed_stdint.h>
|
||||||
|
|
||||||
|
typedef genode_int8_t int8_t;
|
||||||
|
typedef genode_uint8_t uint8_t;
|
||||||
|
typedef genode_int16_t int16_t;
|
||||||
|
typedef genode_uint16_t uint16_t;
|
||||||
|
typedef genode_int32_t int32_t;
|
||||||
|
typedef genode_uint32_t uint32_t;
|
||||||
|
typedef genode_int64_t int64_t;
|
||||||
|
typedef genode_uint64_t uint64_t;
|
||||||
|
typedef unsigned long uintptr_t;
|
33
solo5/test/Tupfile
Normal file
33
solo5/test/Tupfile
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
TARGET_NAME = solo5_tests
|
||||||
|
LIBS += solo5 genode-base
|
||||||
|
include_rules
|
||||||
|
|
||||||
|
PKG_DEPENDS += \
|
||||||
|
_/src/init \
|
||||||
|
_/src/nic_bus \
|
||||||
|
_/src/ram_block \
|
||||||
|
_/src/sequence \
|
||||||
|
_/src/solo5 \
|
||||||
|
_/src/$(BIN_NAME) \
|
||||||
|
|
||||||
|
run ./test_rules.sh \
|
||||||
|
blk \
|
||||||
|
dumpcore \
|
||||||
|
exception \
|
||||||
|
fpu \
|
||||||
|
globals \
|
||||||
|
hello \
|
||||||
|
net \
|
||||||
|
net_2if \
|
||||||
|
notls \
|
||||||
|
quiet \
|
||||||
|
ssp \
|
||||||
|
time \
|
||||||
|
wnox \
|
||||||
|
xnow \
|
||||||
|
|
||||||
|
: foreach {bin} |> !collect_bin |>
|
||||||
|
: runtime |> !collect_pkg_runtime |>
|
||||||
|
|
||||||
|
include &(BIN_RULES)
|
||||||
|
include &(PKG_RULES)
|
72
solo5/test/runtime
Normal file
72
solo5/test/runtime
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
<runtime ram="32M" caps="1000" binary="init">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<events>
|
||||||
|
<timeout meaning="failed" sec="60" />
|
||||||
|
<log meaning="succeeded">
|
||||||
|
[init] child "test" exited with exit value 0
|
||||||
|
</log>
|
||||||
|
<log meaning="failed">Error: </log>
|
||||||
|
</events>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<requires> <rtc/> </requires>
|
||||||
|
|
||||||
|
<content>
|
||||||
|
<rom label="ram_block"/>
|
||||||
|
<rom label="sequence"/>
|
||||||
|
<rom label="solo5.lib.so"/>
|
||||||
|
<rom label="test_blk"/>
|
||||||
|
<rom label="test_exception"/>
|
||||||
|
<rom label="test_fpu"/>
|
||||||
|
<rom label="test_globals"/>
|
||||||
|
<rom label="test_hello"/>
|
||||||
|
<rom label="test_net"/>
|
||||||
|
<rom label="test_net_2if"/>
|
||||||
|
<rom label="test_notls"/>
|
||||||
|
<rom label="test_quiet"/>
|
||||||
|
<rom label="test_ssp"/>
|
||||||
|
<rom label="test_time"/>
|
||||||
|
<rom label="test_wnox"/>
|
||||||
|
<rom label="test_xnow"/>
|
||||||
|
</content>
|
||||||
|
|
||||||
|
<config>
|
||||||
|
<parent-provides>
|
||||||
|
<service name="CPU"/>
|
||||||
|
<service name="LOG"/>
|
||||||
|
<service name="PD"/>
|
||||||
|
<service name="RM"/>
|
||||||
|
<service name="ROM"/>
|
||||||
|
<service name="Rtc"/>
|
||||||
|
<service name="Timer"/>
|
||||||
|
</parent-provides>
|
||||||
|
<default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>
|
||||||
|
|
||||||
|
<start name="ram_block" caps="96">
|
||||||
|
<resource name="RAM" quantum="9M"/>
|
||||||
|
<provides> <service name="Block"/> </provides>
|
||||||
|
<config size="8M" block_size="4096"/>
|
||||||
|
</start>
|
||||||
|
|
||||||
|
<start name="test" caps="256">
|
||||||
|
<binary name="sequence"/>
|
||||||
|
<resource name="RAM" quantum="16M"/>
|
||||||
|
<config ld_verbose="yes">
|
||||||
|
<start name="test_hello">
|
||||||
|
<config>
|
||||||
|
<cmdline>Hello_Solo5</cmdline>
|
||||||
|
</config>
|
||||||
|
</start>
|
||||||
|
<start name="test_blk"/>
|
||||||
|
<start name="test_exception"/>
|
||||||
|
<start name="test_fpu"/>
|
||||||
|
<start name="test_globals"/>
|
||||||
|
<start name="test_quiet"/>
|
||||||
|
<start name="test_ssp"/>
|
||||||
|
<start name="test_time"/>
|
||||||
|
</config>
|
||||||
|
</start>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
</runtime>
|
8
solo5/test/test_rules.sh
Executable file
8
solo5/test/test_rules.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for T in ${@}
|
||||||
|
do
|
||||||
|
echo ": ../mfttool |> %f gen ../upstream/tests/test_${T}/manifest.json %o |> ${T}_manifest.c {${T}-manifest}"
|
||||||
|
echo ": foreach {${T}-manifest} ../upstream/tests/test_${T}/*.c |> !cc |> %B.o {${T}-obj}"
|
||||||
|
echo ": {${T}-obj} |> !prg |> test_${T} {bin}"
|
||||||
|
done
|
1
solo5/upstream
Submodule
1
solo5/upstream
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 0a43c262df2df0839a1d1a93228b38842db4154c
|
2
upstream
2
upstream
|
@ -1 +1 @@
|
||||||
Subproject commit 1661482caa4ca5e2ddfdc0d14f1f8f6b84bb961c
|
Subproject commit c1cf7c9ad6d43a35b1f28f5f7ebe1472bf293585
|
Loading…
Reference in New Issue
Block a user