mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 17:44:19 +00:00
fix(qemu): allocate space for GPT bitlock
Since commit ec0088bbab
("feat(gpt): add support for large GPT
mappings"), the platform needs to reserve space for the bitlock,
immediately after the L0 GPT table. Add two pages to the L0 GPT reserve.
This could be optimized later by moving the bitlock somewhere else,
because it really only needs (1 << PPS.T) / (512M * 8) = 256 bytes for
the QEMU virt platform.
Fix two more comments in qemu_pas_def.h since we're here.
Change-Id: I2b0b8de38f4b5058735ed16f1cdc50e6b2d52ad9
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
This commit is contained in:
parent
a6e01be250
commit
e9bcbd7b2e
3 changed files with 12 additions and 7 deletions
|
@ -173,7 +173,8 @@ static void bl2_plat_gpt_setup(void)
|
|||
* moment we use a 8KB table, which covers 1TB of RAM (40-bit PA).
|
||||
*/
|
||||
if (gpt_init_l0_tables(GPCCR_PPS_1TB, PLAT_QEMU_L0_GPT_BASE,
|
||||
PLAT_QEMU_L0_GPT_SIZE) < 0) {
|
||||
PLAT_QEMU_L0_GPT_SIZE +
|
||||
PLAT_QEMU_GPT_BITLOCK_SIZE) < 0) {
|
||||
ERROR("gpt_init_l0_tables() failed!\n");
|
||||
panic();
|
||||
}
|
||||
|
|
|
@ -342,8 +342,11 @@
|
|||
* Tables
|
||||
*/
|
||||
#define PLAT_QEMU_L0_GPT_BASE (PLAT_QEMU_L1_GPT_BASE - \
|
||||
PLAT_QEMU_L0_GPT_SIZE)
|
||||
(PLAT_QEMU_L0_GPT_SIZE + \
|
||||
PLAT_QEMU_GPT_BITLOCK_SIZE))
|
||||
#define PLAT_QEMU_L0_GPT_SIZE (2 * PAGE_SIZE)
|
||||
/* Two pages so the L0 GPT is naturally aligned. */
|
||||
#define PLAT_QEMU_GPT_BITLOCK_SIZE (2 * PAGE_SIZE)
|
||||
|
||||
#define PLAT_QEMU_L1_GPT_BASE (SEC_DRAM_BASE + SEC_DRAM_SIZE - \
|
||||
PLAT_QEMU_L1_GPT_SIZE)
|
||||
|
@ -353,7 +356,8 @@
|
|||
|
||||
#define RME_GPT_DRAM_BASE PLAT_QEMU_L0_GPT_BASE
|
||||
#define RME_GPT_DRAM_SIZE (PLAT_QEMU_L1_GPT_SIZE + \
|
||||
PLAT_QEMU_L0_GPT_SIZE)
|
||||
PLAT_QEMU_L0_GPT_SIZE + \
|
||||
PLAT_QEMU_GPT_BITLOCK_SIZE)
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
/* L0 table greater than 4KB must be naturally aligned */
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* | 1GB |L0 GPT|ANY |Flash |
|
||||
* 00000000 | | | |IO |
|
||||
* ---------------------------------------------------------------------------
|
||||
* 224MB | 1KB |L0 GPT|ANY |Secure RAM (EL3) |
|
||||
* 224MB | 1KB |L1 GPT|ANY |Secure RAM (EL3) |
|
||||
* 0e000000 | | | | (shared) |
|
||||
* ---------------------------------------------------------------------------
|
||||
* | 1MB-1KB |L1 GPT|ROOT |Secure RAM (EL3) |
|
||||
|
@ -31,10 +31,10 @@
|
|||
* 225MB | 14MB |L1 GPT|SECURE|Secure RAM |
|
||||
* 0e100000 | | | | (EL2, EL1) |
|
||||
* ---------------------------------------------------------------------------
|
||||
* | 1MB+8KB |L1 GPT|ROOT |L0 and L1 GPTs |
|
||||
* 0eefe000 | | | | |
|
||||
* | 2MB |L1 GPT|ROOT |L0 and L1 GPTs, |
|
||||
* 0edfc000 | +16KB | | | bitlocks |
|
||||
* ---------------------------------------------------------------------------
|
||||
* 240MB | 800MB |L0 GPT|ANY |IO |
|
||||
* 240MB | 800MB |L1 GPT|ANY |IO |
|
||||
* 0f000000 | | | | |
|
||||
* ---------------------------------------------------------------------------
|
||||
* 1GB | 1MB |L1 GPT|NS |DRAM |
|
||||
|
|
Loading…
Add table
Reference in a new issue