Lines Matching refs:entry

46 #define IO_APIC_REDIRECTION_TABLE			0x10 // entry = base + 2 * index
58 // Fields of each redirection table entry
196 uint64 entry = ioapic_read_64(ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2);
197 entry &= ~(IO_APIC_TRIGGER_MODE_MASK | IO_APIC_PIN_POLARITY_MASK
201 entry |= IO_APIC_TRIGGER_MODE_LEVEL;
204 entry |= IO_APIC_TRIGGER_MODE_EDGE;
209 entry |= IO_APIC_PIN_POLARITY_LOW_ACTIVE;
211 entry |= IO_APIC_PIN_POLARITY_HIGH_ACTIVE;
213 entry |= deliveryMode;
214 entry |= (vector + ARCH_INTERRUPT_BASE) << IO_APIC_INTERRUPT_VECTOR_SHIFT;
215 ioapic_write_64(ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2, entry, true);
264 uint64 entry = ioapic_read_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2);
265 entry &= ~(uint64(IO_APIC_DESTINATION_FIELD_MASK)
267 entry |= uint64(apicid) << IO_APIC_DESTINATION_FIELD_SHIFT;
268 ioapic_write_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2, entry, false);
275 // If enabling an overriden source is attempted, enable the override entry
291 uint64 entry = ioapic_read_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2);
292 entry &= ~IO_APIC_INTERRUPT_MASKED;
293 ioapic_write_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2, entry, false);
308 uint64 entry = ioapic_read_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2);
309 entry |= IO_APIC_INTERRUPT_MASKED;
310 ioapic_write_64(*ioapic, IO_APIC_REDIRECTION_TABLE + pin * 2, entry, true);
359 dprintf("io-apic %u entry count %d exceeds max supported, only using the "
386 uint64 entry = ((uint64)targetAPIC << IO_APIC_DESTINATION_FIELD_SHIFT)
392 entry |= IO_APIC_TRIGGER_MODE_EDGE
397 entry |= IO_APIC_TRIGGER_MODE_EDGE
402 entry |= IO_APIC_TRIGGER_MODE_LEVEL
408 ioapic_write_64(ioapic, IO_APIC_REDIRECTION_TABLE + 2 * i, entry, true);
790 irq_routing_entry& entry = table.ElementAt(i);
791 ioapic_configure_io_interrupt(entry.irq,
792 entry.polarity | entry.trigger_mode);