public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Zhao Yakui <yakui.zhao@intel.com>
Cc: "Linux-acpi@vger.kernel.org" <Linux-acpi@vger.kernel.org>, trenn@suse.de
Subject: Re: [PATCH] : ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt"
Date: Fri, 09 Jan 2009 01:35:33 -0500 (EST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0901090135300.4091@localhost.localdomain> (raw)
In-Reply-To: <1229504118.3991.63.camel@yakui_zhao.sh.intel.com>

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.
> 
> 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
> 

  reply	other threads:[~2009-01-09  6:36 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 [this message]
2009-01-09 10:54     ` Thomas Renninger
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=alpine.LFD.2.00.0901090135300.4091@localhost.localdomain \
    --to=lenb@kernel.org \
    --cc=Linux-acpi@vger.kernel.org \
    --cc=trenn@suse.de \
    --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