From ca4177e4c77519d91aea33566497ac9b0649a2f7 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Thu, 24 Mar 2011 19:05:41 +0800 Subject: [PATCH] madt: Configure interrupt trigger mode does not work quite well yet. One of my system has interrupt storm on ACPI SCI (irq 9) after change ACPI SCI mode to level/low (was edge/high). --- sys/platform/pc32/i386/mp_madt.c | 2 ++ sys/platform/pc64/x86_64/mp_madt.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/platform/pc32/i386/mp_madt.c b/sys/platform/pc32/i386/mp_madt.c index 51ddcb1b8f..9183181cc7 100644 --- a/sys/platform/pc32/i386/mp_madt.c +++ b/sys/platform/pc32/i386/mp_madt.c @@ -846,9 +846,11 @@ madt_ioapic_enum_callback(void *xarg, const struct acpi_madt_ent *ent) MADT_INT_TRIG_SHIFT; if (ent_trig == MADT_INT_TRIG_RSVD) { return 0; +#ifdef notyet } else if (ent_trig == MADT_INT_TRIG_LEVEL) { trig = INTR_TRIGGER_LEVEL; pola = INTR_POLARITY_LOW; +#endif } else { trig = INTR_TRIGGER_EDGE; pola = INTR_POLARITY_HIGH; diff --git a/sys/platform/pc64/x86_64/mp_madt.c b/sys/platform/pc64/x86_64/mp_madt.c index aafcbd8a99..f386ee9354 100644 --- a/sys/platform/pc64/x86_64/mp_madt.c +++ b/sys/platform/pc64/x86_64/mp_madt.c @@ -845,9 +845,11 @@ madt_ioapic_enum_callback(void *xarg, const struct acpi_madt_ent *ent) MADT_INT_TRIG_SHIFT; if (ent_trig == MADT_INT_TRIG_RSVD) { return 0; +#ifdef notyet } else if (ent_trig == MADT_INT_TRIG_LEVEL) { trig = INTR_TRIGGER_LEVEL; pola = INTR_POLARITY_LOW; +#endif } else { trig = INTR_TRIGGER_EDGE; pola = INTR_POLARITY_HIGH; -- 2.41.0