[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] RE: [PATCH] fake ACPI namespace


  • To: "Williamson, Alex (Linux Kernel Dev)" <alex.williamson@xxxxxx>
  • From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
  • Date: Tue, 22 Nov 2005 16:02:07 -0800
  • Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Wed, 23 Nov 2005 00:03:58 +0000
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcXvnpXh7Fb76xNoSuuc2IWOtMej9QAIfrmg
  • Thread-topic: [PATCH] fake ACPI namespace

Committed.  BTW, with your last patch, the specially patched
sparse/drivers/acpi/motherboard.c is no longer needed so I
removed the patch from the build process and the patched
file from the sparse tree.  One less patched file to worry
about... (thanks!)

> -----Original Message-----
> From: Williamson, Alex (Linux Kernel Dev) 
> Sent: Tuesday, November 22, 2005 12:56 PM
> To: Magenheimer, Dan (HP Labs Fort Collins)
> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [PATCH] fake ACPI namespace
> 
> 
>    Here's an extra patch to add a trivial namespace to the fake ACPI
> DSDT.  This simply defines the root scope and adds a processor object.
> This eliminates the last guest ACPI CA warning and you should now
> have /proc/acpi/processor/CPU0 on the guest.  Patch versus current
> xen-ia64-unstable.hg
> 
> Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
> ---
> 
> diff -r 90b9e8569dfb xen/arch/ia64/xen/dom_fw.c
> --- a/xen/arch/ia64/xen/dom_fw.c      Tue Nov 22 18:19:11 2005
> +++ b/xen/arch/ia64/xen/dom_fw.c      Tue Nov 22 12:50:02 2005
> @@ -481,6 +481,7 @@
>       struct fadt_descriptor_rev2 fadt;
>       struct facs_descriptor_rev2 facs;
>       struct acpi_table_header dsdt;
> +     u8 aml[16];
>       struct acpi_table_madt madt;
>       struct acpi_table_lsapic lsapic;
>       u8 pm1a_evt_blk[4];
> @@ -564,17 +565,26 @@
>                                               
> ACPI_RSDP_CHECKSUM_LENGTH);
>       rsdp->ext_checksum = generate_acpi_checksum(rsdp, rsdp->length);
>  
> -     /*
> -      * setup DSDT - ACPI generates a warning because there's no AML
> -      * in the DSDT.  Revisit to add dummy AML stub.
> -      */ 
> +     /* setup DSDT with trivial namespace. */ 
>       strncpy(dsdt->signature, DSDT_SIG, 4);
>       dsdt->revision = 1;
> -     dsdt->length = sizeof(struct acpi_table_header);
> +     dsdt->length = sizeof(struct acpi_table_header) + 
> sizeof(tables->aml);
>       strcpy(dsdt->oem_id, "XEN");
>       strcpy(dsdt->oem_table_id, "Xen/ia64");
>       strcpy(dsdt->asl_compiler_id, "XEN");
>       dsdt->asl_compiler_revision = 
> (XEN_VERSION<<16)|(XEN_SUBVERSION);
> +
> +     /* Trivial namespace, avoids ACPI CA complaints */
> +     tables->aml[0] = 0x10; /* Scope */
> +     tables->aml[1] = 0x12; /* length/offset to next object */
> +     strncpy(&tables->aml[2], "_SB_", 4);
> +
> +     /* The processor object isn't absolutely necessary, 
> revist for SMP */
> +     tables->aml[6] = 0x5b; /* processor object */
> +     tables->aml[7] = 0x83;
> +     tables->aml[8] = 0x0b; /* next */
> +     strncpy(&tables->aml[9], "CPU0", 4);
> +
>       dsdt->checksum = generate_acpi_checksum(dsdt, dsdt->length);
>  
>       /* setup MADT */
> 
> 
> 

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.