FreeBSD/sys/x86/xen/pvcpu_enum.c
/*
 * Parse an interrupt source override for an ISA interrupt.
 */
Parse an interrupt source override for an ISA interrupt.
Parse an interrupt source override for an ISA interrupt .
static void
madt_parse_interrupt_override(ACPI_MADT_INTERRUPT_OVERRIDE *intr)
{
	enum intr_trigger trig;
	enum intr_polarity pol;
	int ret;
	if (acpi_quirks & ACPI_Q_MADT_IRQ0 && intr->SourceIrq == 0 &&
	    intr->GlobalIrq == 2) {
		if (bootverbose)
			printf("MADT: Skipping timer override\n");
		return;
	}
	madt_parse_interrupt_values(intr, &trig, &pol);
	if (intr->SourceIrq != intr->GlobalIrq && intr->GlobalIrq > 15 &&
	    intr->SourceIrq == AcpiGbl_FADT.SciInterrupt)
		acpi_OverrideInterruptLevel(intr->GlobalIrq);
	ret = xen_register_pirq(intr->GlobalIrq, trig, pol);
	if (ret != 0)
		panic("Unable to register interrupt override");
}
static void madt_parse_interrupt_override ( ACPI_MADT_INTERRUPT_OVERRIDE * intr ) { enum intr_trigger trig ; enum intr_polarity pol ; int ret ; if ( acpi_quirks & ACPI_Q_MADT_IRQ0 && intr -> SourceIrq == 0 && intr -> GlobalIrq == 2 ) { if ( bootverbose ) printf ( " \n " ) ; return ; } madt_parse_interrupt_values ( intr , & trig , & pol ) ; if ( intr -> SourceIrq != intr -> GlobalIrq && intr -> GlobalIrq > 15 && intr -> SourceIrq == AcpiGbl_FADT . SciInterrupt ) acpi_OverrideInterruptLevel ( intr -> GlobalIrq ) ; ret = xen_register_pirq ( intr -> GlobalIrq , trig , pol ) ; if ( ret != 0 ) panic ( " " ) ; }
Parse an interrupt source override for an ISA interrupt.
Parse an interrupt source override for an ISA interrupt .
/* Remap the IRQ if it is mapped to a different interrupt vector. */ /*
		 * If the SCI is remapped to a non-ISA global interrupt,
		 * then override the vector we use to setup.
		 */ /* Register the IRQ with the polarity and trigger mode found. */