Sorry for stupid question, but I don't understand how to map IRQs to interrupt vectors in protected mode (or long mode). Every information what I found is for real mode (http://wiki.osdev.org/Interrupts). In protected mode, vectors 0x8-0xf are for exceptions, not for IRQs. Then, where are IRQs?
EDIT: I know IDT (and GDT ...) and local APIC (local x2APIC)
EDIT: Good, I found some clues. IRQs can be mapped via I/O APIC. But, the datasheet about I/O APIC is from 1996 !! I can't find newer.