x86: Correct return type of servicePendingIRQ

This function returns an interrupt_t, and its call sites expect an interrupt_t,
despite the types being written as irq_t.

Closes #66
This commit is contained in:
Adrian Danis 2017-08-28 09:55:16 +10:00
parent 2a09ce83f7
commit 2bf586fe3d
3 changed files with 4 additions and 4 deletions

View file

@ -45,12 +45,12 @@ receivePendingIRQ(void)
: "=m"(ARCH_NODE_STATE(x86KSPendingInterrupt)));
}
static inline irq_t
static inline interrupt_t
servicePendingIRQ(void)
{
assert(ARCH_NODE_STATE(x86KScurInterrupt) == int_invalid);
assert(ARCH_NODE_STATE(x86KSPendingInterrupt) != int_invalid);
irq_t ret = ARCH_NODE_STATE(x86KSPendingInterrupt);
interrupt_t ret = ARCH_NODE_STATE(x86KSPendingInterrupt);
ARCH_NODE_STATE(x86KSPendingInterrupt) = int_invalid;
return ret;
}

View file

@ -117,7 +117,7 @@ void NORETURN VISIBLE restore_user_context(void)
* we should 'enter' it again */
if (ARCH_NODE_STATE(x86KSPendingInterrupt) != int_invalid) {
/* put this in service */
irq_t irq = servicePendingIRQ();
interrupt_t irq = servicePendingIRQ();
/* reset our stack and jmp to the IRQ entry point */
asm volatile(
/* round our stack back to the top to reset it */

View file

@ -139,7 +139,7 @@ void VISIBLE NORETURN restore_user_context(void)
/* we've now 'exited' the kernel. If we have a pending interrupt
* we should 'enter' it again */
if (ARCH_NODE_STATE(x86KSPendingInterrupt) != int_invalid) {
irq_t irq = servicePendingIRQ();
interrupt_t irq = servicePendingIRQ();
/* reset our stack and jmp to the IRQ entry point */
asm volatile(
/* round our stack back to the top to reset it */