mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-24 06:04:52 +02:00
ArmVirtPkg/ArmVirtQemu: enlarge initial flash mapping
The initial ID map used by ArmVirtQemu only covers 2 MiB of NOR flash, while the NOOPT build can be up to 3 MiB in size, resulting in a crash if the unmapped 1 MiB is accessed before the real page tables are up. So increate the initial flash mapping to 4 MiB. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
6c8a08bd8a
commit
619f077252
@ -15,6 +15,7 @@
|
|||||||
.set TT_MT_MEM, (0x3 << 2) | (0x3 << 8) // MAIR #3
|
.set TT_MT_MEM, (0x3 << 2) | (0x3 << 8) // MAIR #3
|
||||||
|
|
||||||
.set PAGE_XIP, TT_TYPE_PAGE | TT_MT_MEM | TT_AF | TT_RO | TT_NG
|
.set PAGE_XIP, TT_TYPE_PAGE | TT_MT_MEM | TT_AF | TT_RO | TT_NG
|
||||||
|
.set BLOCK_XIP, TT_TYPE_BLOCK | TT_MT_MEM | TT_AF | TT_RO | TT_NG
|
||||||
.set BLOCK_DEV, TT_TYPE_BLOCK | TT_MT_DEV | TT_AF | TT_XN | TT_NG
|
.set BLOCK_DEV, TT_TYPE_BLOCK | TT_MT_DEV | TT_AF | TT_XN | TT_NG
|
||||||
.set BLOCK_MEM, TT_TYPE_BLOCK | TT_MT_MEM | TT_AF | TT_XN | TT_NG
|
.set BLOCK_MEM, TT_TYPE_BLOCK | TT_MT_MEM | TT_AF | TT_XN | TT_NG
|
||||||
|
|
||||||
@ -33,7 +34,8 @@ idmap: /* level 0 */
|
|||||||
|
|
||||||
20: /* level 2 */
|
20: /* level 2 */
|
||||||
.quad 3f + TT_TYPE_TABLE // up to 2 MB of flash
|
.quad 3f + TT_TYPE_TABLE // up to 2 MB of flash
|
||||||
.fill 63, 8, 0x0 // 126 MB of unused flash
|
.quad BLOCK_XIP | (0x1 << 21) // another 2 MB of flash
|
||||||
|
.fill 62, 8, 0x0 // 124 MB of unused flash
|
||||||
.set idx, 64
|
.set idx, 64
|
||||||
.rept 448
|
.rept 448
|
||||||
.quad BLOCK_DEV | (idx << 21) // 896 MB of RW- device mappings
|
.quad BLOCK_DEV | (idx << 21) // 896 MB of RW- device mappings
|
||||||
|
Loading…
x
Reference in New Issue
Block a user