/* When we write a new IO APIC routing entry, we need to write the high word first! If the mask bit in the low word is clear, we will enable the interrupt, and we need to make sure the entry is fully populated before that happens.  */
static void __ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e)
/* When we write a new IO APIC routing entry, we need to write the high word first! If the mask bit in the low word is clear, we will enable the interrupt, and we need to make sure the entry is fully populated before that happens.  */
static void __ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e)
{
	union entry_union eu = {{0, 0}};
	eu.entry = e;
	io_apic_write(apic, 0x11 + 2*pin, eu.w2);
	io_apic_write(apic, 0x10 + 2*pin, eu.w1);
}