diff options
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/arm/realview-a8-vmm/context_gcc.S | 3 | ||||
| -rw-r--r-- | libcpu/arm/realview-a8-vmm/gic.c | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libcpu/arm/realview-a8-vmm/context_gcc.S b/libcpu/arm/realview-a8-vmm/context_gcc.S index 9bb31e3f10..dba0095632 100644 --- a/libcpu/arm/realview-a8-vmm/context_gcc.S +++ b/libcpu/arm/realview-a8-vmm/context_gcc.S @@ -57,9 +57,6 @@ rt_hw_context_switch_to: ldmfd sp!, {r4} @ pop new task spsr msr spsr_cxsf, r4 - bic r4, r4, #0x20 @ must be ARM mode - msr cpsr_cxsf, r4 - ldmfd sp!, {r0-r12, lr, pc}^ @ pop new task r0-r12, lr & pc .section .bss.share.isr diff --git a/libcpu/arm/realview-a8-vmm/gic.c b/libcpu/arm/realview-a8-vmm/gic.c index db26fc5dcf..4cff1bad3e 100644 --- a/libcpu/arm/realview-a8-vmm/gic.c +++ b/libcpu/arm/realview-a8-vmm/gic.c @@ -249,6 +249,9 @@ int arm_gic_dist_init(rt_uint32_t index, rt_uint32_t dist_base, int irq_start) for (i = 0; i < _gic_max_irq; i += 32) GIC_DIST_IGROUP(dist_base, i) = 0xffffffff; + /* Enable group0 and group1 interrupt forwarding. */ + GIC_DIST_CTRL(dist_base) = 0x03; + return 0; } |
