arm:caching enable barriers
Change-Id: I2c54a3c3c8f0502bf365901d771a989f7c556958
This commit is contained in:
parent
400e577fd5
commit
d60d07f045
|
@ -178,7 +178,8 @@ int pg_mapkernel(void)
|
|||
assert(!(kern_phys_start % ARM_SECTION_SIZE));
|
||||
pde = kern_vir_start / ARM_SECTION_SIZE; /* start pde */
|
||||
while(mapped < kern_kernlen) {
|
||||
pagedir[pde] = (kern_phys & ARM_VM_SECTION_MASK) | ARM_VM_SECTION
|
||||
pagedir[pde] = (kern_phys & ARM_VM_SECTION_MASK)
|
||||
| ARM_VM_SECTION
|
||||
| ARM_VM_SECTION_SUPER
|
||||
| ARM_VM_SECTION_DOMAIN
|
||||
| ARM_VM_SECTION_CACHED;
|
||||
|
@ -192,6 +193,7 @@ int pg_mapkernel(void)
|
|||
void vm_enable_paging(void)
|
||||
{
|
||||
u32_t sctlr;
|
||||
u32_t actlr;
|
||||
|
||||
write_ttbcr(0);
|
||||
|
||||
|
@ -209,9 +211,20 @@ void vm_enable_paging(void)
|
|||
/* AFE set to zero (default reset value): not using simplified model. */
|
||||
sctlr &= ~SCTLR_AFE;
|
||||
|
||||
/* Enable instruction and data cache */
|
||||
/* Enable instruction ,data cache and branch prediction */
|
||||
sctlr |= SCTLR_C;
|
||||
sctlr |= SCTLR_I;
|
||||
sctlr |= SCTLR_Z;
|
||||
|
||||
/* Enable barriers */
|
||||
sctlr |= SCTLR_CP15BEN;
|
||||
|
||||
/* Enable L2 cache (cortex-a8) */
|
||||
#define CORTEX_A8_L2EN (0x02)
|
||||
actlr = read_actlr();
|
||||
actlr |= CORTEX_A8_L2EN;
|
||||
write_actlr(actlr);
|
||||
|
||||
write_sctlr(sctlr);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue