diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2004-04-16 19:46:30 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2004-04-16 19:46:30 +0000 |
| commit | f203f177f43ae492de3e9ecceabfc336b86bffc4 (patch) | |
| tree | 082d45a3146644d0de47ab9f2183380edcbd7a8b | |
| parent | 79cdd799f623b272453b3c0128e6ec1571110696 (diff) | |
Notes
| -rw-r--r-- | sys/i386/acpica/madt.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/i386/acpica/madt.c b/sys/i386/acpica/madt.c index 8116d2a63582..bde59508ceb2 100644 --- a/sys/i386/acpica/madt.c +++ b/sys/i386/acpica/madt.c @@ -69,6 +69,8 @@ struct lapic_info { u_int la_apic_id:8; } lapics[NLAPICS + 1]; +static int force_sci_lo; +TUNABLE_INT("hw.acpi.force_sci_lo", &force_sci_lo); static MULTIPLE_APIC_TABLE *madt; static vm_paddr_t madt_physaddr; static vm_offset_t madt_length; @@ -545,14 +547,13 @@ madt_parse_interrupt_override(MADT_INTERRUPT_OVERRIDE *intr) } /* - * If the SCI is remapped to a non-ISA global interrupt, - * force it to level trigger and active-lo polarity. * If the SCI is identity mapped but has edge trigger and - * active-hi polarity, also force it to use level/lo. + * active-hi polarity or the force_sci_lo tunable is set, + * force it to use level/lo. */ force_lo = 0; if (intr->Source == AcpiGbl_FADT->SciInt) - if (intr->Interrupt > 15 || (intr->Interrupt == intr->Source && + if (force_sci_lo || (intr->Interrupt == intr->Source && intr->TriggerMode == TRIGGER_EDGE && intr->Polarity == POLARITY_ACTIVE_HIGH)) force_lo = 1; |
