[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] RE: [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |