|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Add a trivial namespace to the fake ACPI DSDT.
# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID 750b19fec82079b869fa4b4fa10771836dca933c
# Parent 90b9e8569dfb34154a7259d9199992270b5808a7
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 -r 750b19fec820 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 22:10:27 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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Add a trivial namespace to the fake ACPI DSDT.,
Xen patchbot -unstable <=
|
Previous by Date: |
[Xen-changelog] Create the base set of ACPI structures necessary to satisfy the ACPI subsystem on a guest OS. This includes RSDP, XSDT, FADT, MADT, and DSDT., Xen patchbot -unstable |
Next by Date: |
[Xen-changelog] After Alex's ACPI patch, this patch in motherboard.c for NULL FADT no longer required, Xen patchbot -unstable |
Previous by Thread: |
[Xen-changelog] Create the base set of ACPI structures necessary to satisfy the ACPI subsystem on a guest OS. This includes RSDP, XSDT, FADT, MADT, and DSDT., Xen patchbot -unstable |
Next by Thread: |
[Xen-changelog] After Alex's ACPI patch, this patch in motherboard.c for NULL FADT no longer required, Xen patchbot -unstable |
Indexes: |
[Date]
[Thread]
[Top]
[All Lists] |
|
|
|
|