mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-25 16:31:06 +00:00
253097314c
This patch makes the benefit of the recently introduced unified Genode ABI available to developers by enabling the use of multiple kernels from within a single build directory. The create_builddir tool has gained a new set of kernel-agnostic platform arguments such as x86_32, or panda. Most build targets within directories are in principle compatible with all kernels that support the selected hardware platform. To execute a scenario via the run tool, one has to select the kernel to use by setting the 'KERNEL' argument in the build configuration (etc/build.conf). Alternatively, the 'KERNEL' can be specified as command-line argument of the Genode build system, e.g.: make run/log KERNEL=nova This allows us to easily switch from one kernel to another without rebuilding any Genode component except for the very few kernel-specific ones. The new version of the 'create_builddir' tool is still compatible with the old version. The old kernel-specific build directories can still be created. However, those variants will eventually be removed. Note that the commit removes the 'ports-foc' repository from the generated 'build.conf' files. As this is only meaningful for 'foc', I did not want to include it in the list of regular repositories (as visible in a 'x86_32' build directory). Hence, the repository must now be manually added in order to use L4Linux. Issue #2190
25 lines
580 B
Makefile
25 lines
580 B
Makefile
#
|
|
# Specifics for 64-bit x86
|
|
#
|
|
SPECS += x86 64bit
|
|
|
|
#
|
|
# x86-specific Genode headers
|
|
#
|
|
REP_INC_DIR += include/spec/x86
|
|
REP_INC_DIR += include/spec/x86_64
|
|
|
|
CC_MARCH ?= -m64
|
|
|
|
#
|
|
# Avoid wasting almost 4 MiB by telling the linker that the max page size is
|
|
# 4K. Otherwise, the linker would align the text segment to a 4M boundary,
|
|
# effectively adding 4M of zeros to each binary.
|
|
#
|
|
# See http://sourceware.org/ml/binutils/2009-04/msg00099.html
|
|
#
|
|
LD_MARCH ?= -melf_x86_64
|
|
|
|
include $(call select_from_repositories,mk/spec/64bit.mk)
|
|
include $(call select_from_repositories,mk/spec/x86.mk)
|