For verification flexible w.r.t kernel placement in physical memory, we need to relate physBase as a named constant to its abstract equivalent. Unfortunately, apart from enums, the C programming language does not have real constants. The C parser follows the C standard and requires enums constants to be storable as int, meaning without major overhaul enums are not sufficient for storing word_t-sized memory addresses. Since the linker scripts can't deal with static inline functions in the constants they need (KERNEL_ELF_BASE and KERNEL_ELF_PADDR_BASE), we provide the following preprocessor definitions for the linker specifically: * PHYS_BASE_RAW (the numerical value returned by physBase()) * KERNEL_ELF_BASE_RAW * KERNEL_ELF_PADDR_BASE_RAW Signed-off-by: Rafal Kolanski <rafal.kolanski@proofcraft.systems> |
||
|---|---|---|
| .. | ||
| default/plat | ||
| pc99/plat | ||
| tk1/plat/machine | ||