mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
Imported Genode release 11.11
This commit is contained in:
committed by
Christian Helmuth
parent
6bcc9aef0e
commit
da4e1feaa5
9
base-codezero/lib/mk/arm/startup.mk
Normal file
9
base-codezero/lib/mk/arm/startup.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
LIBS = cxx lock l4
|
||||
SRC_S = crt0.s
|
||||
SRC_CC = _main.cc
|
||||
INC_DIR += $(REP_DIR)/src/platform
|
||||
INC_DIR += $(BASE_DIR)/src/platform
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
|
||||
vpath crt0.s $(BASE_DIR)/src/platform/arm
|
||||
vpath _main.cc $(dir $(call select_from_repositories,src/platform/_main.cc))
|
||||
3
base-codezero/lib/mk/arm_v5/l4.mk
Normal file
3
base-codezero/lib/mk/arm_v5/l4.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
LIBS += l4_arm_v5
|
||||
|
||||
include $(REP_DIR)/lib/mk/l4.inc
|
||||
9
base-codezero/lib/mk/arm_v5/l4_arm_v5.mk
Normal file
9
base-codezero/lib/mk/arm_v5/l4_arm_v5.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
LIBL4_DIR = $(CODEZERO_DIR)/conts/userlibs/libl4
|
||||
|
||||
INC_DIR += $(CODEZERO_DIR)/conts/userlibs/libc/include
|
||||
|
||||
SRC_C += $(notdir $(wildcard $(LIBL4_DIR)/src/arch/arm/v5/*.c))
|
||||
SRC_S += $(notdir $(wildcard $(LIBL4_DIR)/src/arch/arm/v5/*.S))
|
||||
|
||||
vpath %.c $(LIBL4_DIR)/src/arch/arm/v5
|
||||
vpath %.S $(LIBL4_DIR)/src/arch/arm/v5
|
||||
3
base-codezero/lib/mk/codezero_cml.inc
Normal file
3
base-codezero/lib/mk/codezero_cml.inc
Normal file
@@ -0,0 +1,3 @@
|
||||
ifeq ($(filter-out $(SPECS),platform_vpb926),)
|
||||
CODEZERO_CML = $(REP_DIR)/config/vpb926.cml
|
||||
endif
|
||||
13
base-codezero/lib/mk/cxx.mk
Normal file
13
base-codezero/lib/mk/cxx.mk
Normal file
@@ -0,0 +1,13 @@
|
||||
#
|
||||
# Additional symbols we need to keep when using the arm-none-linux-gnueabi
|
||||
# tool chain
|
||||
#
|
||||
KEEP_SYMBOLS += __aeabi_ldivmod __aeabi_uldivmod __dynamic_cast
|
||||
KEEP_SYMBOLS += _ZN10__cxxabiv121__vmi_class_type_infoD0Ev
|
||||
|
||||
#
|
||||
# Override sources of the base repository with our changed version
|
||||
#
|
||||
vpath exception.cc $(REP_DIR)/src/base/cxx
|
||||
|
||||
include $(BASE_DIR)/lib/mk/cxx.mk
|
||||
4
base-codezero/lib/mk/ipc.mk
Normal file
4
base-codezero/lib/mk/ipc.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
SRC_CC = ipc.cc pager.cc
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
|
||||
vpath %.cc $(REP_DIR)/src/base/ipc
|
||||
43
base-codezero/lib/mk/l4.inc
Normal file
43
base-codezero/lib/mk/l4.inc
Normal file
@@ -0,0 +1,43 @@
|
||||
LIBL4_DIR = $(CODEZERO_DIR)/conts/userlibs/libl4
|
||||
|
||||
SRC_C += init.c irq.c mutex.c
|
||||
SRC_C += arch/arm/exregs.c
|
||||
SRC_S += $(addprefix arch/arm/,syscalls.S new_thread.S)
|
||||
SRC_C += $(addprefix lib/,addr.c bit.c idpool.c)
|
||||
SRC_C += $(addprefix lib/thread/,init.c thread.c)
|
||||
SRC_C += $(addprefix lib/cap/,cap.c read.c)
|
||||
|
||||
INC_DIR += $(CODEZERO_DIR)/conts/userlibs/libc/include
|
||||
INC_DIR += $(CODEZERO_DIR)/conts/userlibs/libmem/include
|
||||
INC_DIR += $(CODEZERO_DIR)/conts/userlibs/libmem
|
||||
|
||||
vpath % $(LIBL4_DIR)/src
|
||||
|
||||
#
|
||||
# The libl4 source files uses macros defined in macros.h but do not
|
||||
# explicitly include the 'macros.h' header file.
|
||||
#
|
||||
CC_OPT += -include $(LIBL4_DIR)/include/l4lib/macros.h
|
||||
|
||||
#
|
||||
# Resolve conflicts with built-in functions
|
||||
#
|
||||
CC_OPT += -fno-builtin-pow
|
||||
|
||||
#
|
||||
# During the compilation of the libl4 file 'thread.c', the 'l4id_t' type
|
||||
# is used without prior inclusion of 'types.h'. Furthermore, 'types.h'
|
||||
# has a wrong include guard, so we take care of this problem using a
|
||||
# wrapper.
|
||||
#
|
||||
CC_OPT_lib_thread_thread += -include fix_include_types.h
|
||||
CC_OPT_arch_arm_exregs += -include fix_include_types.h
|
||||
|
||||
lib/thread/thread.o arch/arm/exregs.o: fix_include_types.h
|
||||
|
||||
fix_include_types.h:
|
||||
@echo "#include <l4lib/arch/arm/types.h>" > $@
|
||||
@echo "#define __L4LIB_ARM_TYPES_H___" >> $@
|
||||
|
||||
CC_OPT += -std=gnu99
|
||||
|
||||
7
base-codezero/lib/mk/lock.mk
Normal file
7
base-codezero/lib/mk/lock.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
SRC_CC = lock.cc cmpxchg.cc
|
||||
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
INC_DIR += $(REP_DIR)/src/base/lock
|
||||
|
||||
vpath lock.cc $(BASE_DIR)/src/base/lock
|
||||
vpath cmpxchg.cc $(REP_DIR)/src/base/lock
|
||||
4
base-codezero/lib/mk/pager.mk
Normal file
4
base-codezero/lib/mk/pager.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
SRC_CC = pager.cc
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
|
||||
vpath pager.cc $(REP_DIR)/src/base/pager
|
||||
6
base-codezero/lib/mk/pl011/core_printf.mk
Normal file
6
base-codezero/lib/mk/pl011/core_printf.mk
Normal file
@@ -0,0 +1,6 @@
|
||||
SRC_CC = core_printf.cc
|
||||
LIBS = cxx console
|
||||
INC_DIR += $(REP_DIR)/src/base/console/pl011
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
|
||||
vpath core_printf.cc $(BASE_DIR)/src/base/console
|
||||
33
base-codezero/lib/mk/platform.mk
Normal file
33
base-codezero/lib/mk/platform.mk
Normal file
@@ -0,0 +1,33 @@
|
||||
#
|
||||
# Create prerequisites for building Genode for Codezero
|
||||
#
|
||||
|
||||
#
|
||||
# Execute the rules in this file only at the second build stage when we know
|
||||
# about the complete build settings, e.g., the 'CROSS_DEV_PREFIX'.
|
||||
#
|
||||
ifeq ($(called_from_lib_mk),yes)
|
||||
|
||||
include $(REP_DIR)/lib/mk/codezero_cml.inc
|
||||
|
||||
all: $(BUILD_BASE_DIR)/include/l4/config.h
|
||||
|
||||
$(BUILD_BASE_DIR)/include/l4/config.h: $(CODEZERO_CML)
|
||||
$(VERBOSE)mkdir -p $(dir $@)
|
||||
$(VERBOSE)$(CODEZERO_DIR)/tools/cml2header.py -i $^ -o $@
|
||||
|
||||
#
|
||||
# Codezero's 'macros.h' includes the file "config.h", expected to be located in
|
||||
# the same directory (using #include "config.h"). However, 'config.h' is
|
||||
# generated into the source tree by the Codezero configuration system. Since we
|
||||
# do not want to pollute the source tree, we create a shadow copy of 'macros.h'
|
||||
# in the same directory as our generated 'config.h'.
|
||||
#
|
||||
all: $(BUILD_BASE_DIR)/include/l4/macros.h
|
||||
|
||||
$(BUILD_BASE_DIR)/include/l4/macros.h: $(CODEZERO_DIR)/include/l4/macros.h
|
||||
$(VERBOSE)mkdir -p $(dir $@)
|
||||
$(VERBOSE)ln -s $^ $@
|
||||
|
||||
endif
|
||||
|
||||
5
base-codezero/lib/mk/thread.mk
Normal file
5
base-codezero/lib/mk/thread.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
SRC_CC = thread.cc thread_start.cc thread_bootstrap.cc
|
||||
INC_DIR += $(REP_DIR)/include/codezero/dummies
|
||||
|
||||
vpath thread_start.cc $(REP_DIR)/src/base/thread
|
||||
vpath %.cc $(BASE_DIR)/src/base/thread
|
||||
Reference in New Issue
Block a user