| 95 | } |
| 96 | |
| 97 | void Write64(uint32_t reg, uint64_t data){ |
| 98 | uint32_t low = data & 0xFFFFFFFF; |
| 99 | uint32_t high = data >> 32; |
| 100 | |
| 101 | Write32(reg, low); |
| 102 | Write32(reg + 1, high); |
| 103 | } |
| 104 | |
| 105 | void Redirect(uint8_t irq, uint8_t vector, uint32_t delivery){ |
| 106 | Write64(IO_APIC_RED_TABLE_ENT(irq), delivery | vector); |