]> git.pld-linux.org Git - packages/acpica.git/blobdiff - 0039-Support-TPM2-in-a-big-endian-world.patch
- updated to 20220331 + current Fedora patch set; acpinames is gone
[packages/acpica.git] / 0039-Support-TPM2-in-a-big-endian-world.patch
diff --git a/0039-Support-TPM2-in-a-big-endian-world.patch b/0039-Support-TPM2-in-a-big-endian-world.patch
new file mode 100644 (file)
index 0000000..1e26343
--- /dev/null
@@ -0,0 +1,119 @@
+From c240ab3af6a4ad4405def7188e3d64da06a69f37 Mon Sep 17 00:00:00 2001
+From: Al Stone <ahs3@redhat.com>
+Date: Wed, 30 Sep 2020 18:42:38 -0600
+Subject: [PATCH 39/45] Support TPM2 in a big-endian world
+
+Signed-off-by: Al Stone <ahs3@redhat.com>
+---
+ source/common/dmtbdump3.c  | 18 ++++++++++--------
+ source/compiler/dttable2.c |  8 +++++---
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+Index: acpica-unix2-20220331/source/common/dmtbdump3.c
+===================================================================
+--- acpica-unix2-20220331.orig/source/common/dmtbdump3.c
++++ acpica-unix2-20220331/source/common/dmtbdump3.c
+@@ -475,11 +475,12 @@ AcpiDmDumpTpm2Rev3 (
+     ACPI_TABLE_TPM23        *CommonHeader = ACPI_CAST_PTR (ACPI_TABLE_TPM23, Table);
+     ACPI_TPM23_TRAILER      *Subtable = ACPI_ADD_PTR (ACPI_TPM23_TRAILER, Table, Offset);
+     ACPI_STATUS             Status;
++    UINT32                  TableLength = AcpiUtReadUint32 (&Table->Length);
+     /* Main table */
+-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoTpm23);
++    Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoTpm23);
+     if (ACPI_FAILURE (Status))
+     {
+         return;
+@@ -491,8 +492,8 @@ AcpiDmDumpTpm2Rev3 (
+     {
+     case ACPI_TPM23_ACPI_START_METHOD:
+-        (void) AcpiDmDumpTable (Table->Length, Offset, Subtable,
+-            Table->Length - Offset, AcpiDmTableInfoTpm23a);
++        (void) AcpiDmDumpTable (TableLength, Offset, Subtable,
++            TableLength - Offset, AcpiDmTableInfoTpm23a);
+         break;
+     default:
+@@ -522,6 +523,7 @@ AcpiDmDumpTpm2 (
+     ACPI_TPM2_TRAILER       *Subtable = ACPI_ADD_PTR (ACPI_TPM2_TRAILER, Table, Offset);
+     ACPI_TPM2_ARM_SMC       *ArmSubtable;
+     ACPI_STATUS             Status;
++    UINT32                  TableLength = AcpiUtReadUint32 (&Table->Length);
+     if (Table->Revision == 3)
+@@ -532,7 +534,7 @@ AcpiDmDumpTpm2 (
+     /* Main table */
+-    Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoTpm2);
++    Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoTpm2);
+     if (ACPI_FAILURE (Status))
+     {
+@@ -540,8 +542,8 @@ AcpiDmDumpTpm2 (
+     }
+     AcpiOsPrintf ("\n");
+-    Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
+-        Table->Length - Offset, AcpiDmTableInfoTpm2a);
++    Status = AcpiDmDumpTable (TableLength, Offset, Subtable,
++        TableLength - Offset, AcpiDmTableInfoTpm2a);
+     if (ACPI_FAILURE (Status))
+     {
+         return;
+@@ -556,8 +558,8 @@ AcpiDmDumpTpm2 (
+         Offset += sizeof (ACPI_TPM2_TRAILER);
+         AcpiOsPrintf ("\n");
+-        (void) AcpiDmDumpTable (Table->Length, Offset, ArmSubtable,
+-            Table->Length - Offset, AcpiDmTableInfoTpm211);
++        (void) AcpiDmDumpTable (TableLength, Offset, ArmSubtable,
++            TableLength - Offset, AcpiDmTableInfoTpm211);
+         break;
+     default:
+Index: acpica-unix2-20220331/source/compiler/dttable2.c
+===================================================================
+--- acpica-unix2-20220331.orig/source/compiler/dttable2.c
++++ acpica-unix2-20220331/source/compiler/dttable2.c
+@@ -2668,6 +2668,7 @@ DtCompileTpm2 (
+     DT_SUBTABLE             *ParentTable;
+     ACPI_STATUS             Status = AE_OK;
+     ACPI_TABLE_HEADER       *Header;
++    UINT8                   StartMethod;
+     ParentTable = DtPeekSubtable ();
+@@ -2711,7 +2712,8 @@ DtCompileTpm2 (
+     /* Subtable type depends on the StartMethod */
+-    switch (Tpm2Header->StartMethod)
++    StartMethod = *(UINT8 *) &Tpm2Header->StartMethod;
++    switch (StartMethod)
+     {
+     case ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC:
+@@ -2742,7 +2744,7 @@ DtCompileTpm2 (
+     case ACPI_TPM2_RESERVED10:
+         AcpiOsPrintf ("\n**** Reserved TPM2 Start Method type 0x%X\n",
+-            Tpm2Header->StartMethod);
++            StartMethod);
+         Status = AE_ERROR;
+         break;
+@@ -2750,7 +2752,7 @@ DtCompileTpm2 (
+     default:
+         AcpiOsPrintf ("\n**** Unknown TPM2 Start Method type 0x%X\n",
+-            Tpm2Header->StartMethod);
++            StartMethod);
+         Status = AE_ERROR;
+         break;
+     }
This page took 0.147837 seconds and 4 git commands to generate.