Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1918 → Rev 1919

/trunk/kernel/genarch/src/kbd/z8530.c
39,8 → 39,10
#include <genarch/kbd/scanc.h>
#include <genarch/kbd/scanc_sun.h>
#include <arch/drivers/z8530.h>
#include <irq.h>
#include <arch/interrupt.h>
#include <arch/drivers/kbd.h>
#include <arch/drivers/fhc.h>
#include <cpu.h>
#include <arch/asm.h>
#include <arch.h>
169,5 → 171,26
}
}
 
irq_ownership_t z8530_claim(void)
{
return (z8530_read_a(RR0) & RR0_RCA);
}
 
void z8530_irq_handler(irq_t *irq, void *arg, ...)
{
/*
* So far, we know we got this interrupt through the FHC.
* Since we don't have enough information about the FHC and
* because the interrupt looks like level sensitive,
* we cannot handle it by scheduling one of the level
* interrupt traps. Process the interrupt directly.
*/
if (z8530_belongs_to_kernel)
z8530_interrupt();
else
ipc_irq_send_notif(0);
fhc_clear_interrupt(central_fhc, irq->inr);
}
 
/** @}
*/