LAPIC_ICRLO
KDASSERT(reg == LAPIC_ICRLO);
x2apic_writereg64(LAPIC_ICRLO, ((uint64_t)hi << 32) | lo);
while ((i82489_readreg(LAPIC_ICRLO) & LAPIC_DLSTAT_BUSY) != 0) {
i82489_writereg(LAPIC_ICRLO, LAPIC_DLMODE_INIT | LAPIC_LEVEL_ASSERT);
i82489_writereg(LAPIC_ICRLO,
if ((i82489_readreg(LAPIC_ICRLO) & LAPIC_DLSTAT_BUSY) != 0)
i82489_writereg(LAPIC_ICRLO, vec | LAPIC_DLMODE_STARTUP |
if ((i82489_readreg(LAPIC_ICRLO) & LAPIC_DLSTAT_BUSY) != 0)
i82489_writereg(LAPIC_ICRLO,
result = (i82489_readreg(LAPIC_ICRLO) & LAPIC_DLSTAT_BUSY) ? EBUSY : 0;