Skip site navigation (1)Skip section navigation (2)
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>