summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/shared
diff options
context:
space:
mode:
authorJay Monkman <jtm@smoothsmoothie.com>2006-06-03 03:14:07 +0000
committerJay Monkman <jtm@smoothsmoothie.com>2006-06-03 03:14:07 +0000
commit7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82 (patch)
treed5e98dd64e2485864d66952d7fdc0a8d148ffb3a /c/src/lib/libcpu/arm/shared
parent2006-06-02 Jay Monkman (diff)
downloadrtems-7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82.tar.bz2
2006-06-02 Jay Monkman
* at91rm9200/irq/bsp_irq_init.c, mc9328mxl/clock/clockdrv.c, mc9328mxl/irq/bsp_irq_asm.S, mc9328mxl/irq/bsp_irq_init.c, mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h, s3c2400/irq/bsp_irq_init.c: Changed interrupt handling to use shared rtems_irq_connect_data struct.
Diffstat (limited to 'c/src/lib/libcpu/arm/shared')
-rw-r--r--c/src/lib/libcpu/arm/shared/arm920/mmu.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/arm/shared/arm920/mmu.c b/c/src/lib/libcpu/arm/shared/arm920/mmu.c
index a2182431cf..0158475e35 100644
--- a/c/src/lib/libcpu/arm/shared/arm920/mmu.c
+++ b/c/src/lib/libcpu/arm/shared/arm920/mmu.c
@@ -151,7 +151,7 @@ static inline uint32_t mmu_get_id(void)
static inline uint32_t mmu_get_ctrl(void)
{
uint32_t val;
- asm volatile ("msr 15, 0, %0, cr1, cr0\n" : "=r" (val));
+ asm volatile ("mrc 15, 0, %0, cr1, cr0\n" : "=r" (val));
return val;
}
@@ -240,3 +240,13 @@ static void mmu_set_map_inval(mmu_lvl1_t *base)
base[i] = MMU_SET_LVL1_INVAL;
}
}
+
+
+void mmu_set_cpu_async_mode(void)
+{
+ uint32_t reg;
+ reg = mmu_get_ctrl();
+ reg |= 0xc0000000;
+ mmu_set_ctrl(reg);
+}
+