diff options
author | Jakub Czapiga <jacz@semihalf.com> | 2021-09-15 14:52:45 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2021-10-11 12:59:57 +0000 |
commit | 3d91b47b425ffb880c0ed6c45fd04ba48d95ca8d (patch) | |
tree | 828ac9be4df77c66c9f06435f560e5124db0f9f9 /payloads/libpayload/Kconfig | |
parent | b40fdbaa648639c2922732e2fa137c3ebcc78e4e (diff) |
libpayload: Add mock architecture
Mock architecture can be used to build libpayload using host compiler.
It can be enabled by setting ARCH_MOCK=y in the dotconfig. It sets
LITTLE_ENDIAN=y, as most machines these days use little-endian CPUs.
Libpayload will use HOSTCC as CC, HOSTLD as LD, etc. instead of tools
provided by xcompile.
Mock architecture configuration can be used by payloads for testing
purposes. Thanks to it, tests can be architecture-independent,
and can be executed without requiring compatible Kconfig options,
e.g. ARCH_ARM64=y for ARM64 machine. However, one has to provide
implementation for most architecture-specific functions present
in arch/* directories.
Signed-off-by: Jakub Czapiga <jacz@semihalf.com>
Change-Id: Ie3a6e6f6cad2f8a2e48a8e546d3b79c577653080
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57708
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload/Kconfig')
-rw-r--r-- | payloads/libpayload/Kconfig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/payloads/libpayload/Kconfig b/payloads/libpayload/Kconfig index f7d78e069d..382f5af751 100644 --- a/payloads/libpayload/Kconfig +++ b/payloads/libpayload/Kconfig @@ -121,6 +121,14 @@ config ARCH_ARM64 help Support the ARM64 architecture +config ARCH_MOCK + bool "Mock architecture (for unit tests)" + help + This enables the mock architecture (for unit tests) that is intended + to be used for testing purposes, to either test payloads or libpayload itself. + It provides necessary headers, but requires mocking (providing implementation + for) arch-specific functions. + endchoice config MULTIBOOT @@ -150,6 +158,7 @@ config BASE_ADDRESS default 0x04000000 if ARCH_ARM default 0x80100000 if ARCH_ARM64 default 0x00100000 if ARCH_X86 + default 0x00000000 if ARCH_MOCK help This is the base address for the payload. @@ -480,3 +489,4 @@ config IO_ADDRESS_SPACE source "arch/arm/Kconfig" source "arch/arm64/Kconfig" source "arch/x86/Kconfig" +source "arch/mock/Kconfig" |