From: Thomas Renninger <trenn@suse.de>
To: Len Brown <lenb@kernel.org>
Cc: Zhao Yakui <yakui.zhao@intel.com>,
"Linux-acpi@vger.kernel.org" <Linux-acpi@vger.kernel.org>,
me@markdoughty.co.uk, ibm-acpi-devel@lists.sourceforge.net
Subject: Re: [PATCH] : ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt"
Date: Fri, 9 Jan 2009 11:54:42 +0100 [thread overview]
Message-ID: <200901091154.43606.trenn@suse.de> (raw)
In-Reply-To: <alpine.LFD.2.00.0901090135300.4091@localhost.localdomain>
On Friday 09 January 2009 07:35:33 Len Brown wrote:
> applied
>
> --
> Len Brown, Intel Open Source Technology Center
>
> On Wed, 17 Dec 2008, Zhao Yakui wrote:
> > From: Zhao Yakui <yakui.zhao@intel.com>
> >
> > On some boxes there exist both RSDT and XSDT table. But unfortunately
> > sometimes there exists the following error when XSDT table is used:
> > a. 32/64X address mismatch
> > b. The 32/64X FACS address mismatch
> >
> > In such case the boot option of "acpi=rsdt" is provided so that
> > RSDT is tried instead of XSDT table when the system can't work well.
Great, now we still need a dmi blacklist with machines which are known
broken. Then we are at the patchset I posted about a year ago -> scnr.
I am going to post the missing two patches to make R40e and R50e work.
Thanks,
Thomas
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=8246
> >
> > Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
> > cc:Thomas Renninger <trenn@suse.de>
> > ---
> > Documentation/kernel-parameters.txt | 2 ++
> > arch/ia64/kernel/acpi.c | 1 +
> > arch/x86/kernel/acpi/boot.c | 6 +++++-
> > drivers/acpi/tables/tbutils.c | 3 ++-
> > include/acpi/acpixf.h | 1 +
> > 5 files changed, 11 insertions(+), 2 deletions(-)
> >
> > Index: linux-2.6/arch/x86/kernel/acpi/boot.c
> > ===================================================================
> > --- linux-2.6.orig/arch/x86/kernel/acpi/boot.c
> > +++ linux-2.6/arch/x86/kernel/acpi/boot.c
> > @@ -47,7 +47,7 @@
> > #endif
> >
> > static int __initdata acpi_force = 0;
> > -
> > +u32 acpi_rsdt_forced;
> > #ifdef CONFIG_ACPI
> > int acpi_disabled = 0;
> > #else
> > @@ -1783,6 +1783,10 @@ static int __init parse_acpi(char *arg)
> > disable_acpi();
> > acpi_ht = 1;
> > }
> > + /* acpi=rsdt use RSDT instead of XSDT */
> > + else if (strcmp(arg, "rsdt") == 0) {
> > + acpi_rsdt_forced = 1;
> > + }
> > /* "acpi=noirq" disables ACPI interrupt routing */
> > else if (strcmp(arg, "noirq") == 0) {
> > acpi_noirq_set();
> > Index: linux-2.6/include/acpi/acpixf.h
> > ===================================================================
> > --- linux-2.6.orig/include/acpi/acpixf.h
> > +++ linux-2.6/include/acpi/acpixf.h
> > @@ -48,6 +48,7 @@
> > #include "actypes.h"
> > #include "actbl.h"
> >
> > +extern u32 acpi_rsdt_forced;
> > /*
> > * Global interfaces
> > */
> > Index: linux-2.6/drivers/acpi/tables/tbutils.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/acpi/tables/tbutils.c
> > +++ linux-2.6/drivers/acpi/tables/tbutils.c
> > @@ -420,7 +420,8 @@ acpi_tb_parse_root_table(acpi_physical_a
> >
> > /* Differentiate between RSDT and XSDT root tables */
> >
> > - if (rsdp->revision > 1 && rsdp->xsdt_physical_address) {
> > + if (rsdp->revision > 1 && rsdp->xsdt_physical_address
> > + && !acpi_rsdt_forced) {
> > /*
> > * Root table is an XSDT (64-bit physical addresses). We must use the
> > * XSDT if the revision is > 1 and the XSDT pointer is present, as per
> > Index: linux-2.6/arch/ia64/kernel/acpi.c
> > ===================================================================
> > --- linux-2.6.orig/arch/ia64/kernel/acpi.c
> > +++ linux-2.6/arch/ia64/kernel/acpi.c
> > @@ -65,6 +65,7 @@ EXPORT_SYMBOL(pm_idle);
> > void (*pm_power_off) (void);
> > EXPORT_SYMBOL(pm_power_off);
> >
> > +u32 acpi_rsdt_forced;
> > unsigned int acpi_cpei_override;
> > unsigned int acpi_cpei_phys_cpuid;
> >
> > Index: linux-2.6/Documentation/kernel-parameters.txt
> > ===================================================================
> > --- linux-2.6.orig/Documentation/kernel-parameters.txt
> > +++ linux-2.6/Documentation/kernel-parameters.txt
> > @@ -139,6 +139,8 @@ and is between 256 and 4096 characters.
> > ht -- run only enough ACPI to enable Hyper Threading
> > strict -- Be less tolerant of platforms that are not
> > strictly ACPI specification compliant.
> > + rsdt -- RSDT is used instead of XSDT table when both
> > + exits.
> >
> > See also Documentation/power/pm.txt, pci=noacpi
> >
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-01-09 10:54 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-31 18:42 [PATCH] ACPI: EC: clean up tmp variable before reuse Alexey Starikovskiy
2008-11-03 8:02 ` Zhao Yakui
2008-11-03 8:24 ` [PATCH]: ACPI: Initialize EC global lock based on the return value of _GLK Zhao Yakui
2008-11-04 7:41 ` [PATCH]: ACPI Cleanup :Initialize EC global lock based on the return status Zhao Yakui
2008-11-04 8:05 ` Alexey Starikovskiy
2008-11-04 8:58 ` Rafael J. Wysocki
2008-11-04 9:21 ` Alexey Starikovskiy
2008-11-04 9:37 ` Zhao Yakui
2008-11-04 9:38 ` Alexey Starikovskiy
2008-11-05 1:05 ` Zhao Yakui
2008-11-05 7:24 ` Alexey Starikovskiy
2008-12-17 8:55 ` [PATCH] : ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt" Zhao Yakui
2009-01-09 6:35 ` Len Brown
2009-01-09 10:54 ` Thomas Renninger [this message]
2009-01-09 10:59 ` Len Brown
2009-01-09 12:16 ` Thomas Renninger
2009-01-09 12:34 ` Matthew Garrett
2009-01-12 14:13 ` Thomas Renninger
2009-01-12 14:16 ` Matthew Garrett
2009-01-12 22:17 ` Thomas Renninger
2009-01-12 23:38 ` Matthew Garrett
2009-01-09 10:58 ` Blacklist known broken machines to use the rsdt and enabled Cstates on R40e Thomas Renninger
2009-01-09 10:58 ` [PATCH 1/2] Blacklist known broken machines (ThinkPad R40e and R50e) to use rsdt instead xsdt Thomas Renninger
2009-01-09 10:58 ` [PATCH 2/2] R40e using rsdt (previous patch) makes all Cstates work -> remove blacklisting Thomas Renninger
2008-12-30 4:01 ` [PATCH] : ACPI : Add the MWAIT C-state mask to avoid overflow Zhao Yakui
2009-01-04 4:04 ` Zhao Yakui
2009-01-09 6:28 ` Len Brown
2009-01-12 7:07 ` [PATCH] : ACPI : Use clocksource to get the C-state time instead of ACPI PM timer Zhao Yakui
2009-01-12 7:58 ` Rafael J. Wysocki
2009-01-12 9:31 ` Zhao Yakui
2009-01-12 12:27 ` Rafael J. Wysocki
2009-01-12 9:39 ` Zhao Yakui
2009-01-12 22:09 ` Pallipadi, Venkatesh
2009-01-13 1:26 ` Zhao Yakui
2009-01-13 1:42 ` Zhao Yakui
2009-01-13 3:50 ` [RESEND] " Zhao Yakui
2009-01-20 2:52 ` Len Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200901091154.43606.trenn@suse.de \
--to=trenn@suse.de \
--cc=Linux-acpi@vger.kernel.org \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=lenb@kernel.org \
--cc=me@markdoughty.co.uk \
--cc=yakui.zhao@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox