diff options
author | Pete Batard <pete@akeo.ie> | 2018-11-15 22:29:59 +0000 |
---|---|---|
committer | Pete Batard <pete@akeo.ie> | 2018-11-19 11:45:12 +0000 |
commit | 4dcf1fade23bf4875b9cdd7d0854026736295235 (patch) | |
tree | 329b2cf6c2219fa35b3ee7f07d4c2e28e81cacbc /docs | |
parent | 0a650ee451a7da61e63b33a28c44f3830474f9c8 (diff) |
rpi3: add RPI3_USE_UEFI_MAP build option
The default Raspberry Pi 3 memory mapping for ATF is geared towards
the use of uboot + Linux. This creates issues when trying to use
ATF with an UEFI payload and Windows on ARM64.
We therefore introduce new build option RPI3_USE_UEFI_MAP, that
enables the build process to use an alternate memory mapping that
is compatible with UEFI + Windows (as well as UEFI + Linux).
Fixes ARM-software/tf-issues#649
Signed-off-by: Pete Batard <pete@akeo.ie>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/plat/rpi3.rst | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/plat/rpi3.rst b/docs/plat/rpi3.rst index ea8171fa..2f375513 100644 --- a/docs/plat/rpi3.rst +++ b/docs/plat/rpi3.rst @@ -235,6 +235,41 @@ The following build options are supported: or disabled. ``-1`` (default) disables the runtime UART. Any other value enables the default UART (currently UART1) for runtime messages. +- ``RPI3_USE_UEFI_MAP``: Set to 1 to build ATF with the altername memory + mapping required for an UEFI firmware payload. These changes are needed + to be able to run Windows on ARM64. This option, which is disabled by + default, results in the following memory mappings: + +:: + + 0x00000000 +-----------------+ + | ROM | BL1 + 0x00010000 +-----------------+ + | DTB | (Loaded by the VideoCore) + 0x00020000 +-----------------+ + | FIP | + 0x00030000 +-----------------+ + | | + | UEFI PAYLOAD | + | | + 0x00200000 +-----------------+ + | Secure SRAM | BL2, BL31 + 0x00300000 +-----------------+ + | Secure DRAM | BL32 (Secure payload) + 0x00400000 +-----------------+ + | | + | | + | Non-secure DRAM | BL33 + | | + | | + 0x01000000 +-----------------+ + | | + | ... | + | | + 0x3F000000 +-----------------+ + | I/O | + + - ``BL32``: This port can load and run OP-TEE. The OP-TEE image is optional. Please use the code from `here <https://github.com/OP-TEE/optee_os>`__. Build the Trusted Firmware with option ``BL32=tee-header_v2.bin |