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-ia64-devel

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

To: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Subject: [Xen-ia64-devel] [PATCH] fake ACPI namespace
From: Alex Williamson <alex.williamson@xxxxxx>
Date: Tue, 22 Nov 2005 12:56:21 -0700
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 22 Nov 2005 19:54:36 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: LOSL
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
   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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-ia64-devel] [PATCH] fake ACPI namespace, Alex Williamson <=