]> Zhao Yanbai Git Server - minix.git/commit
Hardware interrupts code path cleanup
authorTomas Hruby <tom@minix3.org>
Wed, 4 Nov 2009 13:24:56 +0000 (13:24 +0000)
committerTomas Hruby <tom@minix3.org>
Wed, 4 Nov 2009 13:24:56 +0000 (13:24 +0000)
commitcf854041ce0fa71102f46736ba0915342ec90e70
tree44d99c6e95ccf36e37c08f0fc92605c69e7b3a8d
parent7e73260cf566971d7245a2919a7807827fca8476
Hardware interrupts code path cleanup

- the PIC master and slave irq handlers don't pass the irq hook pointer but just
  the irq number. It gives a little bit more information to the C handler as the
  irq number is not lost

- the irq code path is more achitecture independent. i386 hw interrupts are
  called irq and whereever the code is arch independent enough hw_intr_
  functions are called to mask/unmask interrupts

- the legacy PIC is not the only possible interrupt controller in the x86 world,
  therefore the intr_(un)mask functions were renamed to signal their
  functionality explicitly. APIC will add their own.

- masking and unmasking PIC interrupt lines is removed from assembler and all
  the functionality is rewriten in C and moved to i8259.c

- interrupt handlers have to unmask the interrupt line if all irq handlers are
  done. Assembler does not do it anymore
kernel/arch/i386/hw_intr.h [new file with mode: 0644]
kernel/arch/i386/i8259.c
kernel/arch/i386/klib386.S
kernel/arch/i386/mpx386.S
kernel/interrupt.c
kernel/proto.h