mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
dde_rump: backport aarch64 (Fix #3565)
This commit is contained in:
parent
f85ec313de
commit
8f71c90ca8
@ -16,6 +16,12 @@ ifeq ($(filter-out $(SPECS),x86_64),)
|
||||
INC_DIR += $(RUMP_PORT_DIR)/src/sys/arch/amd64/include
|
||||
endif
|
||||
|
||||
ifeq ($(filter-out $(SPECS),arm_64),)
|
||||
INC_DIR := $(RUMP_PORT_DIR)/src/sys/rump/include $(INC_DIR)
|
||||
INC_DIR += $(REP_DIR)/src/lib/rump/spec/arm_64
|
||||
INC_DIR += $(RUMP_PORT_DIR)/../dde_rump_aarch64_backport/aarch64/include
|
||||
endif
|
||||
|
||||
INC_DIR += $(LIBGCC_INC_DIR) \
|
||||
$(RUMP_PORT_DIR)/src/sys \
|
||||
$(RUMP_PORT_DIR)/src/sys/rump/include \
|
||||
|
23
repos/dde_rump/lib/mk/spec/arm_64/rump.mk
Normal file
23
repos/dde_rump/lib/mk/spec/arm_64/rump.mk
Normal file
@ -0,0 +1,23 @@
|
||||
SRC_NOLINK += atomic_add_16.S atomic_add_8.S atomic_and_64.S atomic_cas_32.S atomic_dec_32.S \
|
||||
atomic_inc_64.S atomic_nand_64.S atomic_or_32.S atomic_sub_16.S atomic_sub_8.S \
|
||||
atomic_swap_64.S atomic_xor_32.S membar_ops.S atomic_add_32.S atomic_and_16.S \
|
||||
atomic_and_8.S atomic_cas_64.S atomic_dec_64.S atomic_nand_16.S atomic_nand_8.S \
|
||||
atomic_or_64.S atomic_sub_32.S atomic_swap_16.S atomic_swap_8.S atomic_xor_64.S \
|
||||
atomic_add_64.S atomic_and_32.S atomic_cas_16.S atomic_cas_8.S atomic_inc_32.S \
|
||||
atomic_nand_32.S atomic_or_16.S atomic_or_8.S atomic_sub_64.S atomic_swap_32.S \
|
||||
atomic_xor_16.S atomic_xor_8.S bswap64.c
|
||||
|
||||
SRC_NOLINK += rump_generic_cpu.c rump_generic_pmap.c
|
||||
|
||||
INC_DIR += $(RUMP_PORT_DIR)/src/sys/rump/include
|
||||
INC_DIR += $(REP_DIR)/src/lib/rump/spec/arm_64
|
||||
|
||||
include $(REP_DIR)/lib/mk/rump.inc
|
||||
|
||||
vpath %.S $(RUMP_PORT_DIR)/../libc
|
||||
vpath %.c $(RUMP_PORT_DIR)/src/common/lib/libc/gen
|
||||
vpath %.c $(RUMP_PORT_DIR)/../dde_rump_aarch64_backport/aarch64/aarch64
|
||||
vpath %.c $(RUMP_PORT_DIR)/../dde_rump_aarch64_backport/arm/arm32
|
||||
vpath %.c $(RUMP_PORT_DIR)/src/sys/rump/librump/rumpkern/arch/generic
|
||||
|
||||
CC_CXX_WARN_STRICT =
|
23
repos/dde_rump/lib/mk/spec/arm_64/rump_include.mk
Normal file
23
repos/dde_rump/lib/mk/spec/arm_64/rump_include.mk
Normal file
@ -0,0 +1,23 @@
|
||||
ifeq ($(called_from_lib_mk),yes)
|
||||
|
||||
include $(REP_DIR)/lib/mk/rump_common.inc
|
||||
|
||||
BACKPORT := $(call select_from_ports,dde_rump)/src/lib/dde_rump_aarch64_backport
|
||||
|
||||
$(RUMP_BASE):
|
||||
mkdir -p $@
|
||||
|
||||
$(RUMP_BASE)/include/machine: $(RUMP_BASE)
|
||||
$(VERBOSE_MK)mkdir -p $(RUMP_BASE)/include
|
||||
$(VERBOSE_MK)ln -sf $(BACKPORT)/arm/include $(RUMP_BASE)/include/arm
|
||||
$(VERBOSE_MK)ln -sf $(BACKPORT)/aarch64/include $(RUMP_BASE)/include/aarch64
|
||||
$(VERBOSE_MK)ln -sf $(BACKPORT)/evbarm64/include $(RUMP_BASE)/include/machine
|
||||
$(VERBOSE_MK)touch -a $(RUMP_BASE)/include/pthread_types.h
|
||||
|
||||
all: $(RUMP_BASE)/include/machine
|
||||
|
||||
endif
|
||||
|
||||
# vi:set ft=make :
|
||||
|
||||
CC_CXX_WARN_STRICT =
|
20
repos/dde_rump/patches/aarch64.patch
Normal file
20
repos/dde_rump/patches/aarch64.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/arm/arm32/kobj_machdep.c b/arm/arm32/kobj_machdep.c
|
||||
index 6fc772f..146f580 100644
|
||||
--- src/lib/dde_rump_aarch64_backport/arm/arm32/kobj_machdep.c
|
||||
+++ src/lib/dde_rump_aarch64_backport/arm/arm32/kobj_machdep.c
|
||||
@@ -66,6 +66,7 @@ __KERNEL_RCSID(0, "$NetBSD: kobj_machdep.c,v 1.10 2014/11/07 21:28:32 martin Exp
|
||||
#include <sys/kobj_impl.h>
|
||||
|
||||
#include <arm/cpufunc.h>
|
||||
+#ifndef _RUMPKERNEL
|
||||
#include <arm/locore.h>
|
||||
|
||||
int
|
||||
@@ -206,6 +207,7 @@ kobj_reloc(kobj_t ko, uintptr_t relocbase, const void *data,
|
||||
rtype, where, symidx);
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
|
||||
#if __ARMEB__
|
||||
|
@ -1 +1 @@
|
||||
b81e1b234bf98a6b0a35dec429e8a826b735bc08
|
||||
9afe5679a00a8df0f3c5a9a5838956dc993f1b0a
|
||||
|
@ -1,8 +1,17 @@
|
||||
LICENSE := BSD
|
||||
VERSION := git
|
||||
DOWNLOADS := rump.git
|
||||
DOWNLOADS := rump.git aarch64.svn libc.svn
|
||||
|
||||
URL(rump) := https://github.com/ssumpf/rump.git
|
||||
DIR(rump) := src/lib/dde_rump
|
||||
REV(rump) := 206ffa06cedd0779af0043997fd182b00ff4688c
|
||||
|
||||
PATCHES := patches/rump.patch
|
||||
URL(aarch64) := https://github.com/justincormack/netbsd-src/trunk/src/sys/arch
|
||||
REV(aarch64) := HEAD
|
||||
DIR(aarch64) := src/lib/dde_rump_aarch64_backport
|
||||
|
||||
URL(libc) := https://github.com/justincormack/netbsd-src/trunk/src/common/lib/libc/arch/aarch64/atomic
|
||||
REV(libc) := HEAD
|
||||
DIR(libc) := src/lib/libc
|
||||
|
||||
PATCHES := patches/rump.patch patches/aarch64.patch
|
||||
|
@ -6,7 +6,7 @@ LIB_MK := $(addprefix lib/mk/, \
|
||||
rump_prefix.inc \
|
||||
rump_tools.mk \
|
||||
vfs_rump.mk) \
|
||||
$(foreach SPEC,x86_32 x86_64 arm, \
|
||||
$(foreach SPEC,x86_32 x86_64 arm arm_64, \
|
||||
lib/mk/spec/$(SPEC)/rump.mk \
|
||||
lib/mk/spec/$(SPEC)/rump_include.mk)
|
||||
|
||||
@ -18,7 +18,9 @@ MIRROR_FROM_REP_DIR := $(LIB_MK) \
|
||||
include/rump include/rump_fs \
|
||||
include/util
|
||||
|
||||
MIRROR_FROM_PORT_DIR := src/lib/dde_rump/src
|
||||
MIRROR_FROM_PORT_DIR := src/lib/dde_rump/src \
|
||||
src/lib/libc \
|
||||
src/lib/dde_rump_aarch64_backport
|
||||
|
||||
content: $(MIRROR_FROM_REP_DIR) $(MIRROR_FROM_PORT_DIR)
|
||||
|
||||
|
2
repos/dde_rump/src/lib/rump/spec/arm_64/arm/pic/picvar.h
Normal file
2
repos/dde_rump/src/lib/rump/spec/arm_64/arm/pic/picvar.h
Normal file
@ -0,0 +1,2 @@
|
||||
int _splraise(int);
|
||||
int _spllower(int);
|
Loading…
x
Reference in New Issue
Block a user