#include #include #include /* EISA Edge/Level trigger control registers */ #define ELCR0 0x4d0 /* eisa irq 0-7 */ #define ELCR1 0x4d1 /* eisa irq 8-15 */ int main(int ac, char **av) { int intcontrol; int fd = open("/dev/io", 2); int i; intcontrol = inb(ELCR1) << 8; intcontrol |= inb(ELCR0); printf("EISA INTCONTROL = %08x\n", intcontrol); for (i = 0; i < 16; i++) { printf("IRQ %d = %d (%s)\n", i, (intcontrol & (1 << i)) ? 1 : 0, (intcontrol & (1 << i)) ? "level" : "edge"); } exit(0); }