Compare commits

..

No commits in common. "rawhide" and "f31" have entirely different histories.

32 changed files with 7840 additions and 778 deletions

51
.gitignore vendored
View file

@ -115,54 +115,3 @@ series
/acpitests-unix-20190405.tar.gz
/acpica-unix2-20190509.tar.gz
/acpitests-unix-20190509.tar.gz
/acpica-unix2-20190703.tar.gz
/acpitests-unix-20190703.tar.gz
/acpica-unix2-20190816.tar.gz
/acpitests-unix-20190816.tar.gz
/acpica-unix2-20191018.tar.gz
/acpitests-unix-20191018.tar.gz
/acpica-unix2-20191213.tar.gz
/acpitests-unix-20191213.tar.gz
/acpica-unix2-20200110.tar.gz
/acpitests-unix-20200110.tar.gz
/acpica-unix2-20200214.tar.gz
/acpitests-unix-20200214.tar.gz
/acpica-unix2-20200326.tar.gz
/acpitests-unix-20200326.tar.gz
/acpica-unix2-20200430.tar.gz
/acpitests-unix-20200430.tar.gz
/acpica-unix2-20200528.tar.gz
/acpitests-unix-20200528.tar.gz
/acpica-unix2-20200717.tar.gz
/acpitests-unix-20200717.tar.gz
/acpica-unix2-20200925.tar.gz
/acpitests-unix-20200925.tar.gz
/acpica-unix2-20201113.tar.gz
/acpitests-unix-20201113.tar.gz
/acpica-unix2-20201217.tar.gz
/acpitests-unix-20201217.tar.gz
/acpica-unix2-20210105.tar.gz
/acpitests-unix-20210105.tar.gz
/acpica-unix2-20210331.tar.gz
/acpitests-unix-20210331.tar.gz
/acpica-unix2-20210604.tar_0.gz
/acpitests-unix-20210604.tar.gz
/acpica-unix2-20210604.tar.gz
/acpica-unix2-20210730.tar.gz
/acpitests-unix-20210730.tar.gz
/acpica-unix2-20210930.tar.gz
/acpitests-unix-20210930.tar.gz
/acpica-unix2-20211217.tar.gz
/acpitests-unix-20211217.tar.gz
/acpica-unix2-20220331.tar.gz
/acpitests-unix-20220331.tar.gz
/acpica-unix2-20230331.tar.gz
/acpitests-unix-20230331.tar.gz
/acpica-unix2-20240321.tar.gz
/acpitests-unix-20240321.tar.gz
/acpica-unix2-20240322.tar.gz
/acpitests-unix-20240322.tar.gz
/acpica-unix2-20250807.tar.gz
/acpitests-unix-20250807.tar.gz
/acpica-unix2-20251212.tar.gz
/acpitests-unix-20251212.tar.gz

View file

@ -1,30 +0,0 @@
From 957662e99f6ec38849a9cf47eaebe1c232f74bbd Mon Sep 17 00:00:00 2001
From: Al Stone <ahs3@ahs3.net>
Date: Wed, 14 Apr 2021 21:18:12 -0600
Subject: [PATCH 2/2] Correct dumping of SLIC tables
When dumping the SLIC table, the code was not starting at the proper
offset. Set the offset to the first byte after the header.
Signed-off-by: Al Stone <ahs3@ahs3.net>
---
source/common/dmtbdump3.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c
index 6e5f5d7ff..9a5b5ecd5 100644
--- a/source/common/dmtbdump3.c
+++ b/source/common/dmtbdump3.c
@@ -177,7 +177,8 @@ AcpiDmDumpSlic (
ACPI_TABLE_HEADER *Table)
{
- (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
+ (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER),
+ (void *) (Table + sizeof (*Table)),
Table->Length - sizeof (*Table), AcpiDmTableInfoSlic);
}
--
2.45.2

View file

@ -1,37 +0,0 @@
From 1fb473e41bcbfbe21c02bcb30983b87aa94a6cb8 Mon Sep 17 00:00:00 2001
From: Al Stone <ahs3@ahs3.net>
Date: Tue, 13 Aug 2024 09:50:37 -0600
Subject: [PATCH] PHAT FW health table can be zero-length
When calculating the VendorLength of the PHAT FW health data subtable,
the result becomes a negative integer. However, since UINT32 is being
used, it looks like a huge positive integer instead. Conditionalize
the length calculation to handle this case properly.
This was discovered by using the command: iasl -T phat
Signed-off-by: Al Stone <ahs3@ahs3.net>
---
source/common/dmtbdump2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c
index 32b76b382..dd4d4878e 100644
--- a/source/common/dmtbdump2.c
+++ b/source/common/dmtbdump2.c
@@ -2432,8 +2432,10 @@ AcpiDmDumpPhat (
/* Get Device-Specific Data - length of which is the remaining subtable length. */
- VendorLength =
- Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength;
+ VendorLength = 0;
+ if (Subtable->Length > sizeof (ACPI_PHAT_HEALTH_DATA) + PathLength)
+ VendorLength =
+ Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength;
DbgPrint (ASL_DEBUG_OUTPUT, "%u, Subtable->Length %X, VendorLength %X, Offset %X PathLength: %X\n",
__LINE__, Subtable->Length, VendorLength, Offset, PathLength);
--
2.45.2

26
OPT_LDFLAGS.patch Normal file
View file

@ -0,0 +1,26 @@
Index: acpica-unix2-20170728/generate/unix/Makefile.config
===================================================================
--- acpica-unix2-20170728.orig/generate/unix/Makefile.config
+++ acpica-unix2-20170728/generate/unix/Makefile.config
@@ -23,6 +23,9 @@
# OPT_CFLAGS can be overridden on the make command line by
# adding OPT_CFLAGS="..." to the invocation.
#
+# OPT_LDFLAGS can be overridden on the make command line by
+# adding OPT_LDFLAGS="..." to the invocation.
+#
# Notes:
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
@@ -157,6 +160,11 @@ LDFLAGS +=-m32
endif
#
+# Common linker flags
+#
+OPT_LDFLAGS ?=
+
+#
# Optionally disable optimizations. Optimization causes problems on
# some compilers such as gcc 4.4
#

View file

@ -1,22 +1,20 @@
Name: acpica-tools
Version: 20251212
Release: 2%{?dist}
Version: 20190509
Release: 5%{?dist}
Summary: ACPICA tools for the development and debug of ACPI tables
# Automatically converted from old format: GPLv2 - review is highly recommended.
License: GPL-2.0-only
URL: https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html
License: GPLv2
URL: https://www.acpica.org/
ExcludeArch: i686 armv7hl s390x
Source0: https://github.com/acpica/acpica/releases/download/%{version}/acpica-unix2-%{version}.tar.gz
Source1: https://github.com/acpica/acpica/releases/download/%{version}/acpitests-unix-%{version}.tar.gz
Source0: https://acpica.org/sites/acpica/files/acpica-unix2-%{version}.tar.gz
Source1: https://acpica.org/sites/acpica/files/acpitests-unix-%{version}.tar.gz
Source2: README.Fedora
Source3: iasl.1
Source4: acpibin.1
Source5: acpidump.1
Source6: acpiexec.1
Source7: acpihelp.1
Source8: acpinames.1
Source9: acpisrc.1
Source10: acpixtract.1
Source11: acpiexamples.1
@ -26,18 +24,25 @@ Source14: converterSample.asl.result
Source15: run-misc-tests.sh
Source16: COPYING
# other miscellaneous patches
Patch00: unaligned.patch
Patch01: template.patch
Patch04: cve-2017-13695.patch
Patch05: str-trunc-warn.patch
Patch06: dbtest.patch
Patch07: dangling-ptr.patch
Patch08: uuid-len.patch
#Patch11: 0002-Correct-dumping-of-SLIC-tables.patch
#Patch12: 0003-PHAT-FW-health-table-can-be-zero-length.patch
Patch0: big-endian.patch
Patch1: unaligned.patch
Patch2: OPT_LDFLAGS.patch
Patch3: int-format.patch
Patch4: f23-harden.patch
Patch5: template.patch
Patch6: ppc64le.patch
Patch7: arm7hl.patch
Patch8: big-endian-v2.patch
Patch9: simple-64bit.patch
Patch10: mips-be-fix.patch
Patch11: cve-2017-13693.patch
Patch12: cve-2017-13694.patch
Patch13: cve-2017-13695.patch
Patch14: str-trunc-warn.patch
Patch15: ptr-cast.patch
Patch16: aslcodegen.patch
Patch17: facp.patch
BuildRequires: make
BuildRequires: bison patchutils flex gcc
# The previous iasl package contained only a very small subset of these tools
@ -74,6 +79,7 @@ are installed:
-- acpidump: write out the current contents of ACPI tables
-- acpiexec: simulate AML execution in order to debug method definitions
-- acpihelp: display help messages describing ASL keywords and op-codes
-- acpinames: display complete ACPI name space from input AML
-- acpisrc: manipulate the ACPICA source tree and format source files
for specific environments
-- acpixtract: extract binary ACPI tables from acpidump output (see
@ -85,7 +91,26 @@ This version of the tools is being released under GPLv2 license.
%setup -q -n acpica-unix2-%{version}
gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
%autopatch -p1
%patch0 -p1 -b .big-endian
%patch1 -p1 -b .unaligned
%patch2 -p1 -b .OPT_LDFLAGS
%patch3 -p1 -b .int-format
%patch4 -p1 -b .f23-harden
# do not preserve a backup for this patch; it alters the results
# of the template test case and forces it to fail
%patch5 -p1
%patch6 -p1 -b .ppc64le
%patch7 -p1 -b .arm7hl
%patch8 -p1 -b .big-endian-v2
%patch9 -p1 -b .simple-64bit
%patch10 -p1 -b .mips-be-fix
%patch11 -p1 -b .cve-2017-13693
%patch12 -p1 -b .cve-2017-13694
%patch13 -p1 -b .cve-2017-13695
%patch14 -p1 -b .str-trunc-warn
%patch15 -p1 -b .ptr-cast
%patch16 -p1 -b .aslcodegen
%patch17 -p1 -b .facp
cp -p %{SOURCE2} README.Fedora
cp -p %{SOURCE3} iasl.1
@ -93,6 +118,7 @@ cp -p %{SOURCE4} acpibin.1
cp -p %{SOURCE5} acpidump.1
cp -p %{SOURCE6} acpiexec.1
cp -p %{SOURCE7} acpihelp.1
cp -p %{SOURCE8} acpinames.1
cp -p %{SOURCE9} acpisrc.1
cp -p %{SOURCE10} acpixtract.1
cp -p %{SOURCE11} acpiexamples.1
@ -145,7 +171,7 @@ OPT_LDFLAGS="%{__global_ldflags}"
export OPT_CFLAGS
export OPT_LDFLAGS
%{make_build}
make
%install
@ -169,7 +195,19 @@ cd tests
[ $? -eq 0 ] || exit 1
# misc tests
#./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
# Template tests
cd templates
make
if [ -f diff.log ]
then
if [ -s diff.log ]
then
exit 1 # implies errors occurred
fi
fi
cd ..
%pre
if [ -e %{_bindir}/acpixtract-acpica ]
@ -201,169 +239,6 @@ fi
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20251212-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Mon Dec 15 2025 Gwyn Ciesla <gwync@protonmail.com> - 20251212-1
- 20251212
* Fri Aug 15 2025 Gwyn Ciesla <gwync@protonmail.com> - 20250807-1
- 20250807
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20240322-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20240322-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Aug 12 2024 Al Stone <ahs3@fedoraproject.org> - 20240322-1
- Update source tree to 20240322 version from upstream. NB: this update
is done in conjunction with removing s390x support due to the large
number of patches that are now rendered obsolete. Closes BZ#2138250.
- Note, too, that the upstream version of the tarball is missing two
commits and has the wrong name; discussed this with upstream and
included a patch with the two commits to correct this, and renamed
the tarballs to try to maintain consistency. So, upstream is actually
named version 20240321, but it should be 20240322 according to their
own git tree (see tag G20240322 on github).
- Removed executable bit from all the upstream source files
- Remove big-endian support, aka s390x. Closes BZ#2298855.
- Remove several 32-bit only patches that are also obsolete since they
are for unsupported architectures (thanks to pbonzini and PR#5).
- Remove PIE patches since that is currently the default (again, thanks
to pbonzini and PR#5)
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 20220331-10
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-3
- Correct typo in ExcludeArch syntax
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-2
- Stop building 32-bit architecture (i686 and armv7hl); they have been
deprecated in Fedora
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-1
- Update to 20220331 upstream source. Bring all the patches up to date.
- Update the results of misc test cases.
- Add in big-endian patches for PRMT, RGRT and SVKL tables (thanks, Dean!)
* Mon Mar 28 2022 Al Stone <ahs3@redhat.com> - 20211217-2
- Stop building i686; it is the only Arch that stumbles across a problem
in using varargs but since the Arch has been essentially deprecated,
take this as an opportunity to finally drop support for it.
* Fri Mar 18 2022 Al Stone <ahs3@redhat.com> - 20211217-1
- Update to 20211217 upstream source. Bring all the patches up to date.
- Rawhide use of GCC 12 introduces a new check for dangling pointers which
causes non-portable code in utdebug.c stack functions to not compile; add
a patch to disable -Wdangling-pointer=2 for the specific functions
- The AeRegionHandler() code in acpiexec call a UUID function with a buffer
too small for the UUID output string; add a patch to correct this.
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20210604-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 4 2021 Al Stone <ahs3@redhat.com> - 20210730-1
- Update to 20210730 upstream source. Bring all the patches up to date.
* Tue Jul 27 2021 Al Stone <ahs3@redhat.com> - 20210604-3
- Running 'iasl -T all' would segfault when dumping the PHAT template;
fixed AcpiDmDumpPhat() by removing unnecessary assignments from patch
- Borrowed a patch from upstream to fix Unicode usage in WPBTs
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210604-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Jul 11 2021 Al Stone <ahs3@redhat.com> - 20210604-1
- Update to 20210604 source tree (please note that tarballs for versions
between 20200925 and 20210604 have been uploaded for archival reasons
but no packaged version of these has been commited to the Fedora project)
- Bring the big-endian patches up-to-date with what has been submitted
upstream (not accepted currently).
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200925-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 19 2020 Al Stone <ahs3@redhat.com> - 20200925-1
- Update to 20200925 source tree
- Completely revamp the old big-endian patches (maintainability was the goal).
This results in a much larger patch set, but each patch is more clearly used
for a specific purpose.
- The acpinames command has been deprecated upstream; acpiexec provides
replacement functionality.
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200430-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200430-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 8 2020 Al Stone <ahs3@redhat.com> - 202004306-1
- Update to 202004306 source tree, including patch refreshes
* Wed Apr 1 2020 Al Stone <ahs3@redhat.com> - 20200326-1
- Update to 20200326 source tree, including patch refreshes
- Removed a couple of patches that got included upstream
* Wed Feb 26 2020 Al Stone <ahs3@redhat.com> - 20200214-1
- Update to 20200214 source tree, including patch refreshes
- Add patch to fix up issues where strings and 4-byte quantities
get interchanged; C strings want to be null terminated now, but
AML does not so using strncpy is painful.
- Add patch for s390x specific issue (dbtest), where initializing a
string on the stack behaves a little differently
- "PCC" is a defined Register() type, but "PlatformCommChannel" was
being used instead; put it back to "PCC" as it should be in pcc.patch
- Add another big-endian patch to compensate for changes to nsutils.c
* Mon Feb 24 2020 Al Stone <ahs3@redhat.com> - 20200110-1
- Update to 20200110 source tree, including patch refreshes
* Sun Feb 23 2020 Al Stone <ahs3@redhat.com> - 20191213-1
- Update to 20191213 source tree, including patch refeshes.
- badexit patch no longer needed, so removed
- GCC10 enforces -fno-common now, catching multiple places where linkage
is not explicitly stated; added a patch to resolve the linker errors
* Sun Feb 23 2020 Al Stone <ahs3@redhat.com> - 20191018-2
- Upstream does not build from source -- this release not pushed into
the archives and noted here just for record keeping
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20190816-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Nov 23 2019 Al Stone <ahs3@redhat.com> - 20191018-1
- Update to 20191019 source tree, including patch refeshes.
* Tue Oct 29 2019 Al Stone <ahs3@redhat.com> - 20190816-1
- Update to 20190816 source tree, including patch refeshes.
- Add a patch to fix a non-zero exit from iasl -T ALL that actually succeeds
- Remove the "template" tests; they have been subsumed by aslts.sh as they
should be
* Thu Oct 24 2019 Al Stone <ahs3@redhat.com> - 20190703-1
- Update to 20190703 source tree, including patch refeshes.
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20190509-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

49
acpinames.1 Normal file
View file

@ -0,0 +1,49 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH ACPINAMES 1 "January 23, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
acpinames \- ACPI name space dump utility
.SH SYNOPSIS
.B acpinames
.RI <option> ...
.RI <aml-file>
.SH DESCRIPTION
This manual page briefly documents the
.B acpinames
command. The option list is taken from the acpinames interactive help.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
.B acpinames
prints out the complete ACPI name space for an AML file.
.PP
Much more detailed documentation may be found at
http://www.acpica.org/documentation/.
.SH OPTIONS
.PP
.TP
.B \-? [<name-prefix>]
Display this help message
.SH AUTHOR
acpinames was written by Robert Moore <robert.moore@intel.com>.
.PP
This manual page was written by Al Stone <ahs3@redhat.com> for the
Fedora project (but may be used by others).

20
arm7hl.patch Normal file
View file

@ -0,0 +1,20 @@
diff -Naur acpica-unix2-20170119/source/include/acmacros.h acpica-unix2-20170119-arm7hl/source/include/acmacros.h
--- acpica-unix2-20170119/source/include/acmacros.h 2017-01-30 17:25:54.346151952 -0700
+++ acpica-unix2-20170119-arm7hl/source/include/acmacros.h 2017-01-30 17:22:25.249388742 -0700
@@ -178,6 +178,8 @@
/* 16-bit source, 16/32/64 destination */
+#define ACPI_MOVE_16_TO_8(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];}
+
#define ACPI_MOVE_16_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\
(( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];}
@@ -199,6 +201,7 @@
/* 64-bit source, 16/32/64 destination */
+#define ACPI_MOVE_64_TO_8(d, s) ACPI_MOVE_16_TO_8(d, s) /* Truncate to 8 */
#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */
#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */
#define ACPI_MOVE_64_TO_64(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\

29
aslcodegen.patch Normal file
View file

@ -0,0 +1,29 @@
Changes in the handling of comments caused some length fields to be used
in new ways. The new way broke the existing adaptation for big endian
support; this patch repairs that adaptation.
Signed-off-by: Al Stone <ahs3@redhat.com>
Index: acpica-unix-20190405/source/compiler/aslcodegen.c
===================================================================
--- acpica-unix-20190405.orig/source/compiler/aslcodegen.c
+++ acpica-unix-20190405/source/compiler/aslcodegen.c
@@ -497,8 +497,7 @@ CgWriteTableHeader (
/* Table length. Checksum zero for now, will rewrite later */
- DWord = sizeof (ACPI_TABLE_HEADER) + Op->Asl.AmlSubtreeLength;
- ACPI_MOVE_32_TO_32(&AslGbl_TableHeader.Length, &DWord);
+ AslGbl_TableHeader.Length = sizeof (ACPI_TABLE_HEADER) + Op->Asl.AmlSubtreeLength;
/* Calculate the comment lengths for this definition block parseOp */
@@ -544,6 +543,8 @@ CgWriteTableHeader (
CvDbgPrint (" Length: %u\n", CommentLength);
}
}
+ DWord = AslGbl_TableHeader.Length;
+ ACPI_MOVE_32_TO_32(&AslGbl_TableHeader.Length, &DWord);
AslGbl_TableHeader.Checksum = 0;
Op->Asl.FinalAmlOffset = ftell (AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle);

View file

@ -1,12 +1,3 @@
badcode.asl 37: Name (PATH, Buffer() {"\_SB_.PCI2._CRS"})
Warning 3046 - ^ Invalid or unknown escape sequence
badcode.asl 41: Name (ESC1, "abcdefg\x00hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
badcode.asl 268: QWordSpace (0xB0, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
Error 6139 - Constant out of range ^ (0xB0, allowable: 0xC0-0xFF)
badcode.asl 25: Mutex (MTX1, 32)
Error 6125 - ^ SyncLevel must be in the range 0-15
@ -77,7 +68,7 @@ badcode.asl 97: Method (MTH2)
Remark 2119 - ^ Control Method marked Serialized (Due to use of Switch operator)
badcode.asl 97: Method (MTH2)
Warning 3115 - ^ Not all control paths return a value (\MTH2)
Warning 3115 - ^ Not all control paths return a value (MTH2)
badcode.asl 101: Switch (ToInteger (INT1))
Error 6078 - ^ No Case statements under Switch
@ -86,13 +77,13 @@ badcode.asl 120: Store (MTH2 (), Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
badcode.asl 120: Store (MTH2 (), Local0)
Warning 3122 - ^ Called method may not always return a value (\MTH2)
Warning 3122 - ^ Called method may not always return a value
badcode.asl 126: Method (MTH5) {Store (MTH4(), Local0)}
Warning 3144 - Method Local is set but never used ^ (Local0)
badcode.asl 126: Method (MTH5) {Store (MTH4(), Local0)}
Error 6080 - Called method returns no value ^ (\MTH4)
Error 6080 - Called method returns no value ^
badcode.asl 132: Name (_HID, "*PNP0C0A") // Illegal leading asterisk
Error 6061 - Invalid leading asterisk ^ (*PNP0C0A)
@ -155,7 +146,7 @@ badcode.asl 197: Return ("Unexpected Return Value")
Warning 3104 - Reserved method should not return a value ^ (_Q22)
badcode.asl 203: Device (EC)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
badcode.asl 205: Method (_REG, 2)
Warning 3079 - ^ _REG has no corresponding Operation Region
@ -265,11 +256,11 @@ Warning 3144 - ^ Method Local is set but never used
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2019 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: badcode.asl - 11588 bytes 81 keywords 0 source lines
ASL Input: badcode.asl - 11587 bytes 81 keywords 408 source lines
AML Output: badcode.aml - 1195 bytes 20 opcodes 61 named objects
Compilation successful. 46 Errors, 28 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded
Compilation successful. 45 Errors, 29 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded

18
big-endian-v2.patch Normal file
View file

@ -0,0 +1,18 @@
Updated versions of upstream often contain fixes that were not seen
in the original big-endian patch; we try to capture those here.
Signed-off-by: Al Stone <ahs3@redhat.com>
diff -Naur acpica-unix2-20170929.orig/source/compiler/asllookup.c acpica-unix2-20170929/source/compiler/asllookup.c
--- acpica-unix2-20170929.orig/source/compiler/asllookup.c 2017-10-09 12:26:25.893508481 -0600
+++ acpica-unix2-20170929/source/compiler/asllookup.c 2017-10-17 11:45:42.230763844 -0600
@@ -249,7 +249,8 @@
* ACPI names and are typically not referenced since they are meant
* to be called by the host OS.
*/
- if (Node->Name.Ascii[0] == '_')
+ ACPI_MOVE_32_TO_32(&tmp.Ascii, Node->Name.Ascii);
+ if (tmp.Ascii[0] == '_')
{
return (AE_OK);
}

6643
big-endian.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,53 +1,24 @@
converterSample.asl 15: Name (b, 5)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 16: Name(p008, Package()
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (P008)
converterSample.asl 48: Name(b,0);
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 53: Name (a,
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A___)
converterSample.asl 68: Name (a1, 0x04)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A1__)
converterSample.asl 15: Name (b, 5)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 16: Name(p008, Package()
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (P008)
converterSample.asl 37: Method(MAIN) {
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\MAIN)
converterSample.asl 48: Name(b,0);
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
Remark 2120 - ^ Control Method should be made Serialized (due to creation of named objects within)
converterSample.asl 48: Name(b,0);
Remark 2089 - Object is not referenced ^ (Name [B___] is within a method [MAIN])
converterSample.asl 53: Name (a,
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A___)
converterSample.asl 65: Method(SCOP)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\SCOP)
converterSample.asl 68: Name (a1, 0x04)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A1__)
Remark 2120 - ^ Control Method should be made Serialized (due to creation of named objects within)
converterSample.asl 68: Name (a1, 0x04)
Remark 2089 - Object is not referenced ^ (Name [A1__] is within a method [SCOP])
converterSample.asl 76: Offset(0),//c37
Remark 2158 - ^ Unnecessary/redundant use of Offset operator
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2019 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: converterSample.asl - 1968 bytes 11 keywords 85 source lines
AML Output: converterSample.aml - 180 bytes 2 opcodes 9 named objects
ASL Input: converterSample.asl - 1968 bytes 11 keywords 0 source lines
AML Output: converterSample.aml - 184 bytes 2 opcodes 9 named objects
Compilation successful. 0 Errors, 0 Warnings, 9 Remarks, 9 Optimizations
Compilation successful. 0 Errors, 0 Warnings, 5 Remarks, 12 Optimizations, 1 Constants Folded

99
cve-2017-13693.patch Normal file
View file

@ -0,0 +1,99 @@
From 987a3b5cf7175916e2a4b6ea5b8e70f830dfe732 Mon Sep 17 00:00:00 2001
From: Seunghun Han <kkamagui@gmail.com>
Date: Wed, 19 Jul 2017 16:47:53 +0900
Subject: [PATCH] acpi: acpica: fix acpi operand cache leak in dswstate.c
I found an ACPI cache leak in ACPI early termination and boot continuing case.
When early termination occurs due to malicious ACPI table, Linux kernel
terminates ACPI function and continues to boot process. While kernel terminates
ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak.
Boot log of ACPI operand cache leak is as follows:
>[ 0.585957] ACPI: Added _OSI(Module Device)
>[ 0.587218] ACPI: Added _OSI(Processor Device)
>[ 0.588530] ACPI: Added _OSI(3.0 _SCP Extensions)
>[ 0.589790] ACPI: Added _OSI(Processor Aggregator Device)
>[ 0.591534] ACPI Error: Illegal I/O port address/length above 64K: C806E00000004002/0x2 (20170303/hwvalid-155)
>[ 0.594351] ACPI Exception: AE_LIMIT, Unable to initialize fixed events (20170303/evevent-88)
>[ 0.597858] ACPI: Unable to start the ACPI Interpreter
>[ 0.599162] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
>[ 0.601836] kmem_cache_destroy Acpi-Operand: Slab cache still has objects
>[ 0.603556] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26
>[ 0.605159] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
>[ 0.609177] Call Trace:
>[ 0.610063] ? dump_stack+0x5c/0x81
>[ 0.611118] ? kmem_cache_destroy+0x1aa/0x1c0
>[ 0.612632] ? acpi_sleep_proc_init+0x27/0x27
>[ 0.613906] ? acpi_os_delete_cache+0xa/0x10
>[ 0.617986] ? acpi_ut_delete_caches+0x3f/0x7b
>[ 0.619293] ? acpi_terminate+0xa/0x14
>[ 0.620394] ? acpi_init+0x2af/0x34f
>[ 0.621616] ? __class_create+0x4c/0x80
>[ 0.623412] ? video_setup+0x7f/0x7f
>[ 0.624585] ? acpi_sleep_proc_init+0x27/0x27
>[ 0.625861] ? do_one_initcall+0x4e/0x1a0
>[ 0.627513] ? kernel_init_freeable+0x19e/0x21f
>[ 0.628972] ? rest_init+0x80/0x80
>[ 0.630043] ? kernel_init+0xa/0x100
>[ 0.631084] ? ret_from_fork+0x25/0x30
>[ 0.633343] vgaarb: loaded
>[ 0.635036] EDAC MC: Ver: 3.0.0
>[ 0.638601] PCI: Probing PCI hardware
>[ 0.639833] PCI host bridge to bus 0000:00
>[ 0.641031] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
> ... Continue to boot and log is omitted ...
I analyzed this memory leak in detail and found acpi_ds_obj_stack_pop_and_
delete() function miscalculated the top of the stack. acpi_ds_obj_stack_push()
function uses walk_state->operand_index for start position of the top, but
acpi_ds_obj_stack_pop_and_delete() function considers index 0 for it.
Therefore, this causes acpi operand memory leak.
This cache leak causes a security threat because an old kernel (<= 4.9) shows
memory locations of kernel functions in stack dump. Some malicious users
could use this information to neutralize kernel ASLR.
I made a patch to fix ACPI operand cache leak.
Signed-off-by: Seunghun Han <kkamagui@gmail.com>
Github-Location: https://github.com/acpica/acpica/pull/295/commits/987a3b5cf7175916e2a4b6ea5b8e70f830dfe732
---
source/components/dispatcher/dsutils.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Index: acpica-unix2-20181213/source/components/dispatcher/dsutils.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/dispatcher/dsutils.c
+++ acpica-unix2-20181213/source/components/dispatcher/dsutils.c
@@ -759,6 +759,8 @@ AcpiDsCreateOperands (
ACPI_PARSE_OBJECT *Arguments[ACPI_OBJ_NUM_OPERANDS];
UINT32 ArgCount = 0;
UINT32 Index = WalkState->NumOperands;
+ UINT32 PrevNumOperands = WalkState->NumOperands;
+ UINT32 NewNumOperands;
UINT32 i;
@@ -791,6 +793,7 @@ AcpiDsCreateOperands (
/* Create the interpreter arguments, in reverse order */
+ NewNumOperands = Index;
Index--;
for (i = 0; i < ArgCount; i++)
{
@@ -818,7 +821,11 @@ Cleanup:
* pop everything off of the operand stack and delete those
* objects
*/
- AcpiDsObjStackPopAndDelete (ArgCount, WalkState);
+ WalkState->NumOperands = i;
+ AcpiDsObjStackPopAndDelete (NewNumOperands, WalkState);
+
+ /* Restore operand count */
+ WalkState->NumOperands = PrevNumOperands;
ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %u", Index));
return_ACPI_STATUS (Status);

216
cve-2017-13694.patch Normal file
View file

@ -0,0 +1,216 @@
From 4a0243ecb4c94e2d73510d096c5ea4d0711fc6c0 Mon Sep 17 00:00:00 2001
From: Seunghun Han <kkamagui@gmail.com>
Date: Fri, 23 Jun 2017 14:19:48 +0900
Subject: [PATCH] acpi: acpica: fix acpi parse and parseext cache leaks
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I'm Seunghun Han, and I work for National Security Research Institute of
South Korea.
I have been doing a research on ACPI and found an ACPI cache leak in ACPI
early abort cases.
Boot log of ACPI cache leak is as follows:
[ 0.352414] ACPI: Added _OSI(Module Device)
[ 0.353182] ACPI: Added _OSI(Processor Device)
[ 0.353182] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.353182] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.356028] ACPI: Unable to start the ACPI Interpreter
[ 0.356799] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
[ 0.360215] kmem_cache_destroy Acpi-State: Slab cache still has objects
[ 0.360648] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #10
[ 0.361273] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.361873] Call Trace:
[ 0.362243] ? dump_stack+0x5c/0x81
[ 0.362591] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.362944] ? acpi_sleep_proc_init+0x27/0x27
[ 0.363296] ? acpi_os_delete_cache+0xa/0x10
[ 0.363646] ? acpi_ut_delete_caches+0x6d/0x7b
[ 0.364000] ? acpi_terminate+0xa/0x14
[ 0.364000] ? acpi_init+0x2af/0x34f
[ 0.364000] ? __class_create+0x4c/0x80
[ 0.364000] ? video_setup+0x7f/0x7f
[ 0.364000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.364000] ? do_one_initcall+0x4e/0x1a0
[ 0.364000] ? kernel_init_freeable+0x189/0x20a
[ 0.364000] ? rest_init+0xc0/0xc0
[ 0.364000] ? kernel_init+0xa/0x100
[ 0.364000] ? ret_from_fork+0x25/0x30
I analyzed this memory leak in detail. I found that “Acpi-State” cache and
“Acpi-Parse” cache were merged because the size of cache objects was same
slab cache size.
I finally found “Acpi-Parse” cache and “Acpi-ParseExt” cache were leaked
using SLAB_NEVER_MERGE flag in kmem_cache_create() function.
Real ACPI cache leak point is as follows:
[ 0.360101] ACPI: Added _OSI(Module Device)
[ 0.360101] ACPI: Added _OSI(Processor Device)
[ 0.360101] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.361043] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.364016] ACPI: Unable to start the ACPI Interpreter
[ 0.365061] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
[ 0.368174] kmem_cache_destroy Acpi-Parse: Slab cache still has objects
[ 0.369332] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #8
[ 0.371256] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.372000] Call Trace:
[ 0.372000] ? dump_stack+0x5c/0x81
[ 0.372000] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.372000] ? acpi_os_delete_cache+0xa/0x10
[ 0.372000] ? acpi_ut_delete_caches+0x56/0x7b
[ 0.372000] ? acpi_terminate+0xa/0x14
[ 0.372000] ? acpi_init+0x2af/0x34f
[ 0.372000] ? __class_create+0x4c/0x80
[ 0.372000] ? video_setup+0x7f/0x7f
[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.372000] ? do_one_initcall+0x4e/0x1a0
[ 0.372000] ? kernel_init_freeable+0x189/0x20a
[ 0.372000] ? rest_init+0xc0/0xc0
[ 0.372000] ? kernel_init+0xa/0x100
[ 0.372000] ? ret_from_fork+0x25/0x30
[ 0.388039] kmem_cache_destroy Acpi-ParseExt: Slab cache still has objects
[ 0.389063] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #8
[ 0.390557] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.392000] Call Trace:
[ 0.392000] ? dump_stack+0x5c/0x81
[ 0.392000] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.392000] ? acpi_os_delete_cache+0xa/0x10
[ 0.392000] ? acpi_ut_delete_caches+0x6d/0x7b
[ 0.392000] ? acpi_terminate+0xa/0x14
[ 0.392000] ? acpi_init+0x2af/0x34f
[ 0.392000] ? __class_create+0x4c/0x80
[ 0.392000] ? video_setup+0x7f/0x7f
[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.392000] ? do_one_initcall+0x4e/0x1a0
[ 0.392000] ? kernel_init_freeable+0x189/0x20a
[ 0.392000] ? rest_init+0xc0/0xc0
[ 0.392000] ? kernel_init+0xa/0x100
[ 0.392000] ? ret_from_fork+0x25/0x30
When early abort is occurred due to invalid ACPI information, Linux kernel
terminates ACPI by calling acpi_terminate() function. The function calls
acpi_ut_delete_caches() function to delete local caches (acpi_gbl_namespace_
cache, state_cache, operand_cache, ps_node_cache, ps_node_ext_cache).
But the deletion codes in acpi_ut_delete_caches() function only delete
slab caches using kmem_cache_destroy() function, therefore the cache
objects should be flushed before acpi_ut_delete_caches() function.
“Acpi-Parse” cache and “Acpi-ParseExt” cache are used in an AML parse
function, acpi_ps_parse_loop(). The function should have flush codes to
handle an error state due to invalid AML codes.
This cache leak has a security threat because an old kernel (<= 4.9) shows
memory locations of kernel functions in stack dump. Some malicious users
could use this information to neutralize kernel ASLR.
To fix ACPI cache leak for enhancing security, I made a patch which has
flush codes in acpi_ps_parse_loop() function.
I hope that this patch improves the security of Linux kernel.
Thank you.
Signed-off-by: Seunghun Han <kkamagui@gmail.com>
Github-Location: https://github.com/acpica/acpica/pull/278/commits/4a0243ecb4c94e2d73510d096c5ea4d0711fc6c0
---
source/components/parser/psobject.c | 44 ++++++++++++++-----------------------
1 file changed, 16 insertions(+), 28 deletions(-)
Index: acpica-unix2-20180531/source/components/parser/psobject.c
===================================================================
--- acpica-unix2-20180531.orig/source/components/parser/psobject.c
+++ acpica-unix2-20180531/source/components/parser/psobject.c
@@ -709,7 +709,8 @@ AcpiPsCompleteFinalOp (
ACPI_PARSE_OBJECT *Op,
ACPI_STATUS Status)
{
- ACPI_STATUS Status2;
+ ACPI_STATUS ReturnStatus = AE_OK;
+ BOOLEAN Ascending = TRUE;
ACPI_FUNCTION_TRACE_PTR (PsCompleteFinalOp, WalkState);
@@ -726,7 +727,7 @@ AcpiPsCompleteFinalOp (
{
if (Op)
{
- if (WalkState->AscendingCallback != NULL)
+ if (Ascending && WalkState->AscendingCallback != NULL)
{
WalkState->Op = Op;
WalkState->OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
@@ -745,41 +746,28 @@ AcpiPsCompleteFinalOp (
if (Status == AE_CTRL_TERMINATE)
{
- Status = AE_OK;
-
- /* Clean up */
- do
- {
- if (Op)
- {
- Status2 = AcpiPsCompleteThisOp (WalkState, Op);
- if (ACPI_FAILURE (Status2))
- {
- return_ACPI_STATUS (Status2);
- }
- }
-
- AcpiPsPopScope (&(WalkState->ParserState), &Op,
- &WalkState->ArgTypes, &WalkState->ArgCount);
-
- } while (Op);
-
- return_ACPI_STATUS (Status);
+ Ascending = FALSE;
+ ReturnStatus = AE_CTRL_TERMINATE;
}
else if (ACPI_FAILURE (Status))
{
/* First error is most important */
- (void) AcpiPsCompleteThisOp (WalkState, Op);
- return_ACPI_STATUS (Status);
+ Ascending = FALSE;
+ ReturnStatus = Status;
}
}
- Status2 = AcpiPsCompleteThisOp (WalkState, Op);
- if (ACPI_FAILURE (Status2))
+ Status = AcpiPsCompleteThisOp (WalkState, Op);
+ if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status2);
+ Ascending = FALSE;
+ if (ACPI_SUCCESS (ReturnStatus) ||
+ ReturnStatus == AE_CTRL_TERMINATE)
+ {
+ ReturnStatus = Status;
+ }
}
}
@@ -788,5 +776,5 @@ AcpiPsCompleteFinalOp (
} while (Op);
- return_ACPI_STATUS (Status);
+ return_ACPI_STATUS (ReturnStatus);
}

View file

@ -67,11 +67,11 @@ Github-Location: https://github.com/acpica/acpica/pull/296/commits/37f2c716f2c6a
source/components/namespace/nseval.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: acpica-unix2-20240321/source/components/namespace/nseval.c
Index: acpica-unix2-20181213/source/components/namespace/nseval.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/namespace/nseval.c
+++ acpica-unix2-20240321/source/components/namespace/nseval.c
@@ -329,6 +329,16 @@ AcpiNsEvaluate (
--- acpica-unix2-20181213.orig/source/components/namespace/nseval.c
+++ acpica-unix2-20181213/source/components/namespace/nseval.c
@@ -336,6 +336,16 @@ AcpiNsEvaluate (
Info->ReturnObject = NULL;
}
}

View file

@ -1,25 +0,0 @@
Index: acpica-unix2-20240321/source/components/utilities/utdebug.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/utilities/utdebug.c
+++ acpica-unix2-20240321/source/components/utilities/utdebug.c
@@ -58,6 +58,10 @@ static const char *AcpiGbl_Fun
static const char *AcpiGbl_FunctionExitPrefix = "----Exit-";
+#if defined(__GNUC__) && (__GNUC__ > 11)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdangling-pointer"
+#endif
/*******************************************************************************
*
* FUNCTION: AcpiUtInitStackPtrTrace
@@ -120,6 +124,9 @@ AcpiUtTrackStackPtr (
AcpiGbl_DeepestNesting = AcpiGbl_NestingLevel;
}
}
+#if defined(__GNUC__) && (__GNUC__ > 11)
+#pragma GCC diagnostic pop
+#endif
/*******************************************************************************

View file

@ -1,40 +0,0 @@
On s390, GCC does not like the string initialization in this case. When
ValueToWrite is initialized this way, GCC tries to copy the entire string
into an ACPI_OBJECT instead of just the pointer (see the use in the call
to memcpy()). So, move the init so GCC recognizes that ValueToWrite is
only a pointer, and not a whole string that needs to be moved.
Index: acpica-unix2-20240321/source/components/debugger/dbtest.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/debugger/dbtest.c
+++ acpica-unix2-20240321/source/components/debugger/dbtest.c
@@ -719,9 +719,10 @@ AcpiDbTestStringType (
ACPI_OBJECT *Temp1 = NULL;
ACPI_OBJECT *Temp2 = NULL;
ACPI_OBJECT *Temp3 = NULL;
- char *ValueToWrite = "Test String from AML Debugger";
+ char *ValueToWrite = NULL;
ACPI_OBJECT WriteValue;
ACPI_STATUS Status;
+ const char *TestStr = "Test String from AML Debugger";
/* Read the original value */
@@ -737,6 +738,9 @@ AcpiDbTestStringType (
/* Write a new value */
+ ValueToWrite = AcpiOsAllocateZeroed(strlen(TestStr)+1);
+ strncpy(ValueToWrite, TestStr, strlen(TestStr)+1);
+
WriteValue.Type = ACPI_TYPE_STRING;
WriteValue.String.Length = strlen (ValueToWrite);
WriteValue.String.Pointer = ValueToWrite;
@@ -790,6 +794,7 @@ Exit:
if (Temp1) {AcpiOsFree (Temp1);}
if (Temp2) {AcpiOsFree (Temp2);}
if (Temp3) {AcpiOsFree (Temp3);}
+ if (ValueToWrite) {AcpiOsFree (ValueToWrite);}
return (Status);
}

61
f23-harden.patch Normal file
View file

@ -0,0 +1,61 @@
Introduce build hardening flags for f23
From: Al Stone <ahs3@redhat.com>
---
generate/unix/Makefile.config | 2 ++
generate/unix/iasl/Makefile | 13 +++++++------
2 files changed, 9 insertions(+), 6 deletions(-)
Index: acpica-unix2-20180209/generate/unix/Makefile.config
===================================================================
--- acpica-unix2-20180209.orig/generate/unix/Makefile.config
+++ acpica-unix2-20180209/generate/unix/Makefile.config
@@ -182,6 +182,8 @@ ifneq ($(NOFORTIFY),TRUE)
OPT_CFLAGS += -D_FORTIFY_SOURCE=2
endif
+OPT_CFLAGS += -fPIC -pie
+
CFLAGS += \
-D$(HOST)\
-D_GNU_SOURCE\
Index: acpica-unix2-20180209/generate/unix/iasl/Makefile
===================================================================
--- acpica-unix2-20180209.orig/generate/unix/iasl/Makefile
+++ acpica-unix2-20180209/generate/unix/iasl/Makefile
@@ -344,26 +344,27 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prpa
# Cannot use the common compile warning flags since the C files are created
# by the utilities above and they are not necessarily ANSI C, etc.
#
+HARDENING_FLAGS = -fPIC -pie
$(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<

31
facp.patch Normal file
View file

@ -0,0 +1,31 @@
From 7670c56ebe004e698551635f9c5d48a1794066dd Mon Sep 17 00:00:00 2001
From: Al Stone <ahs3@ahs3.net>
Date: Wed, 19 Dec 2018 16:52:41 -0700
Subject: [PATCH] Correct DSDT Address field in FACP tables
The FADT allows either the DSDT Address or XDSDT Address field to be
zero. However, the table definition used by the table compiler still
requires the DSDT Address to be non-zero, which is not correct. So,
remove the DT_NON_ZERO flag from the field.
Signed-off-by: Al Stone <ahs3@redhat.com>
---
source/common/dmtbinfo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/common/dmtbinfo.c b/source/common/dmtbinfo.c
index 2e1c54f84..07d3ce099 100644
--- a/source/common/dmtbinfo.c
+++ b/source/common/dmtbinfo.c
@@ -292,7 +292,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[] =
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] =
{
{ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address", 0},
- {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", DT_NON_ZERO},
+ {ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", 0},
{ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model", 0},
{ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile", 0},
{ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt", 0},
--
2.20.1

65
gcc9.patch Normal file
View file

@ -0,0 +1,65 @@
diff -Naur acpica-unix2-20190108/source/common/dmrestag.c acpica-unix2-20190108-patch/source/common/dmrestag.c
--- acpica-unix2-20190108/source/common/dmrestag.c 2019-01-08 14:10:31.000000000 -0700
+++ acpica-unix2-20190108-patch/source/common/dmrestag.c 2019-05-10 13:57:10.768398838 -0600
@@ -710,10 +710,25 @@
* end up in the final compiled AML, it's just an appearance issue for the
* disassembled code.
*/
- Pathname[strlen (Pathname) - ACPI_NAME_SIZE] = 0;
- strncat (Pathname, ResourceNode->Name.Ascii, ACPI_NAME_SIZE);
- strcat (Pathname, ".");
- strncat (Pathname, Tag, ACPI_NAME_SIZE);
+ {
+ /*
+ * GCC9 forces some contortions when non-null-terminated char
+ * strings are being used; using strncat() might be simpler,
+ * but the assumption that the string is null-terminated gets
+ * checked and AML does not always guarantee that is true.
+ */
+ char *tmp;
+ unsigned char dot = '.';
+
+ Pathname[strlen (Pathname) - ACPI_NAME_SIZE] = 0;
+ tmp = Pathname + strlen(Pathname);
+ memcpy (tmp, ResourceNode->Name.Ascii, ACPI_NAME_SIZE);
+ tmp += ACPI_NAME_SIZE;
+ memcpy (tmp, &dot, 1);
+ tmp++;
+ memcpy (tmp, Tag, ACPI_NAME_SIZE);
+ tmp += ACPI_NAME_SIZE;
+ }
/* Internalize the namepath to AML format */
diff -Naur acpica-unix2-20190108/source/compiler/aslcodegen.c acpica-unix2-20190108-patch/source/compiler/aslcodegen.c
--- acpica-unix2-20190108/source/compiler/aslcodegen.c 2019-05-10 13:40:12.827411487 -0600
+++ acpica-unix2-20190108-patch/source/compiler/aslcodegen.c 2019-05-10 13:25:34.667850614 -0600
@@ -450,11 +450,11 @@
*/
if (AcpiGbl_CaptureComments)
{
- strncpy(AcpiGbl_TableSig, Child->Asl.Value.String, ACPI_NAME_SIZE);
+ memcpy(AcpiGbl_TableSig, Child->Asl.Value.String, ACPI_NAME_SIZE);
Child->Asl.Value.String = ACPI_SIG_XXXX;
}
- strncpy (AslGbl_TableHeader.Signature, Child->Asl.Value.String, ACPI_NAME_SIZE);
+ memcpy (AslGbl_TableHeader.Signature, Child->Asl.Value.String, ACPI_NAME_SIZE);
/* Revision */
@@ -471,12 +471,12 @@
/* OEMID */
Child = Child->Asl.Next;
- strncpy (AslGbl_TableHeader.OemId, Child->Asl.Value.String, ACPI_OEM_ID_SIZE);
+ memcpy (AslGbl_TableHeader.OemId, Child->Asl.Value.String, ACPI_OEM_ID_SIZE);
/* OEM TableID */
Child = Child->Asl.Next;
- strncpy (AslGbl_TableHeader.OemTableId, Child->Asl.Value.String, ACPI_OEM_TABLE_ID_SIZE);
+ memcpy (AslGbl_TableHeader.OemTableId, Child->Asl.Value.String, ACPI_OEM_TABLE_ID_SIZE);
/* OEM Revision */

View file

@ -1,57 +1,34 @@
grammar.asl 522: NAME (ESC1, "abcdefg\x00hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 523: NAME (ESC2, "abcdefg\000hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 552: IRQNoFlags(xxxt){3,4,10,11}
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (XXXT)
grammar.asl 566: Name(Bxxx,0xFFFFFFFF)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (BXXX)
grammar.asl 6478: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
Warning 3046 - Invalid or unknown escape sequence ^
ACPI Warning: NsLookup: Type mismatch on GIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IDX2 (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on AIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on C05D (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IND2 (RegionField), searching for (Region) (20190509/nsaccess-728)
grammar.asl 120: Device (A1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 135: Device (A2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 145: Device (A3)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 155: Device (A4)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 171: Device (IRES)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 171: Device (IRES)
Warning 3141 - ^ Missing dependency (Device has a _SRS, missing a _PRS, required)
grammar.asl 171: Device (IRES)
Remark 2141 - ^ Missing dependency (Device has a _SRS, no corresponding _DIS)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 199: Name (_NPK, Package ()
Warning 3133 - ^ Unknown reserved name (_NPK)
grammar.asl 208: Device (RES)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 208: Device (RES)
Remark 2141 - ^ Missing dependency (Device has a _SRS, no corresponding _DIS)
grammar.asl 247: Name (PRT0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RES._CRS)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 399: CreateByteField (PRT0, R000._ASZ, RSIZ)
Remark 2089 - Object is not referenced ^ (Name [RSIZ] is within a method [_CRS])
grammar.asl 406: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RES._PRS)
grammar.asl 513: Name (_STR, Unicode ("test"))
Remark 2089 - ^ Object is not referenced (Name [_STR] is within a method [TCOP])
@ -64,18 +41,9 @@ Warning 3055 - ^ Invalid Hex/Octal Escape - Non-
grammar.asl 523: NAME (ESC2, "abcdefg\000hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 552: IRQNoFlags(xxxt){3,4,10,11}
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (XXXT)
grammar.asl 566: Name(Bxxx,0xFFFFFFFF)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (BXXX)
grammar.asl 620: RCIV (Subtract (Arg0, 1))
Remark 2098 - ^ Recursive method call (RCIV)
grammar.asl 631: Processor(CPU0,0x0,0xFFFFFFFF,0x0) {}
Warning 3168 - ^ Legacy Processor() keyword detected. Use Device() keyword instead.
grammar.asl 668: Method(SMWE, 4)
Remark 2146 - ^ Method Argument is never used (Arg0)
@ -103,29 +71,17 @@ Remark 2146 - ^ Method Argument is never used (Arg3)
grammar.asl 701: CreateField (\_SB_.SBUF, 148, 96, FLDV)
Remark 2089 - Object is not referenced ^ (Name [FLDV] is within a method [_INI])
grammar.asl 705: Device(PCI0)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
grammar.asl 705: Device(PCI0)
Warning 3141 - Missing dependency ^ (Device has a _SRS, missing a _PRS, required)
grammar.asl 705: Device(PCI0)
Remark 2141 - Missing dependency ^ (Device has a _SRS, no corresponding _DIS)
grammar.asl 712: Name(PRT0, ResourceTemplate() {
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0._CRS)
grammar.asl 733: Method(_SRS)
Warning 3102 - ^ Reserved method has too few arguments (_SRS requires 1)
grammar.asl 738: Device(EIO)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 822: If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){
Warning 3144 - Method Local is set but never used ^ (Local3)
grammar.asl 913: Device (DEV1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 963: Divide (Local0, Local1, Local3)
Warning 3144 - Method Local is set but never used ^ (Local3)
@ -145,21 +101,9 @@ Remark 2146 - ^ Method Argument is never used (Arg0)
grammar.asl 1300: Name(BUFR, Buffer (Local0) {})
Remark 2089 - ^ Object is not referenced (Name [BUFR] is within a method [OBJ1])
grammar.asl 1300: Name(BUFR, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1301: Name(BUF1, Buffer (4) {1,2,3,4})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1302: Name(BUF2, Buffer (4) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1307: Alias (MTX1, MTX2)
Remark 2089 - Object is not referenced ^ (Name [MTX2] is within a method [OBJ1])
grammar.asl 1321: Name (BUF2, Buffer (128) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\FLDS)
grammar.asl 1329: CreateField (BUF2, 148, 96, FLD3)
Remark 2089 - Object is not referenced ^ (Name [FLD3] is within a method [FLDS])
@ -169,24 +113,9 @@ Warning 3038 - ^ Truncating 64-bit constant
grammar.asl 1396: if (LNotEqual (Local0, 0x1234567887654321))
Warning 3038 - Truncating 64-bit constant found in 32-bit table ^
grammar.asl 1445: Name (BUFO, Buffer (32) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1448: OperationRegion (OPR2, SystemMemory, Arg0, 256)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1462: BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1469: IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1476: SizeOf (BUFO)
Error 6114 - ^ Result is not used, operator has no effect
grammar.asl 1490: Event (EVT2)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1496: Alias (MTX2, MTXA)
Remark 2089 - Object is not referenced ^ (Name [MTXA] is within a method [OBJ2])
@ -218,28 +147,19 @@ grammar.asl 1792: Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
Warning 3144 - Method Local is set but never used ^ (Local5)
grammar.asl 1821: Method (COND)
Warning 3115 - ^ Not all control paths return a value (\COND)
grammar.asl 1916: Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\REFS)
grammar.asl 1918: Name (NEST, Package ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\REFS)
Warning 3115 - ^ Not all control paths return a value (COND)
grammar.asl 1930: Store (RefOf (MAIN), Local5)
Warning 3144 - Method Local is set but never used ^ (Local5)
grammar.asl 2005: Device (IFEL)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2162: Device (NOSV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 2168: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\NOSV.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2583: Device (IDXF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2611: Store (IFE0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
@ -251,136 +171,85 @@ grammar.asl 2613: Store (IFE2, Local2)
Warning 3144 - ^ Method Local is set but never used (Local2)
grammar.asl 2630: Device (NSTL)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 2658: Device (RTBF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 2667: Name (ABUF, Buffer() {"ARBITRARY_BUFFER"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RTBF.RBUF)
grammar.asl 2695: Name (BUFR, Buffer(Local1) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RTBF.RBUF)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2756: Device (GPE2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2771: Device (PRW2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2819: Device (PRW1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2886: Store (Arg0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
grammar.asl 2889: Device (RTLV)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 2989: Device (PCI1)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 2993: Name (_CRS,0)
Error 6105 - ^ Invalid object type for reserved name (_CRS: found Integer, Buffer required)
grammar.asl 3017: Device (RETP)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 3053: Device (WHLR)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3109: Device (ANDO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3343: Name(RSLT,1)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ANDO.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3383: Device (BRKP)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3420: Device (ADSU)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3435: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
grammar.asl 3436: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
grammar.asl 3437: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3513: Device (INDC)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3528: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
grammar.asl 3529: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
grammar.asl 3530: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3611: Device (LOPS)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3956: Device (FDSO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4120: Device (MLDV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 4135: Name (RMDR, 0)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4136: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4137: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4138: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4253: Device (NBIT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4489: Device (SHFT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4685: Device (XORD)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 4693: OperationRegion (RAM, SystemMemory, 0x800000, 256)
Warning 3175 - ^ Static OperationRegion should be declared outside control method
grammar.asl 4693: OperationRegion (RAM, SystemMemory, 0x800000, 256)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\XORD.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5022: Device (CRBF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5100: Device (IDX4)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 5117: OperationRegion (RAM, SystemMemory, Arg0, 0x100)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX4.MADM)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5639: Device (EVNT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5867: Device (SZLV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5960: Device (BYTF)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 5970: Device (C005)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 5972: Device (C013)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6027: Name (_HID, "*PNP0A06")
Error 6061 - Invalid leading asterisk ^ (*PNP0A06)
@ -389,13 +258,13 @@ grammar.asl 6166: Name (C18C, Package (2)
Remark 2063 - ^ Initializer list shorter than declared package length
grammar.asl 6190: Device (C19B)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6199: Divide (Local1, 10, Local0, Local2) // Local0 = Local1 / 10
Warning 3144 - Method Local is set but never used ^ (Local0)
grammar.asl 6244: Device (DWDF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6276: Method (MKW_, 2)
Remark 2146 - ^ Method Argument is never used (Arg0)
@ -404,13 +273,13 @@ grammar.asl 6276: Method (MKW_, 2)
Remark 2146 - ^ Method Argument is never used (Arg1)
grammar.asl 6285: Device (DVAX)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6328: Device (IDX6)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6352: Device (TST_)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6371: Store (IFE0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
@ -434,100 +303,28 @@ grammar.asl 6380: Store (\IDX6.TST_.IFE1, Local6)
Warning 3144 - Method Local is set but never used ^ (Local6)
grammar.asl 6393: Device (IDX5)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 6416: Name (BUF0, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX5.MCTH)
grammar.asl 6417: Name (BUF1, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX5.MCTH)
grammar.asl 6474: Device (PCI2)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6478: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
Warning 3046 - Invalid or unknown escape sequence ^
grammar.asl 6554: Name (BUFR, Package(13) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0._BIF)
grammar.asl 6578: Name (BUFR, Package(4) {1, 0x100, 0x76543210, 0x180})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0._BST)
grammar.asl 6593: Name (PBUF, Package(4) {}) // leave uninitialized
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0.TEST)
grammar.asl 6625: Name (BUFR, Buffer(16)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0.TEST)
grammar.asl 6709: Device (BITI)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6817: And (Local0, 1, Local0) // Local0 &= 1
Error 6066 - ^ Method local variable is not initialized (Local0)
grammar.asl 6846: Name (C17C, Package (13)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.C17B)
grammar.asl 6903: Name (_HID, "*PNP0C0A") // Control Method Battey ID
Error 6061 - Invalid leading asterisk ^ (*PNP0C0A)
grammar.asl 6912: Device (IDX3)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 6922: Name (BUFR, Buffer () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX3.LCLB)
grammar.asl 6974: Name (PKG, Package () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX3.LCLP)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 7057: Device(IDX7)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 7074: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST1)
grammar.asl 7093: Name (BUF0, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST2)
grammar.asl 7110: Name (BUF1, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST3)
grammar.asl 7301: Name (SRCB, Buffer (12) {}) // 12 characters
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTF)
grammar.asl 7304: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTF)
grammar.asl 7327: Name (SRCB, Buffer (12) {}) // 12 characters
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTG)
grammar.asl 7330: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTG)
grammar.asl 7412: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTH)
grammar.asl 7448: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTI)
grammar.asl 7484: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTJ)
grammar.asl 7520: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTK)
grammar.asl 7556: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTL)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 7736: Device (MTCH)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 7743: Name (TIM0, Package ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MTCH.TEST)
grammar.asl 7755: Name (TMD0, Buffer (20) {0xFF, 0xFF, 0xFF, 0xFF })
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MTCH.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 7757: CreateDWordField (TMD0, 4, DMA0)
Remark 2089 - Object is not referenced ^ (Name [DMA0] is within a method [TEST])
@ -542,79 +339,43 @@ grammar.asl 7760: CreateDWordField (TMD0, 16, CHNF)
Remark 2089 - Object is not referenced ^ (Name [CHNF] is within a method [TEST])
grammar.asl 7934: Device (WHLB)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 8275: Name (BUFR, Package (13) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.BAT1._BIF)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 8295: Device (IDX2)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 8300: Name (SRCB, Buffer () {"Short Buffer"}) // 12 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.B2IB)
grammar.asl 8302: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.B2IB)
grammar.asl 8493: Name (DEST, Package (2) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.FB2P)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 8678: Device (SIZO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 8708: Name (BUFR, Buffer (12) {}) // uninitialized Buffer
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8709: Name (BUF1, Buffer() {0x01, 0x02, 0x03, 0x04, 0x05})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8710: Name (PKG0, Package (4) {}) // uninitialized Package
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8712: Name (PKG1, Package (4)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 8720: Name (PKG2, Package (4)
Remark 2063 - ^ Initializer list shorter than declared package length
grammar.asl 8720: Name (PKG2, Package (4)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8973: Name (BUFR, Buffer (12) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SBUF)
grammar.asl 9034: Name (BUFR, Buffer (12) {}) // uninitialized Buffer
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SLOC)
grammar.asl 9036: Name (PKG0, Package (4) {}) // uninitialized Package
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SLOC)
grammar.asl 9132: Store (_OS, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
grammar.asl 9262: Device (MBIT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9273: Device (MWRD)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9281: Device (MBYT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9354: Device (SMIS)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9408: Device(CNDT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2019 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: grammar.asl - 323653 bytes 4818 keywords 0 source lines
ASL Input: grammar.asl - 323653 bytes 4818 keywords 10284 source lines
AML Output: grammar.aml - 43758 bytes 4148 opcodes 670 named objects
Compilation successful. 60 Errors, 41 Warnings, 97 Remarks, 1106 Optimizations
Compilation successful. 6 Errors, 88 Warnings, 27 Remarks, 1106 Optimizations

283
int-format.patch Normal file
View file

@ -0,0 +1,283 @@
Use proper integer formatting
From: Al Stone <ahs3@redhat.com>
---
source/compiler/aslerror.c | 4 ++--
source/compiler/aslopt.c | 2 +-
source/compiler/aslprepkg.c | 2 +-
source/components/debugger/dbexec.c | 2 +-
source/components/dispatcher/dsmthdat.c | 4 ++--
source/components/dispatcher/dsutils.c | 2 +-
source/components/dispatcher/dswscope.c | 4 ++--
source/components/events/evgpe.c | 4 ++--
source/components/executer/exdump.c | 2 +-
source/components/executer/exfldio.c | 4 ++--
source/components/executer/exnames.c | 4 ++--
source/components/hardware/hwregs.c | 2 +-
source/components/tables/tbfadt.c | 6 +++---
source/components/tables/tbxfroot.c | 6 +++---
source/components/utilities/utownerid.c | 2 +-
18 files changed, 28 insertions(+), 28 deletions(-)
Index: acpica-unix-20190405/source/compiler/aslerror.c
===================================================================
--- acpica-unix-20190405.orig/source/compiler/aslerror.c
+++ acpica-unix-20190405/source/compiler/aslerror.c
@@ -906,7 +906,7 @@ AslLogNewError (
AslGbl_ExceptionCount[ModifiedLevel]++;
if (!AslGbl_IgnoreErrors && AslGbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
{
- printf ("\nMaximum error count (%u) exceeded\n", ASL_MAX_ERROR_COUNT);
+ printf ("\nMaximum error count (%d) exceeded\n", ASL_MAX_ERROR_COUNT);
AslGbl_SourceLine = 0;
AslGbl_NextError = AslGbl_ErrorLog;
Index: acpica-unix-20190405/source/compiler/aslopt.c
===================================================================
--- acpica-unix-20190405.orig/source/compiler/aslopt.c
+++ acpica-unix-20190405/source/compiler/aslopt.c
@@ -583,7 +583,7 @@ OptOptimizeNamePath (
}
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS,
- "PATH OPTIMIZE: Line %5d ParentOp [%12.12s] ThisOp [%12.12s] ",
+ "PATH OPTIMIZE: Line %5u ParentOp [%12.12s] ThisOp [%12.12s] ",
Op->Asl.LogicalLineNumber,
AcpiPsGetOpcodeName (Op->Common.Parent->Common.AmlOpcode),
AcpiPsGetOpcodeName (Op->Common.AmlOpcode)));
Index: acpica-unix-20190405/source/compiler/aslprepkg.c
===================================================================
--- acpica-unix-20190405.orig/source/compiler/aslprepkg.c
+++ acpica-unix-20190405/source/compiler/aslprepkg.c
@@ -309,7 +309,7 @@ ApCheckPackage (
if (Count & 1)
{
- sprintf (AslGbl_MsgBuffer, "%4.4s: Package length, %d, must be even.",
+ sprintf (AslGbl_MsgBuffer, "%4.4s: Package length, %u, must be even.",
Predefined->Info.Name, Count);
AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH,
Index: acpica-unix-20190405/source/components/debugger/dbexec.c
===================================================================
--- acpica-unix-20190405.orig/source/components/debugger/dbexec.c
+++ acpica-unix-20190405/source/components/debugger/dbexec.c
@@ -230,7 +230,7 @@ AcpiDbExecuteMethod (
ACPI_ERROR ((AE_INFO,
"Possible buffer overflow within AML Debugger "
"buffer (size 0x%X needed 0x%X)",
- ACPI_DEBUG_BUFFER_SIZE, (UINT32) ReturnObj->Length));
+ (UINT32) ACPI_DEBUG_BUFFER_SIZE, (UINT32) ReturnObj->Length));
}
}
Index: acpica-unix-20190405/source/components/dispatcher/dsmthdat.c
===================================================================
--- acpica-unix-20190405.orig/source/components/dispatcher/dsmthdat.c
+++ acpica-unix-20190405/source/components/dispatcher/dsmthdat.c
@@ -291,7 +291,7 @@ AcpiDsMethodDataGetNode (
if (Index > ACPI_METHOD_MAX_LOCAL)
{
ACPI_ERROR ((AE_INFO,
- "Local index %u is invalid (max %u)",
+ "Local index %u is invalid (max %d)",
Index, ACPI_METHOD_MAX_LOCAL));
return_ACPI_STATUS (AE_AML_INVALID_INDEX);
}
@@ -306,7 +306,7 @@ AcpiDsMethodDataGetNode (
if (Index > ACPI_METHOD_MAX_ARG)
{
ACPI_ERROR ((AE_INFO,
- "Arg index %u is invalid (max %u)",
+ "Arg index %u is invalid (max %d)",
Index, ACPI_METHOD_MAX_ARG));
return_ACPI_STATUS (AE_AML_INVALID_INDEX);
}
Index: acpica-unix-20190405/source/components/dispatcher/dsutils.c
===================================================================
--- acpica-unix-20190405.orig/source/components/dispatcher/dsutils.c
+++ acpica-unix-20190405/source/components/dispatcher/dsutils.c
@@ -786,7 +786,7 @@ AcpiDsCreateOperands (
}
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
- "NumOperands %d, ArgCount %d, Index %d\n",
+ "NumOperands %d, ArgCount %u, Index %u\n",
WalkState->NumOperands, ArgCount, Index));
/* Create the interpreter arguments, in reverse order */
Index: acpica-unix-20190405/source/components/dispatcher/dswscope.c
===================================================================
--- acpica-unix-20190405.orig/source/components/dispatcher/dswscope.c
+++ acpica-unix-20190405/source/components/dispatcher/dswscope.c
@@ -149,7 +149,7 @@ AcpiDsScopeStackPush (
WalkState->ScopeDepth++;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[%.2d] Pushed scope ", (UINT32) WalkState->ScopeDepth));
+ "[%.2d] Pushed scope ", WalkState->ScopeDepth));
OldScopeInfo = WalkState->ScopeInfo;
if (OldScopeInfo)
@@ -211,7 +211,7 @@ AcpiDsScopeStackPop (
WalkState->ScopeDepth--;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[%.2d] Popped scope [%4.4s] (%s), New scope -> ",
+ "[%.2u] Popped scope [%4.4s] (%s), New scope -> ",
(UINT32) WalkState->ScopeDepth,
AcpiUtGetNodeName (ScopeInfo->Scope.Node),
AcpiUtGetTypeName (ScopeInfo->Common.Value)));
Index: acpica-unix-20190405/source/components/events/evgpe.c
===================================================================
--- acpica-unix-20190405.orig/source/components/events/evgpe.c
+++ acpica-unix-20190405/source/components/events/evgpe.c
@@ -489,7 +489,7 @@ AcpiEvGpeDetect (
"Ignore disabled registers for GPE %02X-%02X: "
"RunEnable=%02X, WakeEnable=%02X\n",
GpeRegisterInfo->BaseGpeNumber,
- GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1),
+ (unsigned int) (GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1)),
GpeRegisterInfo->EnableForRun,
GpeRegisterInfo->EnableForWake));
continue;
Index: acpica-unix-20190405/source/components/executer/exdump.c
===================================================================
--- acpica-unix-20190405.orig/source/components/executer/exdump.c
+++ acpica-unix-20190405/source/components/executer/exdump.c
@@ -678,7 +678,7 @@ AcpiExDumpOperand (
if (Depth > 0)
{
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%*s[%u] %p Refs=%u ",
- Depth, " ", Depth, ObjDesc, ObjDesc->Common.ReferenceCount));
+ (int) Depth, " ", Depth, ObjDesc, ObjDesc->Common.ReferenceCount));
}
else
{
Index: acpica-unix-20190405/source/components/executer/exfldio.c
===================================================================
--- acpica-unix-20190405.orig/source/components/executer/exfldio.c
+++ acpica-unix-20190405/source/components/executer/exfldio.c
@@ -681,8 +681,8 @@ AcpiExWriteWithUpdateRule (
ACPI_ERROR ((AE_INFO,
"Unknown UpdateRule value: 0x%X",
- (ObjDesc->CommonField.FieldFlags &
- AML_FIELD_UPDATE_RULE_MASK)));
+ (unsigned int) (ObjDesc->CommonField.FieldFlags &
+ AML_FIELD_UPDATE_RULE_MASK)));
return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
}
}
Index: acpica-unix-20190405/source/components/executer/exnames.c
===================================================================
--- acpica-unix-20190405.orig/source/components/executer/exnames.c
+++ acpica-unix-20190405/source/components/executer/exnames.c
@@ -237,7 +237,7 @@ AcpiExNameSegment (
*/
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Leading character is not alpha: %02Xh (not a name)\n",
- CharBuf[0]));
+ (unsigned int) CharBuf[0]));
Status = AE_CTRL_PENDING;
}
else
@@ -249,7 +249,7 @@ AcpiExNameSegment (
Status = AE_AML_BAD_NAME;
ACPI_ERROR ((AE_INFO,
"Bad character 0x%02x in name, at %p",
- *AmlAddress, AmlAddress));
+ (unsigned int) (*AmlAddress), AmlAddress));
}
*InAmlAddress = ACPI_CAST_PTR (UINT8, AmlAddress);
Index: acpica-unix-20190405/source/components/hardware/hwregs.c
===================================================================
--- acpica-unix-20190405.orig/source/components/hardware/hwregs.c
+++ acpica-unix-20190405/source/components/hardware/hwregs.c
@@ -460,7 +460,7 @@ AcpiHwClearAcpiStatus (
ACPI_DEBUG_PRINT ((ACPI_DB_IO, "About to write %04X to %8.8X%8.8X\n",
- ACPI_BITMASK_ALL_FIXED_STATUS,
+ (UINT32) ACPI_BITMASK_ALL_FIXED_STATUS,
ACPI_FORMAT_UINT64 (AcpiGbl_XPm1aStatus.Address)));
LockFlags = AcpiOsAcquireLock (AcpiGbl_HardwareLock);
Index: acpica-unix-20190405/source/components/tables/tbfadt.c
===================================================================
--- acpica-unix-20190405.orig/source/components/tables/tbfadt.c
+++ acpica-unix-20190405/source/components/tables/tbfadt.c
@@ -233,7 +233,7 @@ AcpiTbInitGenericAddress (
if (!(Flags & ACPI_FADT_GPE_REGISTER))
{
ACPI_ERROR ((AE_INFO,
- "%s - 32-bit FADT register is too long (%u bytes, %u bits) "
+ "%s - 32-bit FADT register is too long (%u bytes, %d bits) "
"to convert to GAS struct - 255 bits max, truncating",
RegisterName, ByteWidth, (ByteWidth * 8)));
}
@@ -304,7 +304,7 @@ AcpiTbSelectAddress (
ACPI_BIOS_WARNING ((AE_INFO,
"32/64X %s address mismatch in FADT: "
- "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
+ "0x%8.8X/0x%8.8X%8.8X, using %d-bit address",
RegisterName, Address32, ACPI_FORMAT_UINT64 (Address64),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
@@ -628,7 +628,7 @@ AcpiTbConvertFadt (
ACPI_BIOS_WARNING ((AE_INFO,
"32/64X address mismatch in FADT/%s: "
- "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
+ "0x%8.8X/0x%8.8X%8.8X, using %d-bit address",
Name, Address32,
ACPI_FORMAT_UINT64 (Address64->Address),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
Index: acpica-unix-20190405/source/components/tables/tbxfroot.c
===================================================================
--- acpica-unix-20190405.orig/source/components/tables/tbxfroot.c
+++ acpica-unix-20190405/source/components/tables/tbxfroot.c
@@ -177,7 +177,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- ACPI_EBDA_PTR_LOCATION, ACPI_EBDA_PTR_LENGTH));
+ (UINT32) ACPI_EBDA_PTR_LOCATION, (UINT32) ACPI_EBDA_PTR_LENGTH));
return_ACPI_STATUS (AE_NO_MEMORY);
}
@@ -204,7 +204,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- PhysicalAddress, ACPI_EBDA_WINDOW_SIZE));
+ PhysicalAddress, (UINT32) ACPI_EBDA_WINDOW_SIZE));
return_ACPI_STATUS (AE_NO_MEMORY);
}
@@ -236,7 +236,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- ACPI_HI_RSDP_WINDOW_BASE, ACPI_HI_RSDP_WINDOW_SIZE));
+ (UINT32) ACPI_HI_RSDP_WINDOW_BASE, (UINT32) ACPI_HI_RSDP_WINDOW_SIZE));
return_ACPI_STATUS (AE_NO_MEMORY);
}
Index: acpica-unix-20190405/source/components/utilities/utownerid.c
===================================================================
--- acpica-unix-20190405.orig/source/components/utilities/utownerid.c
+++ acpica-unix-20190405/source/components/utilities/utownerid.c
@@ -237,7 +237,7 @@ AcpiUtReleaseOwnerId (
else
{
ACPI_ERROR ((AE_INFO,
- "Release of non-allocated OwnerId: 0x%2.2X", OwnerId + 1));
+ "Release of non-allocated OwnerId: 0x%2.2X", (UINT32) OwnerId + 1));
}
(void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);

37
mips-be-fix.patch Normal file
View file

@ -0,0 +1,37 @@
Index: acpica-unix-20190329/source/compiler/aslparseop.c
===================================================================
--- acpica-unix-20190329.orig/source/compiler/aslparseop.c
+++ acpica-unix-20190329/source/compiler/aslparseop.c
@@ -283,7 +283,16 @@ TrCreateValuedLeafOp (
Op = TrAllocateOp (ParseOpcode);
- Op->Asl.Value.Integer = Value;
+ if (ParseOpcode == PARSEOP_NAMESTRING ||
+ ParseOpcode == PARSEOP_NAMESEG ||
+ ParseOpcode == PARSEOP_STRING_LITERAL)
+ {
+ Op->Asl.Value.String = (char *) Value;
+ }
+ else
+ {
+ Op->Asl.Value.Integer = Value;
+ }
DbgPrint (ASL_PARSE_OUTPUT,
"\nCreateValuedLeafOp Ln/Col %u/%u NewOp %p "
Index: acpica-unix-20190329/source/include/platform/aclinux.h
===================================================================
--- acpica-unix-20190329.orig/source/include/platform/aclinux.h
+++ acpica-unix-20190329/source/include/platform/aclinux.h
@@ -232,10 +232,8 @@
#endif
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
-#endif
#endif /* __KERNEL__ */

16
ppc64le.patch Normal file
View file

@ -0,0 +1,16 @@
Index: acpica-unix-20190329/source/include/platform/aclinux.h
===================================================================
--- acpica-unix-20190329.orig/source/include/platform/aclinux.h
+++ acpica-unix-20190329/source/include/platform/aclinux.h
@@ -233,9 +233,11 @@
#define __cdecl
#endif
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
+#endif
#endif /* __KERNEL__ */

48
ptr-cast.patch Normal file
View file

@ -0,0 +1,48 @@
diff -Naur acpica-unix2-20180209.orig/source/components/tables/tbutils.c acpica-unix2-20180209/source/components/tables/tbutils.c
--- acpica-unix2-20180209.orig/source/components/tables/tbutils.c 2018-03-15 16:47:21.831526264 -0600
+++ acpica-unix2-20180209/source/components/tables/tbutils.c 2018-03-15 16:58:20.030097284 -0600
@@ -238,9 +238,11 @@
* 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
* return 64-bit
*/
- Address64 = (UINT64) TableEntry;
#if ACPI_MACHINE_WIDTH == 32
+ UINT32 Tmp32 = (UINT32) TableEntry;
+
+ Address64 = (UINT64) Tmp32;
if (Address64 > ACPI_UINT32_MAX)
{
/* Will truncate 64-bit address to 32 bits, issue warning */
@@ -250,9 +252,15 @@
" truncating",
ACPI_FORMAT_UINT64 (Address64)));
}
-#endif
+
+ return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
+ UINT32, TableEntry)));
+#else
+ Address64 = (UINT64) TableEntry;
+
return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
UINT64, Address64)));
+#endif
}
}
diff -Naur acpica-unix2-20180209.orig/source/compiler/aslparseop.c acpica-unix2-20180209/source/compiler/aslparseop.c
--- acpica-unix2-20180209.orig/source/compiler/aslparseop.c 2018-03-15 17:20:09.844338074 -0600
+++ acpica-unix2-20180209/source/compiler/aslparseop.c 2018-03-15 17:28:19.570800797 -0600
@@ -287,7 +287,11 @@
ParseOpcode == PARSEOP_NAMESEG ||
ParseOpcode == PARSEOP_STRING_LITERAL)
{
+#if ACPI_MACHINE_WIDTH == 32
+ Op->Asl.Value.String = (char *) (UINT32) Value;
+#else
Op->Asl.Value.String = (char *) Value;
+#endif
}
else
{

View file

@ -39,10 +39,9 @@ $BINDIR/iasl -f -of grammar.asl 2>&1 | tee grammar.asl.actual
diff grammar.asl.actual grammar.asl.expected >/dev/null 2>&1
[ $? -eq 0 ] || exit 1
# see if converterSample.asl failed as expected
# NB: the -f option is required so we can see all of the errors
$BINDIR/iasl -f -of converterSample.asl 2>&1 | tee converterSample.asl.actual
# see if converterSample.asl succeeded as expected
$BINDIR/iasl converterSample.asl 2>&1 | tee converterSample.asl.actual
diff converterSample.asl.actual converterSample.asl.expected >/dev/null 2>&1
[ $? -eq 0 ] || exit 1
[ $? -ne 0 ] && exit 1
exit 0

20
simple-64bit.patch Normal file
View file

@ -0,0 +1,20 @@
Description: Stop listing all 64bit architectures
Check __LP64__ instead of maintaining a list of all
64bit architectures.
Author: Adrian Bunk <bunk@debian.org>
Index: acpica-unix-20190329/source/include/platform/aclinux.h
===================================================================
--- acpica-unix-20190329.orig/source/include/platform/aclinux.h
+++ acpica-unix-20190329/source/include/platform/aclinux.h
@@ -215,9 +215,7 @@
#define ACPI_FLUSH_CPU_CACHE()
#define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
-#if defined(__ia64__) || (defined(__x86_64__) && !defined(__ILP32__)) ||\
- defined(__aarch64__) || defined(__PPC64__) ||\
- defined(__s390x__)
+#if defined(__LP64__)
#define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long
#define COMPILER_DEPENDENT_UINT64 unsigned long

View file

@ -1,2 +1,2 @@
SHA512 (acpica-unix2-20251212.tar.gz) = ecae5ab55d04bc1fd7def717c8c2a2dd64e8708577b900dc54e0fd613c5e3e6ee25037e37abe3aa818debd75114347c272d9931f55d340ff096d2f5f6f1d185b
SHA512 (acpitests-unix-20251212.tar.gz) = f8541f1abfd426834b8c7f17dc0eca8525de9a2e8f3a2b77311503845f26f478e66b8e3ce18e09aae5411683f57c68cbaa8c1baec6e6f567a0f768a6b4cc5715
SHA512 (acpica-unix2-20190509.tar.gz) = 0c3433dc5afd4bb43272c22468515af4914e6c90fcc649dbd62915f911a2e5e553a40f334882c1411d3f0157e06e3879bf4a79b898cdb9cdb4f34430458a2f18
SHA512 (acpitests-unix-20190509.tar.gz) = 278d1c65c9a9ea77fb99bcc58347cf2a160d2dfeb0c27560688fcb2c3d7bd3613b2470c9ab4939e2c59bee8929fd639fa2c8d78660ad96658c010b6c73bd3fcf

View file

@ -1,8 +1,8 @@
Index: acpica-unix2-20240321/source/compiler/aslanalyze.c
Index: acpica-unix2-20181003/source/compiler/aslanalyze.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslanalyze.c
+++ acpica-unix2-20240321/source/compiler/aslanalyze.c
@@ -358,11 +358,16 @@ AnCheckMethodReturnValue (
--- acpica-unix2-20181003.orig/source/compiler/aslanalyze.c
+++ acpica-unix2-20181003/source/compiler/aslanalyze.c
@@ -355,11 +355,16 @@ AnCheckMethodReturnValue (
*/
if (ThisNodeBtype != 0)
{
@ -14,17 +14,17 @@ Index: acpica-unix2-20240321/source/compiler/aslanalyze.c
"Method returns [%s], %s operator requires [%s]",
AslGbl_StringBuffer, OpInfo->Name, AslGbl_StringBuffer2);
- AslError (ASL_WARNING, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
+ AslError (ASL_WARNING, ASL_MSG_INVALID_TYPE, ArgOp, strp);
- AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
+ AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, strp);
+ if (cnt > 0)
+ free(strp);
}
}
Index: acpica-unix2-20240321/source/compiler/aslpredef.c
}
Index: acpica-unix2-20181003/source/compiler/aslpredef.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslpredef.c
+++ acpica-unix2-20240321/source/compiler/aslpredef.c
--- acpica-unix2-20181003.orig/source/compiler/aslpredef.c
+++ acpica-unix2-20181003/source/compiler/aslpredef.c
@@ -159,14 +159,19 @@ ApCheckForPredefinedMethod (
if (MethodInfo->NumReturnNoValue &&
ThisName->Info.ExpectedBtypes)
@ -84,11 +84,11 @@ Index: acpica-unix2-20240321/source/compiler/aslpredef.c
return (AE_TYPE);
}
Index: acpica-unix2-20240321/source/compiler/aslwalks.c
Index: acpica-unix2-20181003/source/compiler/aslwalks.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslwalks.c
+++ acpica-unix2-20240321/source/compiler/aslwalks.c
@@ -515,15 +515,19 @@ AnOperandTypecheckWalkEnd (
--- acpica-unix2-20181003.orig/source/compiler/aslwalks.c
+++ acpica-unix2-20181003/source/compiler/aslwalks.c
@@ -507,15 +507,19 @@ AnOperandTypecheckWalkEnd (
else if (!CommonBtypes)
{
/* No match -- this is a type mismatch error */

View file

@ -7,16 +7,16 @@ From: Al Stone <ahs3@redhat.com>
tests/templates/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: acpica-unix2-20240321/tests/templates/Makefile
Index: acpica-unix2-20161222/tests/templates/Makefile
===================================================================
--- acpica-unix2-20240321.orig/tests/templates/Makefile
+++ acpica-unix2-20240321/tests/templates/Makefile
@@ -26,7 +26,7 @@ $(aml_obj): %.aml: %.asl
--- acpica-unix2-20161222.orig/tests/templates/Makefile
+++ acpica-unix2-20161222/tests/templates/Makefile
@@ -2,7 +2,7 @@
PROG= templates
templates :
- sh templates.sh
+ sh templates.sh 1
.PHONY: clean
clean:
clean :
rm -f *.asl *.aml *.dsl *.hex diff.log

View file

@ -14,10 +14,10 @@ Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
source/include/actypes.h | 26 +++++++++++++-------------
3 files changed, 32 insertions(+), 21 deletions(-)
Index: acpica-unix2-20240321/source/components/executer/exoparg2.c
Index: acpica-unix2-20170728/source/components/executer/exoparg2.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/executer/exoparg2.c
+++ acpica-unix2-20240321/source/components/executer/exoparg2.c
--- acpica-unix2-20170728.orig/source/components/executer/exoparg2.c
+++ acpica-unix2-20170728/source/components/executer/exoparg2.c
@@ -172,6 +172,8 @@ AcpiExOpcode_2A_2T_1R (
ACPI_OPERAND_OBJECT **Operand = &WalkState->Operands[0];
ACPI_OPERAND_OBJECT *ReturnDesc1 = NULL;
@ -58,10 +58,10 @@ Index: acpica-unix2-20240321/source/components/executer/exoparg2.c
break;
case AML_CONCATENATE_OP: /* Concatenate (Data1, Data2, Result) */
Index: acpica-unix2-20240321/source/include/actypes.h
Index: acpica-unix2-20170728/source/include/actypes.h
===================================================================
--- acpica-unix2-20240321.orig/source/include/actypes.h
+++ acpica-unix2-20240321/source/include/actypes.h
--- acpica-unix2-20170728.orig/source/include/actypes.h
+++ acpica-unix2-20170728/source/include/actypes.h
@@ -143,6 +143,19 @@ typedef COMPILER_DEPENDENT_INT64
*/
#define ACPI_THREAD_ID UINT64
@ -75,7 +75,7 @@ Index: acpica-unix2-20240321/source/include/actypes.h
+ * Note: EM64T and other X86-64 processors support misaligned transfers,
+ * so there is no need to define this flag.
+ */
+#if defined (__IA64__) || defined (__ia64__) || defined(__alpha__) || defined(__sparc__) || defined(__hppa__) || defined(__arm__)
+#if defined (__IA64__) || defined (__ia64__) || defined(__alpha__) || defined(__sparc__) || defined(__hppa__)
+#define ACPI_MISALIGNMENT_NOT_SUPPORTED
+#endif
+

View file

@ -1,13 +0,0 @@
Index: acpica-unix2-20240321/source/tools/acpiexec/aeregion.c
===================================================================
--- acpica-unix2-20240321.orig/source/tools/acpiexec/aeregion.c
+++ acpica-unix2-20240321/source/tools/acpiexec/aeregion.c
@@ -97,7 +97,7 @@ AeRegionHandler (
UINT32 Value1;
UINT32 Value2;
ACPI_RESOURCE *Resource;
- char Uuid[ACPI_PRM_INPUT_BUFFER_SIZE + 1];
+ char Uuid[UUID_STRING_LENGTH + 1];
ACPI_FUNCTION_NAME (AeRegionHandler);