From patchwork Sun Jul 17 23:18:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeffrey Hugo X-Patchwork-Id: 649289 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3rt2LF516Jz9s9W; Mon, 18 Jul 2016 09:18:45 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1bOvKe-0005Ff-Fu; Sun, 17 Jul 2016 23:18:44 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1bOvKV-0005Eh-BO for fwts-devel@lists.ubuntu.com; Sun, 17 Jul 2016 23:18:35 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 1B80E6120D; Sun, 17 Jul 2016 23:18:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Received: from jhugo-perf-lnx.qualcomm.com (unknown [129.46.14.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jhugo@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 8402D60212; Sun, 17 Jul 2016 23:18:33 +0000 (UTC) From: Jeffrey Hugo To: fwts-devel@lists.ubuntu.com Subject: [PATCH 2/2] acpi: madt: Add support for ACPI 6.1 Date: Sun, 17 Jul 2016 17:18:19 -0600 Message-Id: <1468797499-8715-2-git-send-email-jhugo@codeaurora.org> X-Mailer: git-send-email 1.8.5.2 In-Reply-To: <1468797499-8715-1-git-send-email-jhugo@codeaurora.org> References: <1468797499-8715-1-git-send-email-jhugo@codeaurora.org> X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: fwts-devel-bounces@lists.ubuntu.com ACPI 6.1 introduces a new FADT/MADT version combination. Signed-off-by: Jeffrey Hugo --- src/acpi/madt/madt.c | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/src/acpi/madt/madt.c b/src/acpi/madt/madt.c index 0926f64..9218a75 100644 --- a/src/acpi/madt/madt.c +++ b/src/acpi/madt/madt.c @@ -84,27 +84,27 @@ * subtable is doing okay. And that's what our tests below check. * * - * FADT Major Version -> 1 3 4 4 5 5 6 6 - * FADT Minor Version -> x x x x x 1 0 0 - * MADT revision -> 1 1 2 3 3 3 3 4 - * Spec Version -> 1.0 2.0 3.0b 4.0a 5.0b 5.1a 6.0 6.0a + * FADT Major Version -> 1 3 4 4 5 5 6 6 6 + * FADT Minor Version -> x x x x x 1 0 0 1 + * MADT revision -> 1 1 2 3 3 3 3 4 4 + * Spec Version -> 1.0 2.0 3.0b 4.0a 5.0b 5.1a 6.0 6.0a 6.1 * Subtable Name Type Expected Length -> - * Processor Local APIC 0x0 8 8 8 8 8 8 8 8 - * IO APIC 0x1 12 12 12 12 12 12 12 12 - * Int Src Override 0x2 10 10 10 10 10 10 10 10 - * NMI Src 0x3 8 8 8 8 8 8 8 8 - * Local APIC NMI Struct 0x4 6 6 6 6 6 6 6 6 - * Local APIC Addr Ovrrd 0x5 16 12 12 12 12 12 12 - * IO SAPIC 0x6 20 16 16 16 16 16 16 - * Local SAPIC 0x7 8 >16 >16 >16 >16 >16 >16 - * Platform Int Src 0x8 16 16 16 16 16 16 16 - * Proc Local x2APIC 0x9 16 16 16 16 16 - * Local x2APIC NMI 0xa 12 12 12 12 12 - * GICC CPU I/F 0xb 40 76 80 80 - * GICD 0xc 24 24 24 24 - * GICv2m MSI 0xd 24 24 24 - * GICR 0xe 16 16 16 - * GIC ITS 0xf 16 20 + * Processor Local APIC 0x0 8 8 8 8 8 8 8 8 8 + * IO APIC 0x1 12 12 12 12 12 12 12 12 12 + * Int Src Override 0x2 10 10 10 10 10 10 10 10 10 + * NMI Src 0x3 8 8 8 8 8 8 8 8 8 + * Local APIC NMI Struct 0x4 6 6 6 6 6 6 6 6 6 + * Local APIC Addr Ovrrd 0x5 16 12 12 12 12 12 12 12 + * IO SAPIC 0x6 20 16 16 16 16 16 16 16 + * Local SAPIC 0x7 8 >16 >16 >16 >16 >16 >16 >16 + * Platform Int Src 0x8 16 16 16 16 16 16 16 16 + * Proc Local x2APIC 0x9 16 16 16 16 16 16 + * Local x2APIC NMI 0xa 12 12 12 12 12 12 + * GICC CPU I/F 0xb 40 76 80 80 80 + * GICD 0xc 24 24 24 24 24 + * GICv2m MSI 0xd 24 24 24 24 + * GICR 0xe 16 16 16 16 + * GIC ITS 0xf 16 20 20 * * In the table, each length entry is what should be in the length * field of the subtable, and -- in general -- it should match the @@ -115,7 +115,7 @@ */ #define FADT_MAX_MAJOR_REVISION ((uint8_t)6) -#define FADT_MAX_MINOR_REVISION ((uint8_t)0) +#define FADT_MAX_MINOR_REVISION ((uint8_t)1) #define MADT_MAX_REVISION ((uint8_t)4) #define SUBTABLE_UNDEFINED 0x00 @@ -193,6 +193,14 @@ static struct acpi_madt_subtable_lengths spec_info[] = { .lengths = { 8, 12, 10, 8, 6, 12, 16, SUBTABLE_VARIABLE, 16, 16, 12, 80, 24, 24, 16, 20 } }, + { /* for ACPI 6.1 */ + .major_version = 6, + .minor_version = 1, + .madt_version = 4, + .num_types = 16, + .lengths = { 8, 12, 10, 8, 6, 12, 16, SUBTABLE_VARIABLE, + 16, 16, 12, 80, 24, 24, 16, 20 } + }, { /* terminator */ .major_version = 0, .minor_version = 0,