|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
From 9d7f9c8f4ecbee2e621d471a8c4944cebe62947d Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
From: Al Stone <ahs3@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
Date: Wed, 30 Sep 2020 18:59:57 -0600
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
Subject: [PATCH 1/5] Add partial big-endian support for WPBT tables
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
There's some weirdness here that at present does not warrant
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
further investigation; this is just a really low priority table.
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
Signed-off-by: Al Stone <ahs3@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
---
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
source/common/dmtbdump3.c | 8 ++++----
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
source/compiler/dttable2.c | 3 ++-
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
2 files changed, 6 insertions(+), 5 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
index d2f2bf7b7..da9b81c92 100644
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
--- a/source/common/dmtbdump3.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
+++ b/source/common/dmtbdump3.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
@@ -736,13 +736,13 @@ AcpiDmDumpWpbt (
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
ACPI_STATUS Status;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
ACPI_TABLE_WPBT *Subtable;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
- UINT32 Length = Table->Length;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ UINT32 TableLength = AcpiUtReadUint32(&Table->Length);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
UINT16 ArgumentsLength;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
/* Dump the main table */
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
- Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoWpbt);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoWpbt);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
if (ACPI_FAILURE (Status))
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
return;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
@@ -751,10 +751,10 @@ AcpiDmDumpWpbt (
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
/* Extract the arguments buffer length from the main table */
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
Subtable = ACPI_CAST_PTR (ACPI_TABLE_WPBT, Table);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
- ArgumentsLength = Subtable->ArgumentsLength;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ ArgumentsLength = AcpiUtReadUint16(&Subtable->ArgumentsLength);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
/* Dump the arguments buffer */
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
- (void) AcpiDmDumpTable (Table->Length, 0, Table, ArgumentsLength,
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ (void) AcpiDmDumpTable (TableLength, 0, Table, ArgumentsLength,
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
AcpiDmTableInfoWpbt0);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
}
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
diff --git a/source/compiler/dttable2.c b/source/compiler/dttable2.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
index 584c09ee8..48729b48f 100644
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
--- a/source/compiler/dttable2.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
+++ b/source/compiler/dttable2.c
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
@@ -2298,7 +2298,8 @@ DtCompileWpbt (
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
/* Extract the length of the Arguments buffer, insert into main table */
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
- Length = (UINT16) Subtable->TotalLength;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ AcpiUtWriteUint(&Length, sizeof(UINT16),
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
+ &Subtable->TotalLength, sizeof(UINT32));
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
Table = ACPI_CAST_PTR (ACPI_TABLE_WPBT, ParentTable->Buffer);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
Table->ArgumentsLength = Length;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
edb6c78 |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
--
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
2.26.2
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
6c29d68 |
|