Support armv8 clock.
This commit is contained in:
@@ -192,8 +192,7 @@ gic_set_prio0(uint32_t intid)
|
||||
gicd_write(D_IPRIORITYR(intid / 4), p);
|
||||
}
|
||||
|
||||
static void
|
||||
gic_set_target(uint32_t intid, uint32_t cpuid)
|
||||
static void gic_set_target(uint32_t intid, uint32_t cpuid)
|
||||
{
|
||||
uint32_t itargetsr = gicd_read(D_ITARGETSR(intid / 4));
|
||||
itargetsr &= ~((uint32_t)0xff << (intid % 4 * 8));
|
||||
|
||||
@@ -83,6 +83,7 @@ void gic_set_cpu_target(uint32_t irqID, unsigned cpuNumber, bool enableIt);
|
||||
void gic_set_irq_priority(uint32_t irq_id, uint32_t priority);
|
||||
|
||||
void gic_setup_spi(uint32_t cpuid, uint32_t intid);
|
||||
void gic_setup_ppi(uint32_t cpuid, uint32_t intid);
|
||||
|
||||
void gicv3inithart(uint32_t cpu_id);
|
||||
//! @brief Send a software generated interrupt to a specific CPU.
|
||||
|
||||
@@ -70,7 +70,7 @@ static void _cpu_irq_disable(void)
|
||||
|
||||
static void _single_irq_enable(int irq, int cpu, int prio)
|
||||
{
|
||||
gic_setup_spi((uint32_t)cpu, (uint32_t)irq);
|
||||
gic_setup_ppi((uint32_t)cpu, (uint32_t)irq);
|
||||
}
|
||||
|
||||
static void _single_irq_disable(int irq, int cpu)
|
||||
|
||||
@@ -197,7 +197,6 @@ el1irq:
|
||||
bl intr_irq_dispatch
|
||||
|
||||
urestorereg
|
||||
msr daifclr, #0xf
|
||||
|
||||
eret
|
||||
|
||||
@@ -209,7 +208,6 @@ el0sync:
|
||||
bl syscall_arch_handler
|
||||
|
||||
urestorereg
|
||||
msr daifclr, #0xf
|
||||
|
||||
eret
|
||||
|
||||
@@ -223,6 +221,5 @@ el0irq:
|
||||
.global trap_return
|
||||
trap_return:
|
||||
urestorereg
|
||||
msr daifclr, #0xf
|
||||
|
||||
eret
|
||||
Reference in New Issue
Block a user