Date: Tue, 4 May 2004 16:46:05 -0400 From: John Baldwin <jhb@FreeBSD.org> To: current@FreeBSD.org Subject: HEADSUP: hw.acpi.force_sci_lo is deprecated Message-ID: <200405041646.05618.jhb@FreeBSD.org> In-Reply-To: <200405042039.i44KdOfk079648@repoman.freebsd.org> References: <200405042039.i44KdOfk079648@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Sorry for the turmoil, but unfortunately, force_sci_lo doesn't give enough granularity for the plethora of broken BIOSs in the wild. The comments below explain how to achieve the same affect as force_sci_lo now. We shouldn't need to change tunable names again as this new scheme allows complete customization of each characteristic. On Tuesday 04 May 2004 04:39 pm, John Baldwin wrote: > jhb 2004/05/04 13:39:24 PDT > > FreeBSD src repository > > Modified files: > sys/i386/acpica madt.c > sys/i386/i386 io_apic.c local_apic.c mptable.c > sys/i386/include apicvar.h > Log: > - Change the APIC code to mostly use the recently added intr_trigger > and intr_polarity enums for passing around interrupt trigger modes and > polarity rather than using the magic numbers 0 for level/low and 1 for > edge/high. > - Convert the mptable parsing code to use the new ELCR wrapper code > rather than reading the ELCR directly. Also, use the ELCR settings to > control both the trigger and polarity of EISA IRQs instead of just the > trigger mode. > - Rework the MADT's handling of the ACPI SCI again: > - If no override entry for the SCI exists at all, use level/low trigger > instead of the default edge/high used for ISA IRQs. > - For the ACPI SCI, use level/low values for conforming trigger and > polarity rather than the edge/high values we use for all other ISA > IRQs. > - Rework the tunables available to override the MADT. The > hw.acpi.force_sci_lo tunable is no longer supported. Instead, there > are now two tunables that can independently override the trigger mode > and/or polarity of the SCI. The hw.acpi.sci.trigger tunable can be > set to either "edge" or "level", and the hw.acpi.sci.polarity tunable > can be set to either "high" or "low". To simulate > hw.acpi.force_sci_lo, set hw.acpi.sci.trigger to "level" and > hw.acpi.sci.polarity to "low". If you are having problems with ACPI either > causing an interrupt storm or not working at all (e.g., the power button > doesn't turn invoke a shutdown -p now), you can try tweaking these two > tunables to find the combination that works. > > Revision Changes Path > 1.12 +86 -36 src/sys/i386/acpica/madt.c > 1.7 +8 -8 src/sys/i386/i386/io_apic.c > 1.8 +12 -10 src/sys/i386/i386/local_apic.c > 1.230 +27 -36 src/sys/i386/i386/mptable.c > 1.6 +7 -4 src/sys/i386/include/apicvar.h -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405041646.05618.jhb>