kernel: differentiate board-specific components

Components like kernel, core, and bootstrap that are built for a
specific board need to reside inside the same architectural dependent
build directory. For instance there are sel4, foc, and hw kernel builds
for imx6q_sabrelite and imx7d_sabre, which have to reside inside the same
arm_v7 build directory.
This commit names those components explicitely, and adapts the run-tool to it.

Fix #3316
This commit is contained in:
Stefan Kalkowski
2019-05-09 14:04:03 +02:00
committed by Christian Helmuth
parent c43267dbaa
commit a1e70b9ba4
71 changed files with 124 additions and 117 deletions

View File

@@ -4,7 +4,7 @@ ifeq ($(filter-out $(SPECS),x86_64),)
SPECS += pci ps2 vesa framebuffer
ifneq ($(filter-out $(SPECS),muen),)
SPECS += acpi x86_pc
SPECS += acpi
endif
endif

View File

@@ -8,10 +8,4 @@ SRC_CC += bootstrap/spec/arm/imx_tzic.cc
SRC_CC += bootstrap/spec/arm/arm_v7_cpu.cc
SRC_CC += hw/spec/32bit/memory_map.cc
ifneq ($(filter-out $(SPECS),trustzone),)
SRC_CC += bootstrap/spec/imx53_qsb/platform.cc
else
SRC_CC += bootstrap/spec/imx53_qsb/platform_trustzone.cc
endif
include $(BASE_DIR)/../base-hw/lib/mk/bootstrap-hw.inc

View File

@@ -0,0 +1,3 @@
SRC_CC += bootstrap/spec/imx53_qsb/platform.cc
include $(BASE_DIR)/../base-hw/lib/mk/spec/arm_v7/bootstrap-hw-imx53_qsb.inc

View File

@@ -0,0 +1,3 @@
SRC_CC += bootstrap/spec/imx53_qsb/platform_trustzone.cc
include $(BASE_DIR)/../base-hw/lib/mk/spec/arm_v7/bootstrap-hw-imx53_qsb.inc

View File

@@ -0,0 +1,17 @@
#
# \brief Build config for Genodes core process
# \author Stefan Kalkowski
# \author Martin Stein
# \date 2012-10-24
#
# add include paths
INC_DIR += $(REP_DIR)/src/core/spec/imx53_qsb
INC_DIR += $(REP_DIR)/src/core/spec/imx53
SRC_CC += spec/imx53/pic.cc
SRC_CC += spec/imx53/timer.cc
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/cortex_a8/core-hw.inc

View File

@@ -0,0 +1,5 @@
SRC_CC += kernel/vm_thread_off.cc
SRC_CC += platform_services.cc
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/arm_v7/core-hw-imx53_qsb.inc

View File

@@ -0,0 +1,14 @@
INC_DIR += $(REP_DIR)/src/core/spec/arm_v7/trustzone
INC_DIR += $(REP_DIR)/src/core/spec/imx53/trustzone
SRC_CC += spec/imx53/trustzone/platform_services.cc
SRC_CC += kernel/vm_thread_on.cc
SRC_CC += spec/arm_v7/trustzone/kernel/vm.cc
SRC_CC += spec/arm_v7/vm_session_component.cc
SRC_CC += spec/arm_v7/trustzone/vm_session_component.cc
SRC_S += spec/arm_v7/trustzone/exception_vector.s
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/arm_v7/core-hw-imx53_qsb.inc

View File

@@ -1,32 +0,0 @@
#
# \brief Build config for Genodes core process
# \author Stefan Kalkowski
# \author Martin Stein
# \date 2012-10-24
#
# add include paths
INC_DIR += $(REP_DIR)/src/core/spec/imx53_qsb
INC_DIR += $(REP_DIR)/src/core/spec/imx53
SRC_CC += spec/imx53/pic.cc
SRC_CC += spec/imx53/timer.cc
ifneq ($(filter-out $(SPECS),trustzone),)
SRC_CC += kernel/vm_thread_off.cc
SRC_CC += platform_services.cc
else
INC_DIR += $(REP_DIR)/src/core/spec/arm_v7/trustzone
INC_DIR += $(REP_DIR)/src/core/spec/imx53/trustzone
SRC_CC += spec/imx53/trustzone/platform_services.cc
SRC_CC += kernel/vm_thread_on.cc
SRC_CC += spec/arm_v7/trustzone/kernel/vm.cc
SRC_CC += spec/arm_v7/vm_session_component.cc
SRC_CC += spec/arm_v7/trustzone/vm_session_component.cc
SRC_S += spec/arm_v7/trustzone/exception_vector.s
endif
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/cortex_a8/core-hw.inc

View File

@@ -1,6 +1,7 @@
TARGET = bootstrap
LIBS = bootstrap-hw
BOOTSTRAP_OBJ = bootstrap-hw.o
BOARD ?= unknown
TARGET = bootstrap_hw_$(BOARD)
LIBS = bootstrap-hw-$(BOARD)
BOOTSTRAP_OBJ = bootstrap-hw-$(BOARD).o
$(TARGET):
$(VERBOSE)true

View File

@@ -1,4 +1,6 @@
LIBS := core-hw
CORE_OBJ := core-hw.o
BOARD ?= unknown
TARGET := core_hw_$(BOARD)
LIBS := core-hw-$(BOARD)
CORE_OBJ := core-hw-$(BOARD).o
include $(BASE_DIR)/src/core/target.inc