seL4/tools/hardware
Rafal Kolanski 65a1b457a4 make physBase a static inline function
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>
2023-03-07 14:29:14 +11:00
..
outputs make physBase a static inline function 2023-03-07 14:29:14 +11:00
utils python: align imports 2021-11-14 11:44:00 +11:00
__init__.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
config.py python: use KernelSel4Arch instead of KernelArch 2021-12-03 10:26:41 +11:00
device.py Add __repr__ for WrappedNode 2022-07-20 16:37:33 +10:00
fdt.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
irq.py tools: add risc-v dtb interrupt parsing 2021-08-24 18:04:43 +10:00
memory.py python: align imports 2021-11-14 11:44:00 +11:00