WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH] hvmloader: Fix FADT table with QEMU Upstream.

To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] hvmloader: Fix FADT table with QEMU Upstream.
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Tue, 26 Jul 2011 13:25:41 +0100
Cc: Tobias Geiger <tobias.geiger@xxxxxxxxx>, Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 26 Jul 2011 05:26:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1311681431-13978-1-git-send-email-anthony.perard@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <1311681431-13978-1-git-send-email-anthony.perard@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2011-07-26 at 07:57 -0400, Anthony PERARD wrote:
> When booting a Windows guest, the OS report an issue with the ACPI (in a
> BSOD). The exact issue is "SCI_EN never becomes set in PM1 Control
> Register." (quoted from WinDbg help).
> 
> To fix this, this patch set some value related to the QEMU upstream: The
> SMI command port, and the acpi_enable/acpi_disable values.

Would it be harmful to include these new values in the Fadt for every
BIOS rather than adding special cases?

If this really needs to be Sea BIOS specific then I think it would be
better done as a function call (e.g. acpi_enable_whatever()) into the
ACPI code (where the rest of the Fadt init lives) from the seabios hooks
rather than splitting the initialisation between two locations (or maybe
better this should be the default and the ROMBIOS hooks should disable
it if necessary).

Ian.

> Reported-by: Tobias Geiger <tobias.geiger@xxxxxxxxx>
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> ---
>  tools/firmware/hvmloader/seabios.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/firmware/hvmloader/seabios.c 
> b/tools/firmware/hvmloader/seabios.c
> index 8cd0108..1b89ba7 100644
> --- a/tools/firmware/hvmloader/seabios.c
> +++ b/tools/firmware/hvmloader/seabios.c
> @@ -28,6 +28,9 @@
>  #include "smbios_types.h"
>  #include "acpi/acpi2_0.h"
>  
> +/* Upstream QEMU require to set more field in the FADT */
> +extern struct acpi_20_fadt Fadt;
> +
>  #define ROM_INCLUDE_SEABIOS
>  #include "roms.inc"
>  
> @@ -91,6 +94,11 @@ static void add_table(uint32_t t)
>  static void seabios_acpi_build_tables(void)
>  {
>      uint32_t rsdp = (uint32_t)scratch_alloc(sizeof(struct acpi_20_rsdp), 0);
> +
> +    Fadt.smi_cmd = 0xb2;
> +    Fadt.acpi_enable = 0xf1;
> +    Fadt.acpi_disable = 0xf0;
> +
>      acpi_build_tables(rsdp);
>      add_table(rsdp);
>  }



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>