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-changelog

[Xen-changelog] [xen-unstable] [IA64] Cleanup ACPI checksum warnings

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Cleanup ACPI checksum warnings
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 11 Aug 2008 05:50:49 -0700
Delivery-date: Mon, 11 Aug 2008 05:52:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1218163100 -32400
# Node ID 1dd1b92721fc678c548186ec1c272396b0fb94a7
# Parent  853476b12f5623beaddae5670aa97994f6f37d81
[IA64] Cleanup ACPI checksum warnings

On bootup, I get a couple of these:

(XEN) ACPI Warning (tbutils-0219): Incorrect checksum in table [APIC] - CE, 
should be 04 [20070126]
(XEN) ACPI Warning (tbutils-0219): Incorrect checksum in table [APIC] - CE, 
should be 04 [20070126]

I don't remember seeing them before, but they're pretty easy to fix.
The problem is we update the lsapics, causing the checksum to be wrong,
then we look for platform interrupt sources, which spits out a warning,
and finally we look for the MADT again to fix the checksum, which also
prints a warning.  If we grab a pointer to the MADT before these, we can
update the checksum after each step and avoid the warnings.

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 xen/arch/ia64/xen/dom_fw_dom0.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletion(-)

diff -r 853476b12f56 -r 1dd1b92721fc xen/arch/ia64/xen/dom_fw_dom0.c
--- a/xen/arch/ia64/xen/dom_fw_dom0.c   Fri Aug 08 11:38:17 2008 +0900
+++ b/xen/arch/ia64/xen/dom_fw_dom0.c   Fri Aug 08 11:38:20 2008 +0900
@@ -101,6 +101,9 @@ acpi_update_madt_checksum(struct acpi_ta
 {
        struct acpi_table_madt *acpi_madt;
 
+       if (!table)
+               return -EINVAL;
+
        acpi_madt = (struct acpi_table_madt *)table;
        acpi_madt->header.checksum = 0;
        acpi_madt->header.checksum = -acpi_tb_checksum((u8*)acpi_madt,
@@ -170,7 +173,11 @@ static void __init acpi_table_disable(ch
 /* base is physical address of acpi table */
 static void __init touch_acpi_table(void)
 {
+       struct acpi_table_header *madt = NULL;
+
        lsapic_nbr = 0;
+
+       acpi_get_table(ACPI_SIG_MADT, 0, &madt);
 
        /*
         * Modify dom0 MADT:
@@ -179,16 +186,22 @@ static void __init touch_acpi_table(void
         *  - Hide CPEI interrupt source
         *
         * ACPI tables must be backed-up before modification!
+        *
+        * We update the checksum each time we modify to keep the
+        * ACPI CA from warning about invalid checksums.
         */
        acpi_table_parse(ACPI_SIG_MADT, acpi_backup_table);
 
        if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_update_lsapic, 0) < 0)
                printk("Error parsing MADT - no LAPIC entries\n");
+
+       acpi_update_madt_checksum(madt);
+
        if (acpi_table_parse_madt(ACPI_MADT_PLAT_INT_SRC,
                                  acpi_patch_plat_int_src, 0) < 0)
                printk("Error parsing MADT - no PLAT_INT_SRC entries\n");
 
-       acpi_table_parse(ACPI_SIG_MADT, acpi_update_madt_checksum);
+       acpi_update_madt_checksum(madt);
 
        /*
         * SRAT & SLIT tables aren't useful for Dom0 until

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Cleanup ACPI checksum warnings, Xen patchbot-unstable <=