1 From 9a4a32c597fcdfa8a3bc33230c40a18e39c3449d Mon Sep 17 00:00:00 2001
2 From: Al Stone <ahs3@redhat.com>
3 Date: Thu, 1 Jul 2021 17:46:19 -0600
4 Subject: [PATCH 07/45] Handle dumping Unicode properly when big-endian
6 Signed-off-by: Al Stone <ahs3@redhat.com>
8 source/common/dmtbdump.c | 11 ++++++++---
9 1 file changed, 8 insertions(+), 3 deletions(-)
11 Index: acpica-unix2-20220331/source/common/dmtbdump.c
12 ===================================================================
13 --- acpica-unix2-20220331.orig/source/common/dmtbdump.c
14 +++ acpica-unix2-20220331/source/common/dmtbdump.c
15 @@ -200,6 +200,8 @@ AcpiDmDumpUnicode (
23 Buffer = ((UINT8 *) Table) + BufferOffset;
24 @@ -209,7 +211,8 @@ AcpiDmDumpUnicode (
26 for (i = 0; i < Length; i += 2)
28 - if (!isprint (Buffer[i]))
29 + Tmp16 = AcpiUtReadUint16 (&Buffer[i]);
30 + if (!isprint (Tmp16))
34 @@ -217,7 +220,8 @@ AcpiDmDumpUnicode (
36 /* Ensure all high bytes are zero */
38 - for (i = 1; i < Length; i += 2)
39 + start = UtIsBigEndianMachine() ? 0 : 1;
40 + for (i = start; i < Length; i += 2)
44 @@ -230,7 +234,8 @@ AcpiDmDumpUnicode (
46 for (i = 0; i < Length; i += 2)
48 - AcpiOsPrintf ("%c", Buffer[i]);
49 + Tmp16 = AcpiUtReadUint16 (&Buffer[i]);
50 + AcpiOsPrintf ("%c", Tmp16);
53 AcpiOsPrintf ("\"\n");