memory.c/h: fix typo SCTL -> SCTLR

Signed-off-by: Sven Peter <sven@svenpeter.dev>
This commit is contained in:
Sven Peter 2021-01-23 21:40:13 +01:00 committed by Hector Martin
parent cbf4fbabd1
commit c9f975f886
2 changed files with 13 additions and 13 deletions

View file

@ -24,13 +24,13 @@ CACHE_RANGE_OP(dc_cvac_range, "dc cvac")
CACHE_RANGE_OP(dc_cvau_range, "dc cvau")
CACHE_RANGE_OP(dc_civac_range, "dc civac")
static inline uint64_t read_sctl(void)
static inline uint64_t read_sctlr(void)
{
sysop("isb");
return mrs(SCTLR_EL2);
}
static inline void write_sctl(uint64_t val)
static inline void write_sctlr(uint64_t val)
{
msr(SCTLR_EL2, val);
sysop("isb");
@ -224,18 +224,18 @@ void mmu_init(void)
_mmu_add_default_mappings();
_mmu_configure();
uint64_t sctl_old = read_sctl();
uint64_t sctl_new = sctl_old | SCTL_I | SCTL_C | SCTL_M;
uint64_t sctlr_old = read_sctlr();
uint64_t sctlr_new = sctlr_old | SCTLR_I | SCTLR_C | SCTLR_M;
printf("MMU: SCTL_EL2: %x -> %x\n", sctl_old, sctl_new);
write_sctl(sctl_new);
printf("MMU: SCTLR_EL2: %x -> %x\n", sctlr_old, sctlr_new);
write_sctlr(sctlr_new);
printf("MMU: running with MMU and caches enabled!\n");
}
void mmu_shutdown(void)
{
printf("MMU: shutting down...\n");
write_sctl(read_sctl() & ~(SCTL_I | SCTL_C | SCTL_M));
write_sctlr(read_sctlr() & ~(SCTLR_I | SCTLR_C | SCTLR_M));
printf("MMU: shutdown successful, clearing caches\n");
dcsw_op_all(DCSW_OP_DCCISW);
}

View file

@ -15,13 +15,13 @@
/*
* https://developer.arm.com/docs/ddi0595/g/aarch64-system-registers/sctlr_el2
* SCTL_I enables instruction caches.
* SCTL_C enables data caches.
* SCTL_M enables the MMU.
* SCTLR_I enables instruction caches.
* SCTLR_C enables data caches.
* SCTLR_M enables the MMU.
*/
#define SCTL_I (1UL << 12)
#define SCTL_C (1UL << 2)
#define SCTL_M (1UL)
#define SCTLR_I (1UL << 12)
#define SCTLR_C (1UL << 2)
#define SCTLR_M (1UL)
/*
* https://developer.arm.com/documentation/100442/0100/register-descriptions/aarch64-system-registers/tcr-el2--translation-control-register--el2