Symbol: atpic
usr/src/uts/intel/io/vmm/io/vatpic.c
113
struct atpic atpic[2];
usr/src/uts/intel/io/vmm/io/vatpic.c
120
#define ATPIC_PIN_FOREACH(pinvar, atpic, tmpvar) \
usr/src/uts/intel/io/vmm/io/vatpic.c
121
for (tmpvar = 0, pinvar = (atpic->lowprio + 1) & 0x7; \
usr/src/uts/intel/io/vmm/io/vatpic.c
128
master_atpic(struct vatpic *vatpic, struct atpic *atpic)
usr/src/uts/intel/io/vmm/io/vatpic.c
131
if (atpic == &vatpic->atpic[0])
usr/src/uts/intel/io/vmm/io/vatpic.c
138
vatpic_get_highest_isrpin(struct atpic *atpic)
usr/src/uts/intel/io/vmm/io/vatpic.c
143
ATPIC_PIN_FOREACH(pin, atpic, i) {
usr/src/uts/intel/io/vmm/io/vatpic.c
146
if (atpic->reg_isr & bit) {
usr/src/uts/intel/io/vmm/io/vatpic.c
151
if (atpic->special_mask_mode &&
usr/src/uts/intel/io/vmm/io/vatpic.c
152
(atpic->reg_imr & bit) != 0) {
usr/src/uts/intel/io/vmm/io/vatpic.c
164
vatpic_get_highest_irrpin(struct atpic *atpic)
usr/src/uts/intel/io/vmm/io/vatpic.c
174
serviced = atpic->reg_isr;
usr/src/uts/intel/io/vmm/io/vatpic.c
175
if (atpic->special_full_nested)
usr/src/uts/intel/io/vmm/io/vatpic.c
184
if (atpic->special_mask_mode)
usr/src/uts/intel/io/vmm/io/vatpic.c
187
ATPIC_PIN_FOREACH(pin, atpic, tmp) {
usr/src/uts/intel/io/vmm/io/vatpic.c
201
if ((atpic->reg_irr & bit) != 0 && (atpic->reg_imr & bit) == 0)
usr/src/uts/intel/io/vmm/io/vatpic.c
211
struct atpic *atpic;
usr/src/uts/intel/io/vmm/io/vatpic.c
219
atpic = &vatpic->atpic[1];
usr/src/uts/intel/io/vmm/io/vatpic.c
220
if (!atpic->intr_raised &&
usr/src/uts/intel/io/vmm/io/vatpic.c
221
(pin = vatpic_get_highest_irrpin(atpic)) != -1) {
usr/src/uts/intel/io/vmm/io/vatpic.c
225
atpic->intr_raised = true;
usr/src/uts/intel/io/vmm/io/vatpic.c
236
atpic = &vatpic->atpic[0];
usr/src/uts/intel/io/vmm/io/vatpic.c
237
if (!atpic->intr_raised &&
usr/src/uts/intel/io/vmm/io/vatpic.c
238
(pin = vatpic_get_highest_irrpin(atpic)) != -1) {
usr/src/uts/intel/io/vmm/io/vatpic.c
264
atpic->intr_raised = true;
usr/src/uts/intel/io/vmm/io/vatpic.c
274
vatpic_icw1(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
276
atpic->ready = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
278
atpic->icw_state = IS_ICW1;
usr/src/uts/intel/io/vmm/io/vatpic.c
279
atpic->reg_irr = 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
280
atpic->reg_imr = 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
281
atpic->lowprio = 7;
usr/src/uts/intel/io/vmm/io/vatpic.c
282
atpic->read_isr_next = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
283
atpic->poll = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
284
atpic->special_mask_mode = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
296
atpic->icw_state = IS_ICW2;
usr/src/uts/intel/io/vmm/io/vatpic.c
302
vatpic_icw2(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
304
atpic->irq_base = val & IRQ_BASE_MASK;
usr/src/uts/intel/io/vmm/io/vatpic.c
305
atpic->icw_state = IS_ICW3;
usr/src/uts/intel/io/vmm/io/vatpic.c
311
vatpic_icw3(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
313
atpic->icw_state = IS_ICW4;
usr/src/uts/intel/io/vmm/io/vatpic.c
319
vatpic_icw4(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
326
atpic->auto_eoi = (val & ICW4_AEOI) != 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
327
if (master_atpic(vatpic, atpic)) {
usr/src/uts/intel/io/vmm/io/vatpic.c
328
atpic->special_full_nested = (val & ICW4_SFNM) != 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
331
atpic->icw_state = IS_ICW1;
usr/src/uts/intel/io/vmm/io/vatpic.c
332
atpic->ready = true;
usr/src/uts/intel/io/vmm/io/vatpic.c
338
vatpic_ocw1(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
340
atpic->reg_imr = val;
usr/src/uts/intel/io/vmm/io/vatpic.c
346
vatpic_ocw2(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
348
atpic->rotate = (val & OCW2_R) != 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
358
isr_bit = vatpic_get_highest_isrpin(atpic);
usr/src/uts/intel/io/vmm/io/vatpic.c
362
atpic->reg_isr &= ~(1 << isr_bit);
usr/src/uts/intel/io/vmm/io/vatpic.c
364
if (atpic->rotate)
usr/src/uts/intel/io/vmm/io/vatpic.c
365
atpic->lowprio = isr_bit;
usr/src/uts/intel/io/vmm/io/vatpic.c
367
} else if ((val & OCW2_SL) != 0 && atpic->rotate) {
usr/src/uts/intel/io/vmm/io/vatpic.c
369
atpic->lowprio = val & 0x7;
usr/src/uts/intel/io/vmm/io/vatpic.c
376
vatpic_ocw3(struct vatpic *vatpic, struct atpic *atpic, uint8_t val)
usr/src/uts/intel/io/vmm/io/vatpic.c
379
atpic->special_mask_mode = (val & OCW3_SMM) != 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
382
atpic->read_isr_next = (val & OCW3_RIS) != 0;
usr/src/uts/intel/io/vmm/io/vatpic.c
385
atpic->poll = true;
usr/src/uts/intel/io/vmm/io/vatpic.c
394
struct atpic *atpic;
usr/src/uts/intel/io/vmm/io/vatpic.c
402
atpic = &vatpic->atpic[pin >> 3];
usr/src/uts/intel/io/vmm/io/vatpic.c
404
oldcnt = newcnt = atpic->acnt[lpin];
usr/src/uts/intel/io/vmm/io/vatpic.c
424
atpic->acnt[lpin] = newcnt;
usr/src/uts/intel/io/vmm/io/vatpic.c
426
const bool level = ((atpic->elc & (1 << (lpin))) != 0);
usr/src/uts/intel/io/vmm/io/vatpic.c
431
atpic->reg_irr |= (1 << lpin);
usr/src/uts/intel/io/vmm/io/vatpic.c
437
atpic->reg_irr &= ~(1 << lpin);
usr/src/uts/intel/io/vmm/io/vatpic.c
449
struct atpic *atpic;
usr/src/uts/intel/io/vmm/io/vatpic.c
456
atpic = &vatpic->atpic[irq >> 3];
usr/src/uts/intel/io/vmm/io/vatpic.c
458
if (!atpic->ready)
usr/src/uts/intel/io/vmm/io/vatpic.c
523
struct atpic *atpic = &vatpic->atpic[irq >> 3];
usr/src/uts/intel/io/vmm/io/vatpic.c
528
atpic->elc |= (1 << pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
530
atpic->elc &= ~(1 << pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
541
struct atpic *atpic;
usr/src/uts/intel/io/vmm/io/vatpic.c
546
atpic = &vatpic->atpic[0];
usr/src/uts/intel/io/vmm/io/vatpic.c
550
pin = vatpic_get_highest_irrpin(atpic);
usr/src/uts/intel/io/vmm/io/vatpic.c
552
atpic = &vatpic->atpic[1];
usr/src/uts/intel/io/vmm/io/vatpic.c
553
pin = vatpic_get_highest_irrpin(atpic);
usr/src/uts/intel/io/vmm/io/vatpic.c
564
*vecptr = atpic->irq_base + pin;
usr/src/uts/intel/io/vmm/io/vatpic.c
570
vatpic_pin_accepted(struct atpic *atpic, int pin)
usr/src/uts/intel/io/vmm/io/vatpic.c
574
atpic->intr_raised = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
576
if (atpic->acnt[pin] == 0)
usr/src/uts/intel/io/vmm/io/vatpic.c
577
atpic->reg_irr &= ~(1 << pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
579
if (atpic->auto_eoi) {
usr/src/uts/intel/io/vmm/io/vatpic.c
580
if (atpic->rotate)
usr/src/uts/intel/io/vmm/io/vatpic.c
581
atpic->lowprio = pin;
usr/src/uts/intel/io/vmm/io/vatpic.c
583
atpic->reg_isr |= (1 << pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
599
if ((vector & IRQ_BASE_MASK) == vatpic->atpic[1].irq_base) {
usr/src/uts/intel/io/vmm/io/vatpic.c
600
vatpic_pin_accepted(&vatpic->atpic[1], pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
605
vatpic_pin_accepted(&vatpic->atpic[0], 2);
usr/src/uts/intel/io/vmm/io/vatpic.c
607
vatpic_pin_accepted(&vatpic->atpic[0], pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
616
vatpic_read(struct vatpic *vatpic, struct atpic *atpic, bool in, int port,
usr/src/uts/intel/io/vmm/io/vatpic.c
623
if (atpic->poll) {
usr/src/uts/intel/io/vmm/io/vatpic.c
624
atpic->poll = false;
usr/src/uts/intel/io/vmm/io/vatpic.c
625
pin = vatpic_get_highest_irrpin(atpic);
usr/src/uts/intel/io/vmm/io/vatpic.c
627
vatpic_pin_accepted(atpic, pin);
usr/src/uts/intel/io/vmm/io/vatpic.c
635
*eax = atpic->reg_imr;
usr/src/uts/intel/io/vmm/io/vatpic.c
637
if (atpic->read_isr_next) {
usr/src/uts/intel/io/vmm/io/vatpic.c
639
*eax = atpic->reg_isr;
usr/src/uts/intel/io/vmm/io/vatpic.c
642
*eax = atpic->reg_irr;
usr/src/uts/intel/io/vmm/io/vatpic.c
654
vatpic_write(struct vatpic *vatpic, struct atpic *atpic, bool in, int port,
usr/src/uts/intel/io/vmm/io/vatpic.c
666
switch (atpic->icw_state) {
usr/src/uts/intel/io/vmm/io/vatpic.c
668
error = vatpic_icw2(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
671
error = vatpic_icw3(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
674
error = vatpic_icw4(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
677
error = vatpic_ocw1(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
682
error = vatpic_icw1(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
684
if (atpic->ready) {
usr/src/uts/intel/io/vmm/io/vatpic.c
686
error = vatpic_ocw3(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
688
error = vatpic_ocw2(vatpic, atpic, val);
usr/src/uts/intel/io/vmm/io/vatpic.c
692
if (atpic->ready)
usr/src/uts/intel/io/vmm/io/vatpic.c
705
struct atpic *atpic = &vatpic->atpic[0];
usr/src/uts/intel/io/vmm/io/vatpic.c
711
return (vatpic_read(vatpic, atpic, in, port, bytes, eax));
usr/src/uts/intel/io/vmm/io/vatpic.c
714
return (vatpic_write(vatpic, atpic, in, port, bytes, eax));
usr/src/uts/intel/io/vmm/io/vatpic.c
722
struct atpic *atpic = &vatpic->atpic[1];
usr/src/uts/intel/io/vmm/io/vatpic.c
728
return (vatpic_read(vatpic, atpic, in, port, bytes, eax));
usr/src/uts/intel/io/vmm/io/vatpic.c
731
return (vatpic_write(vatpic, atpic, in, port, bytes, eax));
usr/src/uts/intel/io/vmm/io/vatpic.c
753
struct atpic *atpic = NULL;
usr/src/uts/intel/io/vmm/io/vatpic.c
758
atpic = &vatpic->atpic[0];
usr/src/uts/intel/io/vmm/io/vatpic.c
762
atpic = &vatpic->atpic[1];
usr/src/uts/intel/io/vmm/io/vatpic.c
774
*eax = atpic->elc;
usr/src/uts/intel/io/vmm/io/vatpic.c
776
atpic->elc = *eax & elc_mask;
usr/src/uts/intel/io/vmm/io/vatpic.c
815
const struct atpic *src = &vatpic->atpic[i];
usr/src/uts/intel/io/vmm/io/vatpic.c
880
struct atpic *out = &vatpic->atpic[i];