mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 23:51:33 +00:00
arm: imx: imx8m: Map RAM as NS if PSCI provider
In case U-Boot is a PSCI provider, map RAM explicitly as NS, otherwise secondary cores crash with SError when attempting to access RAM mapped as secure in EL2. Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
68c0ce8a5c
commit
1434f93ee0
1 changed files with 11 additions and 5 deletions
|
@ -100,6 +100,12 @@ void set_wdog_reset(struct wdog_regs *wdog)
|
|||
setbits_le16(&wdog->wcr, WDOG_WDT_MASK | WDOG_WDZST_MASK);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARMV8_PSCI
|
||||
#define PTE_MAP_NS PTE_BLOCK_NS
|
||||
#else
|
||||
#define PTE_MAP_NS 0
|
||||
#endif
|
||||
|
||||
static struct mm_region imx8m_mem_map[] = {
|
||||
{
|
||||
/* ROM */
|
||||
|
@ -122,7 +128,7 @@ static struct mm_region imx8m_mem_map[] = {
|
|||
.phys = 0x180000UL,
|
||||
.size = 0x8000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_OUTER_SHARE
|
||||
PTE_BLOCK_OUTER_SHARE | PTE_MAP_NS
|
||||
}, {
|
||||
/* TCM */
|
||||
.virt = 0x7C0000UL,
|
||||
|
@ -130,14 +136,14 @@ static struct mm_region imx8m_mem_map[] = {
|
|||
.size = 0x80000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE |
|
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_MAP_NS
|
||||
}, {
|
||||
/* OCRAM */
|
||||
.virt = 0x900000UL,
|
||||
.phys = 0x900000UL,
|
||||
.size = 0x200000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_OUTER_SHARE
|
||||
PTE_BLOCK_OUTER_SHARE | PTE_MAP_NS
|
||||
}, {
|
||||
/* AIPS */
|
||||
.virt = 0xB00000UL,
|
||||
|
@ -152,7 +158,7 @@ static struct mm_region imx8m_mem_map[] = {
|
|||
.phys = 0x40000000UL,
|
||||
.size = PHYS_SDRAM_SIZE,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_OUTER_SHARE
|
||||
PTE_BLOCK_OUTER_SHARE | PTE_MAP_NS
|
||||
#ifdef PHYS_SDRAM_2_SIZE
|
||||
}, {
|
||||
/* DRAM2 */
|
||||
|
@ -160,7 +166,7 @@ static struct mm_region imx8m_mem_map[] = {
|
|||
.phys = 0x100000000UL,
|
||||
.size = PHYS_SDRAM_2_SIZE,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_OUTER_SHARE
|
||||
PTE_BLOCK_OUTER_SHARE | PTE_MAP_NS
|
||||
#endif
|
||||
}, {
|
||||
/* empty entrie to split table entry 5 if needed when TEEs are used */
|
||||
|
|
Loading…
Reference in a new issue