X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=geekos%2Finclude%2Fgeekos%2Firq.h;fp=geekos%2Finclude%2Fgeekos%2Firq.h;h=69e625cdea7e056a51daf21eca19ca645218b088;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/geekos/include/geekos/irq.h b/geekos/include/geekos/irq.h new file mode 100644 index 0000000..69e625c --- /dev/null +++ b/geekos/include/geekos/irq.h @@ -0,0 +1,29 @@ +/* + * This is the device-driver interface to the interrupt system. + * Copyright (c) 2001,2003 David H. Hovemeyer + * $Revision: 1.2 $ + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "COPYING". + */ + +#ifndef GEEKOS_IRQ_H +#define GEEKOS_IRQ_H + +#include + +void Install_IRQ(int irq, Interrupt_Handler handler); +ushort_t Get_IRQ_Mask(void); +void Set_IRQ_Mask(ushort_t mask); +void Enable_IRQ(int irq); +void Disable_IRQ(int irq); + +/* + * IRQ handlers should call these to begin and end the + * interrupt. + */ +void Begin_IRQ(struct Interrupt_State* state); +void End_IRQ_num(int irq); +void End_IRQ(struct Interrupt_State* state); + +#endif /* GEEKOS_IRQ_H */