Lines Matching refs:lapic
110 struct LAPIC *lapic; in vlapic_dfr_write_handler() local
112 lapic = vlapic->apic_page; in vlapic_dfr_write_handler()
115 lapic->dfr); in vlapic_dfr_write_handler()
116 lapic->dfr = 0; in vlapic_dfr_write_handler()
120 lapic->dfr &= APIC_DFR_MODEL_MASK; in vlapic_dfr_write_handler()
121 lapic->dfr |= APIC_DFR_RESERVED; in vlapic_dfr_write_handler()
123 if ((lapic->dfr & APIC_DFR_MODEL_MASK) == APIC_DFR_MODEL_FLAT) in vlapic_dfr_write_handler()
125 else if ((lapic->dfr & APIC_DFR_MODEL_MASK) == APIC_DFR_MODEL_CLUSTER) in vlapic_dfr_write_handler()
128 VLAPIC_CTR1(vlapic, "DFR in Unknown Model %#x", lapic->dfr); in vlapic_dfr_write_handler()
134 struct LAPIC *lapic; in vlapic_ldr_write_handler() local
136 lapic = vlapic->apic_page; in vlapic_ldr_write_handler()
141 lapic->ldr); in vlapic_ldr_write_handler()
142 lapic->ldr = x2apic_ldr(vlapic); in vlapic_ldr_write_handler()
144 lapic->ldr &= ~APIC_LDR_RESERVED; in vlapic_ldr_write_handler()
145 VLAPIC_CTR1(vlapic, "vlapic LDR set to %#x", lapic->ldr); in vlapic_ldr_write_handler()
152 struct LAPIC *lapic; in vlapic_id_write_handler() local
158 lapic = vlapic->apic_page; in vlapic_id_write_handler()
159 lapic->id = vlapic_get_id(vlapic); in vlapic_id_write_handler()
201 struct LAPIC *lapic __diagused; in vlapic_get_ccr()
205 lapic = vlapic->apic_page; in vlapic_get_ccr()
221 KASSERT(ccr <= lapic->icr_timer, ("vlapic_get_ccr: invalid ccr %#x, " in vlapic_get_ccr()
222 "icr_timer is %#x", ccr, lapic->icr_timer)); in vlapic_get_ccr()
224 ccr, lapic->icr_timer); in vlapic_get_ccr()
232 struct LAPIC *lapic; in vlapic_dcr_write_handler() local
235 lapic = vlapic->apic_page; in vlapic_dcr_write_handler()
238 divisor = vlapic_timer_divisor(lapic->dcr_timer); in vlapic_dcr_write_handler()
240 lapic->dcr_timer, divisor); in vlapic_dcr_write_handler()
250 bintime_mul(&vlapic->timer_period_bt, lapic->icr_timer); in vlapic_dcr_write_handler()
258 struct LAPIC *lapic; in vlapic_esr_write_handler() local
260 lapic = vlapic->apic_page; in vlapic_esr_write_handler()
261 lapic->esr = vlapic->esr_pending; in vlapic_esr_write_handler()
268 struct LAPIC *lapic; in vlapic_set_intr_ready() local
274 lapic = vlapic->apic_page; in vlapic_set_intr_ready()
275 if (!(lapic->svr & APIC_SVR_ENABLE)) { in vlapic_set_intr_ready()
295 irrptr = &lapic->irr0; in vlapic_set_intr_ready()
302 tmrptr = &lapic->tmr0; in vlapic_set_intr_ready()
316 struct LAPIC *lapic = vlapic->apic_page; in vlapic_get_lvtptr() local
321 return (&lapic->lvt_cmci); in vlapic_get_lvtptr()
324 return ((&lapic->lvt_timer) + i); in vlapic_get_lvtptr()
382 struct LAPIC *lapic; in vlapic_lvt_write_handler() local
385 lapic = vlapic->apic_page; in vlapic_lvt_write_handler()
390 if (!(lapic->svr & APIC_SVR_ENABLE)) in vlapic_lvt_write_handler()
415 struct LAPIC *lapic = vlapic->apic_page; in vlapic_mask_lvts() local
417 lapic->lvt_cmci |= APIC_LVT_M; in vlapic_mask_lvts()
420 lapic->lvt_timer |= APIC_LVT_M; in vlapic_mask_lvts()
423 lapic->lvt_thermal |= APIC_LVT_M; in vlapic_mask_lvts()
426 lapic->lvt_pcint |= APIC_LVT_M; in vlapic_mask_lvts()
429 lapic->lvt_lint0 |= APIC_LVT_M; in vlapic_mask_lvts()
432 lapic->lvt_lint1 |= APIC_LVT_M; in vlapic_mask_lvts()
435 lapic->lvt_error |= APIC_LVT_M; in vlapic_mask_lvts()
570 struct LAPIC *lapic = vlapic->apic_page; in vlapic_process_eoi() local
574 isrptr = &lapic->isr0; in vlapic_process_eoi()
575 tmrptr = &lapic->tmr0; in vlapic_process_eoi()
780 struct LAPIC *lapic; in vlapic_icrtmr_write_handler() local
786 lapic = vlapic->apic_page; in vlapic_icrtmr_write_handler()
787 icr_timer = lapic->icr_timer; in vlapic_icrtmr_write_handler()
910 struct LAPIC *lapic = vlapic->apic_page; in vlapic_set_tpr() local
912 if (lapic->tpr != val) { in vlapic_set_tpr()
914 lapic->tpr, val); in vlapic_set_tpr()
915 lapic->tpr = val; in vlapic_set_tpr()
923 struct LAPIC *lapic = vlapic->apic_page; in vlapic_get_tpr() local
925 return (lapic->tpr); in vlapic_get_tpr()
1041 struct LAPIC *lapic; in vlapic_icrlo_write_handler() local
1043 lapic = vlapic->apic_page; in vlapic_icrlo_write_handler()
1044 lapic->icr_lo &= ~APIC_DELSTAT_PEND; in vlapic_icrlo_write_handler()
1045 icrval = ((uint64_t)lapic->icr_hi << 32) | lapic->icr_lo; in vlapic_icrlo_write_handler()
1232 struct LAPIC *lapic = vlapic->apic_page; in vlapic_pending_intr() local
1241 irrptr = &lapic->irr0; in vlapic_pending_intr()
1249 if (PRIO(vector) > PRIO(lapic->ppr)) { in vlapic_pending_intr()
1264 struct LAPIC *lapic = vlapic->apic_page; in vlapic_intr_accepted() local
1277 irrptr = &lapic->irr0; in vlapic_intr_accepted()
1281 isrptr = &lapic->isr0; in vlapic_intr_accepted()
1300 struct LAPIC *lapic; in vlapic_svr_write_handler() local
1303 lapic = vlapic->apic_page; in vlapic_svr_write_handler()
1305 new = lapic->svr; in vlapic_svr_write_handler()
1337 struct LAPIC *lapic = vlapic->apic_page; in vlapic_read() local
1359 if (offset > sizeof(*lapic)) { in vlapic_read()
1368 *data = lapic->id; in vlapic_read()
1371 *data = lapic->version; in vlapic_read()
1377 *data = lapic->apr; in vlapic_read()
1380 *data = lapic->ppr; in vlapic_read()
1383 *data = lapic->eoi; in vlapic_read()
1386 *data = lapic->ldr; in vlapic_read()
1389 *data = lapic->dfr; in vlapic_read()
1392 *data = lapic->svr; in vlapic_read()
1396 reg = &lapic->isr0; in vlapic_read()
1401 reg = &lapic->tmr0; in vlapic_read()
1406 reg = &lapic->irr0; in vlapic_read()
1410 *data = lapic->esr; in vlapic_read()
1413 *data = lapic->icr_lo; in vlapic_read()
1415 *data |= (uint64_t)lapic->icr_hi << 32; in vlapic_read()
1418 *data = lapic->icr_hi; in vlapic_read()
1430 *data = lapic->icr_timer; in vlapic_read()
1436 *data = lapic->dcr_timer; in vlapic_read()
1458 struct LAPIC *lapic = vlapic->apic_page; in vlapic_write() local
1468 if (offset > sizeof(*lapic)) in vlapic_write()
1491 lapic->id = data; in vlapic_write()
1501 lapic->ldr = data; in vlapic_write()
1505 lapic->dfr = data; in vlapic_write()
1509 lapic->svr = data; in vlapic_write()
1513 lapic->icr_lo = data; in vlapic_write()
1515 lapic->icr_hi = data >> 32; in vlapic_write()
1519 lapic->icr_hi = data; in vlapic_write()
1528 lapic->icr_timer = data; in vlapic_write()
1533 lapic->dcr_timer = data; in vlapic_write()
1565 struct LAPIC *lapic; in vlapic_reset() local
1567 lapic = vlapic->apic_page; in vlapic_reset()
1568 bzero(lapic, sizeof(struct LAPIC)); in vlapic_reset()
1570 lapic->id = vlapic_get_id(vlapic); in vlapic_reset()
1571 lapic->version = VLAPIC_VERSION; in vlapic_reset()
1572 lapic->version |= (VLAPIC_MAXLVT_INDEX << MAXLVTSHIFT); in vlapic_reset()
1573 lapic->dfr = 0xffffffff; in vlapic_reset()
1574 lapic->svr = APIC_SVR_VECTOR; in vlapic_reset()
1578 lapic->dcr_timer = 0; in vlapic_reset()
1581 vlapic->svr_last = lapic->svr; in vlapic_reset()
1646 struct LAPIC *lapic; in vlapic_set_x2apic_state() local
1661 lapic = vlapic->apic_page; in vlapic_set_x2apic_state()
1662 lapic->id = vlapic_get_id(vlapic); in vlapic_set_x2apic_state()
1664 lapic->ldr = x2apic_ldr(vlapic); in vlapic_set_x2apic_state()
1665 lapic->dfr = 0; in vlapic_set_x2apic_state()
1667 lapic->ldr = 0; in vlapic_set_x2apic_state()
1668 lapic->dfr = 0xffffffff; in vlapic_set_x2apic_state()
1732 struct LAPIC *lapic = vlapic->apic_page; in vlapic_enabled() local
1735 (lapic->svr & APIC_SVR_ENABLE) != 0) in vlapic_enabled()
1744 struct LAPIC *lapic; in vlapic_set_tmr() local
1748 lapic = vlapic->apic_page; in vlapic_set_tmr()
1749 tmrptr = &lapic->tmr0; in vlapic_set_tmr()
1843 struct LAPIC *lapic; in vlapic_snapshot() local
1859 lapic = vlapic->apic_page; in vlapic_snapshot()
1860 SNAPSHOT_BUF_OR_LEAVE(lapic, PAGE_SIZE, meta, ret, done); in vlapic_snapshot()
1875 bintime_mul(&vlapic->timer_period_bt, lapic->icr_timer); in vlapic_snapshot()
1893 vlapic_enabled(vlapic) && lapic->icr_timer != 0) { in vlapic_snapshot()