mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00
xlat_tables_v2: add enable_mmu()
enable_mmu_* has a different function name, so it is not handy in the shared code. enable_mmu() calls an appropriate one depending on the exception level. Change-Id: I0657968bfcb91c32733f75f9259f550a5c35b1c3 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
fd092be239
commit
f554773520
2 changed files with 20 additions and 0 deletions
|
@ -56,6 +56,8 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <arch_helpers.h>
|
||||
|
||||
/*
|
||||
* Return the values that the MMU configuration registers must contain for the
|
||||
* specified translation context. `params` must be a pointer to array of size
|
||||
|
@ -70,6 +72,7 @@ void setup_mmu_cfg(uint64_t *params, unsigned int flags,
|
|||
void enable_mmu_el1(unsigned int flags);
|
||||
void enable_mmu_el2(unsigned int flags);
|
||||
void enable_mmu_el3(unsigned int flags);
|
||||
void enable_mmu(unsigned int flags);
|
||||
|
||||
void enable_mmu_direct_el1(unsigned int flags);
|
||||
void enable_mmu_direct_el2(unsigned int flags);
|
||||
|
|
|
@ -239,6 +239,23 @@ void enable_mmu_el3(unsigned int flags)
|
|||
enable_mmu_direct_el3(flags);
|
||||
}
|
||||
|
||||
void enable_mmu(unsigned int flags)
|
||||
{
|
||||
switch (get_current_el_maybe_constant()) {
|
||||
case 1:
|
||||
enable_mmu_el1(flags);
|
||||
break;
|
||||
case 2:
|
||||
enable_mmu_el2(flags);
|
||||
break;
|
||||
case 3:
|
||||
enable_mmu_el3(flags);
|
||||
break;
|
||||
default:
|
||||
panic();
|
||||
}
|
||||
}
|
||||
|
||||
#else /* !__aarch64__ */
|
||||
|
||||
void enable_mmu_svc_mon(unsigned int flags)
|
||||
|
|
Loading…
Add table
Reference in a new issue