Sync from SUSE:ALP:Source:Standard:1.0 acpica revision fda1e8a0cbd29eb9647903187963aa22

This commit is contained in:
Adrian Schröter 2023-06-07 07:45:11 +02:00
commit 30e8720f76
11 changed files with 1693 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
acpi_genl.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

201
acpi_validate Normal file
View File

@ -0,0 +1,201 @@
#!/bin/bash
#
# Copyright (c) 2012 SUSE Linux Products GmbH
# Thomas Renninger <trenn@suse.de>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
#
OUTPUT_DIR="$PWD"
VERBOSE=0
# Disable remarks and resource checks. The latter often/mostly generates
# false positive warnings. Can be overridden via -c option
COMPILE_OPTIONS="-sa -cr -vr -in"
DISASSEMBLE_OPTIONS="-in"
OUTPUT="/dev/null"
ACPIDUMP=""
MUST_BE_ROOT=1
function usage()
{
echo "acpi_validate [ -o output_dir ] [ -v ] [ -a acpidump ]"
echo " [ -c compile_options ] [ -d disassemble_options ]"
echo
echo "This tool extracts, disassembles and recompiles ACPI BIOS tables."
echo "The disassembled files will be copied into the local or specified"
echo "output directory (-o option)."
echo
echo "The underlying iasl compiler verifies and may complain about"
echo "correctness of some of the BIOS tables."
echo "These can give a pointer to possible malfunction of the system."
echo
echo "If you think you found a bug in the iasl compiler or related tools,"
echo "you can ask here for help: devel@acpica.org"
echo "You may also want to ask there if you are not sure whether it really"
echo "is a BIOS bug."
echo
echo "If you are sure you found a BIOS issue, complain to your hardware vendor."
echo "The iasl compiler typically provides a description of the warning/error in a way,"
echo "so that BIOS authors can easily fix it."
echo
echo "Options"
echo " -o output_dir: Copy tables to this directory instead of local one"
echo " -v: : be more verbose"
echo " -a acpidump : Use this acpidump file"
echo " instead of the tables from the local machine"
echo " -d options : Pass iasl disassemble options"
echo " -c options : Pass iasl compile options"
echo " will override -sa -cr -vr (default options)"
echo " -h : Show help"
exit 1
}
while getopts hva:o:c:d: name ; do
case $name in
o)
OUTPUT_DIR="$OPTARG"
if [ ! -d "$OUTPUT_DIR" ];then
mkdir "$OUTPUT_DIR"
if [[ $? != 0 ]];then
echo "Cannot create directory $OUTPUT_DIR"
exit 1
fi
elif [ ! -w "$OUTPUT_DIR" ];then
echo "Cannot write into directory $OUTPUT_DIR"
exit 1
fi
[[ $VERBOSE == 1 ]] && echo "Installing for architecture: $OUTPUT_DIR"
;;
a)
ACPIDUMP="$OPTARG"
if [ ! -r "$ACPIDUMP" ];then
echo "$ACPIDUMP does not exist"
exit 1
fi
[[ $VERBOSE == 1 ]] && echo "acpidump file: $ACPIDUMP"
MUST_BE_ROOT=0
;;
c)
COMPILE_OPTIONS="$OPTARG"
[[ $VERBOSE == 1 ]] && echo "Compile options: $COMPILE_OPTIONS"
;;
c)
DISASSEMBLE_OPTIONS="$OPTARG"
[[ $VERBOSE == 1 ]] && echo "Disassemble options: $DISASSEMBLE_OPTIONS"
;;
v)
VERBOSE=1
OUTPUT="1"
;;
?)
usage
;;
esac
done
shift $(($OPTIND -1))
if [[ $MUST_BE_ROOT == 1 ]] && [ "$(id -u)" != "0" ]; then
echo "This script must be run as root"
echo "(or use -a acpidump option and pass already dumped acpi tables)"
exit 1
fi
shopt -s nocasematch
TEMP_DIR=$(mktemp -d)
[[ $VERBOSE == 1 ]] && echo "Using temporary directory: $TEMP_DIR"
if [ -r "$ACPIDUMP" ];then
cp "$ACPIDUMP" "$TEMP_DIR"/acpidump
fi
pushd "$TEMP_DIR" >/dev/null
mkdir log
mkdir err
if [ ! -r acpidump ];then
acpidump >acpidump
fi
acpixtract -a acpidump >&$OUTPUT 2>&1
# ACPICA changed from uppercase to lowercase, try to find both:
SDTs=$(ls [SD]DST*.dat 2>/dev/null)
SDTs="${SDTs}$(ls [sd]sdt*.dat 2>/dev/null)"
for file in *.dat;do
table=${file/.dat/}
# Enable case insensitive pattern matching
case $file in
[DS]SDT*.dat | [sd]sdt*.dat)
# Use other [sd]sdt*.dat tables to reference possible
# external symbols. Pass the table itself for disassembling
# comma separted.
# For example you we have:
# dsdt.dat ssdt1 ssdt2.dat
# and the current table to disassemble is ssdt1.dat the
# command has to be:
# iasl -e dsdt.dat,ssdt2.dat -d ssdt1.dat
# Get rid of the table which gets disassembled
# could have leading or trailing whitespace depending whether
# it is at the end or the beginning of the list
REF_TABLE_LIST=${SDTs/[[:space:]]$file/}
REF_TABLE_LIST=${REF_TABLE_LIST/$file[[:space:]]/}
# Convert the whitespace list into a comma separated one:
REF_TABLE_LIST=${REF_TABLE_LIST//[[:space:]]/,}
if [ "$REF_TABLE_LIST" != "" ];then
FINAL_DISASSEMBLE_OPTIONS="-e ${REF_TABLE_LIST} $DISASSEMBLE_OPTIONS"
else
FINAL_DISASSEMBLE_OPTIONS="$DISASSEMBLE_OPTIONS"
fi
echo "stdout and stderr of $file disassembling:" >log/${table}.log
[[ $VERBOSE == 1 ]] && echo "iasl $FINAL_DISASSEMBLE_OPTIONS -d $file 1>>log/${table}.log 2>&1"
iasl $FINAL_DISASSEMBLE_OPTIONS -d $file 1>>log/${table}.log 2>&1
[[ $VERBOSE == 1 ]] && echo "iasl $COMPILE_OPTIONS ${table}.dsl 1>>log/${table}.log 2>>err/${table}.err"
iasl $COMPILE_OPTIONS ${table}.dsl 1>>log/${table}.log 2>>err/${table}.err
;;
*.dat)
iasl -d $file 1>log/${table}.log 2>&1
iasl -sa ${table}.dsl 1>log/${table}.log 2>err/${table}.err
;;
esac
done
# remove empty error files
rm $(find err -size 0)
ERR_TABLES=$(ls err)
ERR_TABLES=${ERR_TABLES//.err/}
popd >/dev/null
cp -r "$TEMP_DIR"/* "$OUTPUT_DIR"
if [[ $VERBOSE == 1 ]];then
echo "Temporary directory (undeleted): $TEMP_DIR"
else
rm -rf "$TEMP_DIR"
fi
if [ "$ERR_TABLES" = "" ];then
echo "No errors or warnings detected"
exit 0
else
echo "These tables have warnings or errors (details in "$OUTPUT_DIR"/err directory):"
for err in $ERR_TABLES;do
echo -n $err $'\t'
sed -n -e 's/Compilation complete. \(.* Errors, .* Warnings\).*/\1/p' "$OUTPUT_DIR"/log/$err.log
done
exit 1
fi

View File

@ -0,0 +1,46 @@
diff -ur acpica-unix-20200528.orig/source/compiler/aslcompile.c acpica-unix-20200528/source/compiler/aslcompile.c
--- acpica-unix-20200528.orig/source/compiler/aslcompile.c 2020-07-02 23:06:04.925335370 +0200
+++ acpica-unix-20200528/source/compiler/aslcompile.c 2020-07-02 23:16:10.095860566 +0200
@@ -648,8 +648,6 @@
AslCompilerFileHeader (
UINT32 FileId)
{
- char *NewTime;
- time_t Aclock;
char *Prefix = "";
@@ -692,18 +690,10 @@
/* Compilation header with timestamp */
- Aclock = time (NULL);
- NewTime = ctime (&Aclock);
-
FlPrintFile (FileId,
- "%sCompilation of \"%s\" -",
+ "%sCompilation of \"%s\"\n",
Prefix, AslGbl_Files[ASL_FILE_INPUT].Filename);
- if (NewTime)
- {
- FlPrintFile (FileId, " %s%s\n", NewTime, Prefix);
- }
-
switch (FileId)
{
case ASL_FILE_C_SOURCE_OUTPUT:
diff -ur acpica-unix-20200528.orig/source/compiler/aslutils.c acpica-unix-20200528/source/compiler/aslutils.c
--- acpica-unix-20200528.orig/source/compiler/aslutils.c 2020-07-02 23:06:04.929335334 +0200
+++ acpica-unix-20200528/source/compiler/aslutils.c 2020-07-02 23:18:46.898454693 +0200
@@ -595,8 +595,8 @@
{
/* Compiler name and version number */
- FlPrintFile (FileId, "%s version %X [%s]\n\n",
- ASL_COMPILER_NAME, (UINT32) ACPI_CA_VERSION, __DATE__);
+ FlPrintFile (FileId, "%s version %X\n\n",
+ ASL_COMPILER_NAME, (UINT32) ACPI_CA_VERSION);
}
/* Summary of main input and output files */

BIN
acpica-unix-20221020.tar_0.gz (Stored with Git LFS) Normal file

Binary file not shown.

880
acpica.changes Normal file
View File

@ -0,0 +1,880 @@
-------------------------------------------------------------------
Tue Dec 27 23:13:22 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 20221020:
* Added support for FFH (Fixed Function Hardware) Operation Region
special context data.
* Reverted commit "executer/exsystem: Warn about sleeps greater than 10 ms."
Due to user complaints about valid sleeps greater than 10ms seen
in some existing machines -- generating lots of warnings.
* Do not touch VGA memory when EBDA < 1KiB.
* Check that EBDA pointer is in valid memory.
* Completed the existing partial support for the CDAT "table".
* Updated support for the IORT table - update to version E.e
* Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table
* iASL: Added CCEL table to both compiler/disassembler.
* iASL: NHLT table: Fixed compilation of optional undocumented fields
* iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET.
-------------------------------------------------------------------
Fri Oct 14 13:32:53 UTC 2022 - Thomas Renninger <trenn@suse.de>
- This version includes CEDT table support as requested in feature
(SLE 15 SP5):
jsc#PED-201
-------------------------------------------------------------------
Thu Apr 21 21:02:11 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update bundled wmidump to latest upstream 2021-10-11:
* Add support for '//' comments
* Print object_id or notify_id based on ACPI_WMI_EVENT flag
object_id and notify_id member are in one union. It depends on
ACPI_WMI_EVENT flag which member is stored in this union.
So print only one member based on ACPI_WMI_EVENT flag.
- Add comment about origin of the wmidump sources
-------------------------------------------------------------------
Wed Apr 20 20:02:38 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 20220331:
For the ASL Sleep() operator, issue a warning if the sleep value is
greater than 10 Milliseconds. Quick boottime is important, so warn about
sleeps greater than 10 ms. Distribution Linux kernels reach initrd in 350
ms, so excessive delays should be called out. 10 ms is chosen randomly,
but three of such delays would already make up ten percent of the
boottime.
Namespace: Avoid attempting to walk the Namespace if the Namespace does
not exist.
AML interpreter/iASL compiler: Add new Acpi 6.4 semantics for the
LoadTable and Load operators. DDB_HANDLE is gone, now loadtable returns a
pass/fail integer. Now load returns a pass/fail integer, as well as
storing the return value in an optional 2nd argument.
Headers: Use uintptr_t and offsetof() in Linux kernel builds. To avoid
"performing pointer subtraction with a null pointer has undefined
behavior" compiler warnings, use uintptr_t and offsetof() that are always
available during Linux kernel builds to define ACPI_UINTPTR_T and the
ACPI_TO_INTEGER() and ACPI_OFFSET() macros when building the ACPICA code
in the Linux kernel.
Added support for the Windows 11 _OSI string ("Windows 2021"). Submitted
by superm1.
executer/exsystem: Inform users about ACPI spec violation for the Stall()
operator. Values greater than 100 microseconds violate the ACPI
specification, so warn users about it. From the ACPI Specification
version 6.2 Errata A, 19.6.128 *Stall (Stall for a Short Time)*:
The implementation of Stall is OS-specific, but must not relinquish
control of the processor. Because of this, delays longer than 100
microseconds must use Sleep instead of Stall.
Data Table Compiler/Disassembler: Add support for the APMT table - ARM
Performance Monitoring Unit table. Submitted by @bwicaksononv.
Data Table Compiler/Disassembler: For MADT, add support for the OEM-
defined subtables (Types 0x80-0x7F).
Data Table Compiler: Fixed a problem with support for the SDEV table,
where a subtable Length was not computed correctly.
Data Table Compiler/Disassembler: Add/fix the CFMWS subtable to the CEDT
Acpi table support.
Data Table Compiler/Disassembler: Fix a compile issue with the CEDT and
add template. Submitted by MasterDrogo.
Data Table Compiler/Disassembler: NHLT Changes provided by Piotr Maziarz:
iASL/NHLT: Rename linux specific structures to DeviceInfo to improve
readability of the code.
iASL/NHLT: Fix parsing undocumented bytes at the end of Endpoint.
Undocumented bytes at the end of Endpoint Descriptor can be present
independently of Linux-specific structures. Their size can also vary.
iASL/NHLT: Treat TableTerminator as SpecificConfig. SpecificConfig has 4
bytes of size and then an amount of bytes specified by size. All of the
terminators that I've seen had a size equal to 4, but theoretically it
can vary.
iASL/AcpiExec: Use _exit instead of exit in signal handers (ctrl-C).
iASL: Remove a remark due to excessive output. Removed a remark for
duplicate Offset() operators, due to a user complaint.
-------------------------------------------------------------------
Sat Feb 5 14:39:59 UTC 2022 - Dario Faggioli <dfaggioli@suse.com>
- The package build fine on arches different than x86 and ARM. Drop
the ExclusiveArch.
-------------------------------------------------------------------
Tue Oct 19 14:34:07 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 20210930
* ACPICA kernel-resident subsystem:
* Avoid evaluating methods too early during system resume.
* Added a new _OSI string, "Windows 2020".
* iASL Compiler/Disassembler and ACPICA tools:
* iASL compiler: Updated the check for usage of _CRS, _DIS,
_PRS, and _SRSobjects
* iASL table disassembler: Added disassembly support for the
NHLT ACPI table.
* Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity
* Added the flag for online capable in the MADT, introduced in
ACPI 6.3.
- Update to version 20210730:
* iASL Compiler/Disassembler and ACPICA tools:
* iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects
* iASL Table Disassembler/Table compiler: Fix for WPBT table with
no command-line arguments.
* Handle the case where the Command-line Arguments table field does
not exist (zero).
* Headers: Add new DBG2 Serial Port Subtypes
* iASL: Add full support for the AEST table (data compiler)
* Add PRMT module header to facilitate parsing.
* Table disassembler: Add missing strings to decode subtable types.
-------------------------------------------------------------------
Wed Jun 30 11:26:33 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 20210604:
* ACPICA kernel-resident subsystem
* Cleaned up (delete) the context mutex during local address
handler object deletion.
* Fixed a memory leak caused by the _CID repair function.
* Add support for PlatformRtMechanism OperationRegion handler.
* Add a new utility function, AcpiUtConvertUuidToString.
* iASL Compiler/Disassembler and ACPICA tools:
* Added full support for the PRMT ACPI table
* Added full support for the BDAT ACPI table.
* Added full support for the RGRT ACPI table.
* Added full support for the SVKL ACPI table.
* Completed full support for the IVRS ACPI table.
* Added compiler support for IVRS, updated disassembler support
* Added a new utility, UtIsIdInteger, to determine if a
HID/CID is an integer or a string.
* Headers: Added more structs to the CEDT table
* ACPI 6.4: MADT: added Multiprocessor Wakeup Mailbox Structure.
-------------------------------------------------------------------
Fri Apr 16 15:01:48 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 20210331
* ACPI 6.4 is now supported!
ACPICA kernel-resident subsystem:
* Always create namespace nodes.
* Fixed a race condition in generic serial bus operation region handler.
iASL Compiler/Disassembler and ACPICA tools:
* Add disassembly support for the IVRS table.
* Fixed a potential infinite loop due to type mismatch.
iASL/TableCompiler:
* update it with IORT table E.b revision changes.
* Add compilation support for the VIOT table.
* Add compilation support for CEDT table.
* Update of the CEDT template.
-------------------------------------------------------------------
Tue Jan 5 20:40:38 UTC 2021 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20210105
ACPICA kernel-resident subsystem:
* Updated all copyrights to 2021. This affects all ACPICA source code
modules.
iASL Compiler/Disassembler and ACPICA tools:
* ASL test suite (ASLTS): Updated all copyrights to 2021.
* Tools and utilities: Updated all signon copyrights to 2021.
* iASL Table Compiler: Removed support for obsolete ACPI tables: VRTC,
MTMR. Al Stone.
-------------------------------------------------------------------
Fri Jul 24 21:25:52 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20200717
ACPICA kernel-resident subsystem:
* Do not increment OperationRegion reference counts for field units. Recent
server firmware has revealed that this reference count can overflow on
large servers that declare many field units (thousands) under the same
OperationRegion. This occurs because each field unit declaration will add
a reference count to the source OperationRegion. This release solves the
reference count overflow for OperationRegion objects by preventing
fieldUnits from incrementing their parent OperationRegion's reference
count.
* Replaced one-element arrays with flexible-arrays, which were introduced
in C99.
* Restored the readme file containing the directions for generation of
ACPICA from source on MSVC 2017. Updated the file for MSVC 2017. File is
located at: generate/msvc2017/readme.txt
iASL Compiler/Disassembler and ACPICA tools:
* iASL: Fixed a regression found in version 20200214. Prevent iASL from
emitting an extra byte of garbage data when control methods declared a
single parameter type without using braces. This extra byte is known to
cause a blue screen on the Windows AML interpreter.
* iASL: Made a change to allow external declarations to specify the type of
a named object even when some name segments are not defined. This change
allows the following ASL code to compile
(When DEV0 is not defined or not defined yet):
External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)
* iASL: Fixed a problem where method names in "Alias ()" statement could be
misinterpreted. They are now interpreted correctly as method invocations.
* iASL: capture a method parameter count (Within the Method info segment,
as well as the argument node) when using parameter type lists.
-------------------------------------------------------------------
Thu Jul 2 21:45:10 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20200528
ACPICA kernel-resident subsystem:
Removed old/obsolete Visual Studio files which were used to build the
Windows versions of the ACPICA tools. Since we have moved to Visual
Studio 2017, we are no longer supporting Visual Studio 2006 and 2009
project files. The new subdirectory and solution file are located at:
acpica/generate/msvc2017/AcpiComponents.sln
iASL Compiler/Disassembler and ACPICA tools:
* iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released for
early prototyping. It will appear in the next release of the ACPI
specification.
* iASL: do not optimize the NameString parameter of the CondRefOf operator.
In the previous iASL compiler release, the NameString parameter of the
CondRefOf was optimized. There is evidence that some implementations of
the AML interpreter do not perform the recursive search-to-parent search
during the execution of the CondRefOf operator. Therefore, the CondRefOf
operator behaves differently when the NameString parameter is a single
name segment (a NameSeg) as opposed to a full NamePath (starting at the
root scope) or a NameString containing parent prefixes.
* iASL: Prevent an inadvertent remark message. This change prevents a
remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region.
This happens because at the top level, the Field operator does not
actually create a new named object, it simply references the operation
region.
* Removed support for the acpinames utility. The acpinames was a simple
utility used to populate and display the ACPI namespace without executing
any AML code. However, ACPICA now supports executable opcodes outside of
control methods. This means that executable AML opcodes such as If and
Store opcodes need to be executed during table load. Therefore, acpinames
would need to be updated to match the same behavior as the acpiexec
utility and since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain acpinames.
* In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:
acpiexec -b "n" [aml files]
- Refresh parches
-------------------------------------------------------------------
Mon Apr 27 19:33:25 UTC 2020 - Martin Liška <mliska@suse.cz>
- Enable -fcommon in CFLAGS and CXXFLAGS in order
to fix boo#1160383.
-------------------------------------------------------------------
Thu Feb 6 08:19:10 UTC 2020 - trenn@suse.de
- Add -fcommon as there are a lot re-definitions which lead to errors
and compile failures with gcc10 which enables -fno-common by default
bsc#1160383 - acpica fails with -fno-common
-------------------------------------------------------------------
Mon Jan 20 09:28:08 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 20200110
-------------------------------------------------------------------
Tue May 28 05:36:02 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use noun phrase in summary
-------------------------------------------------------------------
Wed May 22 09:29:13 UTC 2019 - trenn@suse.de
- Update to version 20190509
Includes a fix that breaks VirtualBox
https://github.com/acpica/acpica/issues/462
-------------------------------------------------------------------
Mon Apr 8 14:28:59 UTC 2019 - trenn@suse.de
- Update to version 20190405
iASL: Implemented an enhanced multiple file compilation that combines
named objects from all input files to a single namespace. With this
feature, any unresolved external declarations as well as duplicate named
object declarations can be detected during compilation rather than
generating errors much later at runtime. The following commands are
examples that utilize this feature:
iasl dsdt.asl ssdt.asl
iasl dsdt.asl ssdt1.asl ssdt2.asl
iasl dsdt.asl ssdt*.asl
- Adjusted patch:
M acpica-no-compiletime.patch
-------------------------------------------------------------------
Wed Mar 13 19:56:38 UTC 2019 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20190215
Support for ACPI specification version 6.3:
* Add PCC operation region support for the AML interpreter. This adds PCC
operation region support in the AML interpreter and a default handler for
acpiexec. The change also renames the PCC region address space keyword to
PlatformCommChannel.
* Support for new predefined methods _NBS, _NCH, _NIC, _NIH, and _NIG.
These methods provide OSPM with health information and device boot
status.
* PDTT: Add TriggerOrder to the PCC Identifier structure. The field value
defines if the trigger needs to be invoked by OSPM before or at the end
of kernel crash dump processing/handling operation.
* SRAT: Add Generic Affinity Structure subtable. This subtable in the SRAT
is used for describing devices such as heterogeneous processors,
accelerators, GPUs, and IO devices with integrated compute or DMA
engines.
* MADT: Add support for statistical profiling in GICC. Statistical
profiling extension (SPE) is an architecture-specific feature for ARM.
* MADT: Add online capable flag. If this bit is set, system hardware
supports enabling this processor during OS runtime.
* New Error Disconnect Recover Notification value. There are a number of
scenarios where system Firmware in collaboration with hardware may
disconnect one or more devices from the rest of the system for purposes
of error containment. Firmware can use this new notification value to
alert OSPM of such a removal.
* PPTT: New additional fields in Processor Structure Flags. These flags
provide more information about processor topology.
* NFIT/Disassembler: Change a field name from "Address Range" to "Region
Type".
* HMAT updates: make several existing fields to be reserved as well as
rename subtable 0 to "memory proximity domain attributes".
* GTDT: Add support for new GTDT Revision 3. This revision adds information
for the EL2 timer.
* iASL: Update the HMAT example template for new fields.
* iASL: Add support for the new revision of the GTDT (Rev 3).
ACPICA kernel-resident subsystem:
* AML Parser: fix the main AML parse loop to correctly skip erroneous
extended opcodes. AML opcodes come in two lengths: 1-byte opcodes and 2-
byte extended opcodes. If an error occurs during an AML table load, the
AML parser will continue loading the table by skipping the offending
opcode. This implements a "load table at any cost" philosophy.
iASL Compiler/Disassembler and Tools:
* iASL: Add checks for illegal object references, such as a reference
outside of method to an object within a method. Such an object is only
temporary.
* iASL: Emit error for creation of a zero-length operation region. Such a
region is rather pointless. If encountered, a runtime error is also
implemented in the interpeter.
* Debugger: Fix a possible fault with the "test objects" command.
* iASL: Makefile: support parent directory filenames containing embedded
spaces.
* iASL: Update the TPM2 template to revision 4.
* iASL: Add the ability to report specific warnings or remarks as errors.
* Disassembler: Disassemble OEMx tables as actual AML byte code.
Previously, these tables were treated as "unknown table".
* iASL: Add definition and disassembly for TPM2 revision 3.
* iASL: Add support for TPM2 rev 3 compilation.
- Refresh patches
- Run spec-cleaner
-------------------------------------------------------------------
Mon Jul 2 13:51:16 UTC 2018 - trenn@suse.de
- Update to 20180629
Added changelog from mainline, installed into documentation path
-------------------------------------------------------------------
Sat May 26 09:31:58 UTC 2018 - aloisio@gmx.com
- Update to version 20180508
ACPICA kernel-resident subsystem:
* Completed the new (recently deployed) package resolution
mechanism for the Load and LoadTable ASL/AML operators. This
fixes a regression that was introduced in version 20180209
that could result in an AE_AML_INTERNAL exception during the
loading of a dynamic ACPI/AML table (SSDT) that contains
package objects.
iASL Compiler/Disassembler and Tools:
* AcpiDump and AcpiXtract: Implemented support for ACPI tables
larger than 1 MB. This change allows for table offsets within
the acpidump file to be up to 8 characters. These changes are
backwards compatible with existing acpidump files.
version 20180427
ACPICA kernel-resident subsystem:
* Debugger: Added support for Package objects in the "Test
Objects" command. This command walks the entire namespace and
evaluates all named data objects (Integers, Strings, Buffers,
and now Packages).
* Improved error messages for the namespace root node.
Originally, the root was referred to by the confusing string
"\___". This has been replaced by "Namespace Root" for
clarification.
* Fixed a potential infinite loop in the AcpiRsDumpByteList
function. Colin Ian King <colin.king@canonical.com>.
iASL Compiler/Disassembler and Tools:
* iASL: Implemented support to detect and flag illegal forward
references. For compatibility with other ACPI implementations,
these references are now illegal at the root level of the DSDT
or SSDTs. Forward references have always been illegal within
control methods. This change should not affect existing
ASL/AML code because of the fact that these references
have always been illegal in the other ACPI implementation.
* iASL: Added error messages for the case where a table OEM ID
and OEM TABLE ID strings are longer than the ACPI-defined length.
Previously, these strings were simply silently truncated.
* iASL: Enhanced the -tc option (which creates an AML hex file
in C, suitable for import into a firmware project):
1) Create a unique name for the table, to simplify use of
multiple SSDTs.
2) Add a protection #ifdef in the file, similar to a .h
header file. With assistance from Sami Mujawar,
sami.mujawar@arm.com and Evan Lloyd, evan.lloyd@arm.com
* AcpiExec: Added a new option, -df, to disable the local
fault handler. This is useful during debugging, where it may
be desired to drop into a debugger on a fault.
-------------------------------------------------------------------
Wed Apr 18 13:56:47 UTC 2018 - josef.moellers@suse.com
- Upgrade to latest version 20180313
- Update patches:
* acpica-no-compiletime.patch
* do_not_use_build_date_and_time.patch
-------------------------------------------------------------------
Fri Jan 12 17:46:18 UTC 2018 - trenn@suse.de
- Update to latest version 20180105
D revert_62ca7996_build_date_and_time.patch
D revert_cdd3c612d4230bbb_build_date_and_time.patch
A do_not_use_build_date_and_time.patch
- pass --jobs from build service to make for much faster building
-------------------------------------------------------------------
Fri Jan 12 10:06:04 UTC 2018 - josef.moellers@suse.com
- Changed shebang path in wmidump_add_she_bang.patch
to /usr/bin/python3
[bsc#1075687,wmidump_add_she_bang.patch]
-------------------------------------------------------------------
Thu Dec 7 10:57:17 UTC 2017 - dimstar@opensuse.org
- Escape the usage of %{VERSION} when calling out to rpm.
-------------------------------------------------------------------
Tue Jun 13 11:56:36 UTC 2017 - trenn@suse.de
- Update to version 20170531.
-------------------------------------------------------------------
Wed Jan 25 15:35:03 UTC 2017 - trenn@suse.de
- Update to version 20170119 (fate#322313).
-------------------------------------------------------------------
Thu Jan 5 16:51:25 UTC 2017 - trenn@suse.de
- Update to version 20161117 (fate#322313).
- __DATE__ __TIME__ macros added again mainline, revert them to avoid
constant build service rebuilding
*Add revert_62ca7996_build_date_and_time.patch
*Add revert_cdd3c612d4230bbb_build_date_and_time.patch
-------------------------------------------------------------------
Fri Sep 16 16:06:19 UTC 2016 - dmueller@suse.com
- enable build for ARM (needed for ovmf nowadays)
-------------------------------------------------------------------
Mon Apr 25 13:29:06 UTC 2016 - trenn@suse.de
- Update to version 20160422
-------------------------------------------------------------------
Sun Dec 6 15:47:00 UTC 2015 - p.drouand@gmail.com
- Update to version 20151124
* Fixed a possible regression for a previous update to FADT handling. The
FADT no longer has a fixed table ID, causing some issues with code that
was hardwired to a specific ID. Lv Zheng.
* Fixed a problem where the method auto-serialization could interfere with
the current SyncLevel. This change makes the auto-serialization support
transparent to the SyncLevel support and management.
* Removed support for the _SUB predefined name in AcpiGetObjectInfo. This
interface is intended for early access to the namespace during the
initial namespace device discovery walk. The _SUB method has been seen to
access operation regions in some cases, causing errors because the
operation regions are not fully initialized.
* AML Debugger: Fixed some issues with the terminate/quit/exit commands
that can cause faults.
* AML Debugger: Add thread ID support so that single-step mode only applies
* to the AML Debugger thread. This prevents runtime errors within some
kernels.
* Eliminated extraneous warnings from AcpiGetSleepTypeData. Since the _Sx
methods that are invoked by this interface are optional, removed warnings
emitted for the case where one or more of these methods do not exist.
ACPICA BZ 1208.
* Made a major pass through the entire ACPICA source code base to
standardize formatting that has diverged a bit over time. There are no
functional changes, but this will of course cause quite a few code
differences from the previous ACPICA release.
* Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.
* iASL/acpiexec/acpixtract/disassembler: Added support to allow multiple
definition blocks within a single ASL file and the resulting AML file.
Support for this type of file was also added to the various tools that
use binary AML files: acpiexec, acpixtract, and the AML disassembler. The
example code below shows two definition blocks within the same file:
DefinitionBlock ("dsdt.aml", "DSDT", 2, "Intel", "Template",
0x12345678)
{
}
DefinitionBlock ("", "SSDT", 2, "Intel", "Template", 0xABCDEF01)
{
}
* iASL: Enhanced typechecking for the Name() operator. All expressions for
the value of the named object must be reduced/folded to a single constant
at compile time, as per the ACPI specification (the AML definition of
Name()).
* iASL: Fixed some code indentation issues for the -ic and -ia options (C
and assembly headers). Now all emitted code correctly begins in column 1.
* iASL: Added an error message for an attempt to open a Scope() on an
object defined in an SSDT. The DSDT is always loaded into the namespace
first, so any attempt to open a Scope on an SSDT object will fail at
runtime.
- Remove acpica_remove_date_macro.patch; fixed on upstream release
-------------------------------------------------------------------
Wed Nov 4 16:49:28 UTC 2015 - jslaby@suse.com
- add support for kernel 4.3+ (boo#953599)
-------------------------------------------------------------------
Sun Aug 16 13:11:48 UTC 2015 - p.drouand@gmail.com
- Update to version 20150717
- Use download Url as source
- Remove depreciated AUTHORS section
-------------------------------------------------------------------
Tue Jun 30 10:00:37 UTC 2015 - dimstar@opensuse.org
- Fix the logic to ignore errors when applying
acpica_remove_date_macro.patch: Kernel 4.1 has the patch, but we
do want to keep it around for projects building against older
kernels.
-------------------------------------------------------------------
Fri Apr 24 08:58:34 UTC 2015 - trenn@suse.de
- Update to acpica version 20150410
- Do not generate acpitools tarball from external kernel repo, but
use kernel-source package inside the build service.
*Added acpica_remove_date_macro.patch
-> This patch got mainline in kernel version 4.0 and can be removed
again at some point of time.
-------------------------------------------------------------------
Mon Feb 2 23:43:34 UTC 2015 - schwab@suse.de
- Enable on aarch64
-------------------------------------------------------------------
Wed Jul 30 16:58:47 UTC 2014 - trenn@suse.de
- Update to version 20140724
-------------------------------------------------------------------
Fri Mar 28 20:46:25 CET 2014 - lchiquitto@suse.de
- Include generate_acpi-tools_tarball.sh in the package's source.
-------------------------------------------------------------------
Wed Mar 12 13:27:13 UTC 2014 - trenn@suse.de
- Add acpi-tools tarball from kernel sources: tools/power/acpi
Use latest acpidump from there instead of acpica included one.
This fixes acpidump on latest kernels.
- Add script for easier retrieving of acpi-tools tarball from kernel sources.
-------------------------------------------------------------------
Tue Mar 11 13:42:30 UTC 2014 - trenn@suse.de
- Update to version 20140214
- Replace $RPM_OPT_FLAGS with %{optflags} as suggested by tcech@suse.cz
-------------------------------------------------------------------
Fri Mar 7 15:31:16 CET 2014 - ro@suse.de
- set HOST for make to not blindly set the hostname
as compiler definition
-------------------------------------------------------------------
Wed Jan 15 09:47:26 UTC 2014 - trenn@suse.de
- Update to version 20140114
Drop acpica-add_missing_examples_makefile.patch
-> already included mainlaine.
-------------------------------------------------------------------
Thu Dec 19 08:27:31 UTC 2013 - trenn@suse.de
- Update to version 20131218
Add acpica-add_missing_examples_makefile.patch: They forgot to add a file
to the tarball. This patch adds it from git repo.
Drop acpica-fix_dots_in_path_for_p_option.patch: This patch is included
in the newly provided version tarball already.
-------------------------------------------------------------------
Fri Dec 13 11:12:18 UTC 2013 - trenn@suse.de
- Update to version 20131115
- Explicitly add commit 04d10e3c1f41a776cbed96dce2326ee649b9a0f0 to fix
bnc#855050:
acpica-fix_dots_in_path_for_p_option.patch
-------------------------------------------------------------------
Fri Aug 23 19:06:36 UTC 2013 - trenn@suse.de
- Update to version 20130823
- remove already integrated patch:
dmar-buf10.patch
-------------------------------------------------------------------
Tue Jul 9 19:29:34 UTC 2013 - trenn@suse.de
- Fix Source3 vs Source4 typo (acpi_validate was broken)
-------------------------------------------------------------------
Fri May 24 13:27:25 UTC 2013 - trenn@suse.de
- Update to version 20130517
- remove acpidump tarball, it is now included in acpica main project
-------------------------------------------------------------------
Fri May 17 10:11:01 UTC 2013 - trenn@suse.de
- Update to version 20130418
- remove already integreated patches:
acpica_make_CFLAGS_overridable
bob_noop.patch
- Add fix for DMAR table parsing issue:
https://bugs.acpica.org/show_bug.cgi?id=999
-------------------------------------------------------------------
Mon Jan 28 13:20:36 UTC 2013 - trenn@suse.de
- Add wmidump/wmixtract tools for easy WMI (or other) GUID parsing
-------------------------------------------------------------------
Wed Jan 23 16:12:38 UTC 2013 - trenn@suse.de
- Fix tiny bug in acpi_validate which wrongly adds the file which
is to be compiled additionally to the external reference tables
list
-------------------------------------------------------------------
Wed Jan 23 11:07:28 UTC 2013 - trenn@suse.de
- Make use of -in (Ignore NoOp opcodes/operators)
to avoid false positive errors during compliation/disassembling
-------------------------------------------------------------------
Tue Jan 15 12:55:46 UTC 2013 - trenn@suse.de
- Update to version 20121018
-> remove some patches that got integrated
-> Add one patch (bob_noop.patch) which will get integrated
mainline: Stop and bail out when max error (200) count is reached.
Introduce -in compile/disassemble option.
-------------------------------------------------------------------
Wed Jan 9 01:05:33 UTC 2013 - trenn@suse.de
- Add acpi_validate script for easy disassembling and re-compilation
of local ACPI tables or of an already existing acpidump file
-------------------------------------------------------------------
Wed Nov 7 10:27:54 UTC 2012 - trenn@suse.de
- Update to latest version 20121018.
-> one patch got accepted mainline -> removed.
-------------------------------------------------------------------
Wed Sep 19 10:56:44 UTC 2012 - trenn@suse.de
- Update to latest version 20120913
- Add acpi_genl from http://www.lesswatts.org/projects/acpi/utilities.php
Can be used to check for ACPI events via netlink (since /proc/acpi/events is
is deprecated)
- Adjust to new Makefile layout
-------------------------------------------------------------------
Sun May 20 10:06:24 UTC 2012 - trenn@suse.de
- Update to latest version 20120518
-------------------------------------------------------------------
Tue Jan 3 11:02:28 UTC 2012 - cfarrell@suse.com
- license update: GPL-2.0
You added ec_access.c with a GPL-2.0 (only) license. Now the spec file
has to be updated to reflect this
-------------------------------------------------------------------
Wed Dec 21 09:51:55 UTC 2011 - aj@suse.de
- Clarify license, it's GPL-2.0+ (bnc#711299).
-------------------------------------------------------------------
Thu Nov 24 16:33:44 UTC 2011 - trenn@suse.de
- ACPICA version 20111123 released with full ACPI 5.0 support
Detailed changelog can be found here:
http://acpica.org/download/changes.txt
-------------------------------------------------------------------
Wed Jun 29 19:40:28 UTC 2011 - trenn@suse.de
- Fix build for 32 bit
-------------------------------------------------------------------
Mon Jun 27 11:55:35 UTC 2011 - trenn@suse.de
- Update to version 20110623
- Fixed some "set but not used" errors and a link order issue
and sent patches upstream.
- Set "-Wno-unused-result" for some compilations -> too many
offenders to fix that all up.
-------------------------------------------------------------------
Mon Jun 20 15:38:14 UTC 2011 - idonmez@novell.com
- Add acpica-unix-const.patch: fix const correctness issue in
AslCompilererror, http://www.acpica.org/bugzilla/show_bug.cgi?id=923
-------------------------------------------------------------------
Wed Apr 27 09:32:02 UTC 2011 - idoenmez@novell.com
- Add acpica-unix-20110316-gcc46.patch: fix compilation with gcc 4.6
-------------------------------------------------------------------
Sun Apr 17 03:37:25 UTC 2011 - crrodriguez@opensuse.org
- Disable both build dates in this package and in
the files it generates as it both trigger either unneeded
republish of itself or other bigger packages like virtualbox
- Provides: iasl too.
-------------------------------------------------------------------
Wed Mar 30 16:15:29 UTC 2011 - trenn@suse.de
- Exchange selfmade patch with mainline one to fix build
-------------------------------------------------------------------
Wed Mar 30 15:50:47 UTC 2011 - trenn@suse.de
- Updated to acpica version 20110316
Changes are listed in /usr/share/doc/packages/acpica/changes.txt
- Fixed dynamic acpi table extract via acpidump/acpixtract
by reverting acpica commit baab09e6857a427944068c5e599ea2ffb84f765b
- Fixed compile issue and submitted it mainline
-------------------------------------------------------------------
Thu Feb 24 15:31:07 UTC 2011 - trenn@novell.com
- Add possibility to see changes via new -s param: -r [ -s sleep ]
-------------------------------------------------------------------
Fri Jan 14 15:01:06 UTC 2011 - trenn@novell.com
- Remove stale acpidump patches
-------------------------------------------------------------------
Fri Jan 14 10:51:30 UTC 2011 - trenn@novell.com
- Get latest acpidump tool from Len's acpi pmtools:
* Also dump dynamically loaded SSDTs
- Build against its own headers instead of acpica headers
-> unfortunately acpidump is still not part of acpica and
adjusting things ourselves is too much overhead.
-------------------------------------------------------------------
Thu Jan 13 14:46:00 UTC 2011 - trenn@novell.com
- Update to version 20110112
Changes are listed in /usr/share/doc/packages/acpica/changes.txt
-------------------------------------------------------------------
Tue Oct 26 20:37:10 UTC 2010 - trenn@novell.com
- Update to version 20100806
- Added ec_access executable to be able to debug the Embedded
Controller together with CONFIG_ACPI_EC_DEBUGFS kernel .config
option
-------------------------------------------------------------------
Sat Aug 7 06:39:44 UTC 2010 - trenn@novell.com
- Update to version 20100806
For details, see the changes.txt file in the package
changes.txt can now be found in
/usr/share/doc/packages/acpica/changes.txt
-------------------------------------------------------------------
Sun Jul 4 18:31:49 UTC 2010 - trenn@novell.com
- Update to version 20100702
For details, see acpica-unix-20100702/changes.txt
-------------------------------------------------------------------
Thu Apr 29 12:05:18 UTC 2010 - trenn@novell.com
- Update to version 20100428
-------------------------------------------------------------------
Mon Mar 8 13:56:19 UTC 2010 - trenn@novell.com
- Avoid (when compiling AML):
DSDT.dsl 10307: Name (_ADR, Zero)
Error 4080 - ^ Invalid object type for reserved name,
must be (Integer)
-------------------------------------------------------------------
Fri Mar 5 12:22:59 UTC 2010 - trenn@novell.com
- Updated to version 20100304
Some ACPI 4.0 enhancements and a lot bug fixes and other
enhancements. See changes.txt in the sources for details
-------------------------------------------------------------------
Wed Oct 14 11:13:29 CEST 2009 - trenn@suse.de
- Updated to version 20091013
Includes a bug fix to correctly disassmeble Unisys ES7000 tables
-------------------------------------------------------------------
Wed Aug 26 21:47:35 CEST 2009 - meissner@suse.de
- as-needed fix no longer necessary
-------------------------------------------------------------------
Fri Jul 31 10:59:44 CEST 2009 - trenn@suse.de
- Update to acpica version 20090730
The ACPI 4.0 implementation for ACPICA is complete with this release.
-------------------------------------------------------------------
Fri Jun 19 10:35:46 CEST 2009 - coolo@novell.com
- disable as-needed for this package as it fails to build with it
-------------------------------------------------------------------
Wed Apr 8 15:06:17 CEST 2009 - trenn@suse.de
- Initial check-in: Version 20090320

120
acpica.spec Normal file
View File

@ -0,0 +1,120 @@
#
# spec file for package acpica
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define src_dir acpica-unix-%{version}
%define kver %(rpm -q --qf '%%{VERSION}' kernel-source)
%define dmp_ver %{kver}
Name: acpica
Version: 20221020
Release: 0
Summary: A set of tools to display and debug BIOS ACPI tables
License: GPL-2.0-only
URL: https://acpica.org
Source: https://acpica.org/sites/acpica/files/%{src_dir}.tar_0.gz
Source1: ec_access.c
Source2: acpi_genl.tar.bz2
Source3: acpi_validate
# https://xf.iksaif.net/dev/wmidump.html
Source4: wmidump-20211011.tar.xz
Patch1: acpica-no-compiletime.patch
Patch2: wmidump_add_she_bang.patch
Patch3: do_not_use_build_date_and_time.patch
BuildRequires: bison
BuildRequires: flex
BuildRequires: glibc-devel
BuildRequires: kernel-source >= 2.6.31
BuildRequires: patch
Provides: iasl
%description
The included tools share the same code as it is used in the ACPI
implementation of the kernel. The code of the acpica project is exactly
the same as the ACPI parser and interpreter code of the kernel and the
code gets synced regularly from the acpica project into the kernel.
E.g. if you identify bugs in the kernel's ACPI implementation it might
be easier to debug them in userspace if possible. If the bug is part of
the acpica code, it has to be submitted to the acpica project to get
merged into the mainline kernel sources.
iasl compiles ASL (ACPI Source Language) into AML (ACPI Machine
Language). This AML is suitable for inclusion as a DSDT in system
firmware. It also can disassemble AML, for debugging purposes.
%prep
%setup -q -n %{src_dir} -a 2 -a 4
%autopatch -p1
mkdir acpidump-%{dmp_ver}
cd acpidump-%{dmp_ver}
# acpitools (acpidump) from kernel sources:
# copy necessary files from kernel-source since we need to modify them
(cd %{_prefix}/src/linux ; tar -cf - COPYING CREDITS README tools include scripts Kbuild Makefile drivers/acpi lib) | tar -xf -
%build
%global optflags %{optflags} -fcommon
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
cc %{SOURCE1} %{optflags} -o ec_access
%make_build -C acpi_genl CFLAGS="%{optflags}"
%make_build -C wmidump CFLAGS="%{optflags}"
%make_build OPT_CFLAGS="%{optflags} -fcommon" HOST="_LINUX"
cd acpidump-%{dmp_ver}/tools/power/acpi
if [ -f tools/acpidump/Makefile ]; then # 4.3+
cd tools/acpidump/
fi
%make_build EXTRA_CFLAGS="%{optflags} -fno-strict-aliasing" prefix=%{_prefix} all
%install
install -Dm 755 %{SOURCE3} %{buildroot}%{_bindir}/acpi_validate
install -Dm 755 ec_access %{buildroot}%{_sbindir}/ec_access
install -Dm 755 wmidump/wmidump %{buildroot}%{_bindir}/wmidump
install -Dm 755 wmidump/wmixtract.py %{buildroot}%{_bindir}/wmixtract
install -Dm 644 wmidump/README.md %{buildroot}/%{_docdir}/%{name}/README_wmidump.md
install -Dm 755 acpi_genl/acpi_genl %{buildroot}%{_sbindir}/acpi_genl
install -Dm 644 acpi_genl/README %{buildroot}/%{_docdir}/%{name}/README_acpi_genl
%make_install
# Latest acpidump is coming from kernel and not from acpica sources now.
rm -rf %{buildroot}%{_bindir}/acpidump
cd acpidump-%{dmp_ver}/tools/power/acpi
if [ -f tools/acpidump/Makefile ]; then # 4.3+
cd tools/acpidump/
fi
export WERROR=0
make V=1 EXTRA_CFLAGS="%{optflags}" mandir=%{_mandir} prefix=%{_prefix} DESTDIR=%{buildroot} install install-man
%files
%doc changes.txt
%doc %{_docdir}/%{name}
%{_bindir}/iasl
%{_bindir}/acpiexec
%{_bindir}/acpixtract
%{_bindir}/acpisrc
%{_bindir}/wmidump
%{_bindir}/wmixtract
%{_bindir}/acpibin
%{_bindir}/acpihelp
%{_bindir}/acpi_validate
%{_bindir}/acpiexamples
%{_sbindir}/acpidump
%{_sbindir}/acpi_genl
%{_sbindir}/ec_access
%{_mandir}/man8/acpidump.8%{?ext_man}
%changelog

View File

@ -0,0 +1,160 @@
diff -ur acpica-unix-20200528.orig/source/compiler/asloptions.c acpica-unix-20200528/source/compiler/asloptions.c
--- acpica-unix-20200528.orig/source/compiler/asloptions.c 2020-07-02 23:06:04.929335334 +0200
+++ acpica-unix-20200528/source/compiler/asloptions.c 2020-07-02 23:30:07.584425436 +0200
@@ -875,12 +875,6 @@
AslGbl_NoErrors = TRUE;
break;
- case 'd':
-
- printf (ACPI_COMMON_SIGNON (ASL_COMPILER_NAME));
- printf (ACPI_COMMON_BUILD_TIME);
- exit (0);
-
case 'e':
/* Disable all warning/remark messages (errors only) */
diff -ur acpica-unix-20200528.orig/source/include/acapps.h acpica-unix-20200528/source/include/acapps.h
--- acpica-unix-20200528.orig/source/include/acapps.h 2020-07-02 23:06:04.937335262 +0200
+++ acpica-unix-20200528/source/include/acapps.h 2020-07-02 23:31:28.763710233 +0200
@@ -188,9 +188,6 @@
Prefix, ACPICA_COPYRIGHT, \
Prefix
-#define ACPI_COMMON_BUILD_TIME \
- "Build date/time: %s %s\n", __DATE__, __TIME__
-
/* Macros for usage messages */
#define ACPI_USAGE_HEADER(Usage) \
diff -ur acpica-unix-20200528.orig/source/tools/acpibin/abmain.c acpica-unix-20200528/source/tools/acpibin/abmain.c
--- acpica-unix-20200528.orig/source/tools/acpibin/abmain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpibin/abmain.c 2020-07-02 23:33:01.750891018 +0200
@@ -191,7 +191,6 @@
ACPI_OPTION ("-s <File>", "Update checksum for binary AML file");
ACPI_OPTION ("-t", "Terse mode");
ACPI_OPTION ("-v", "Display version information");
- ACPI_OPTION ("-vd", "Display build date and time");
}
@@ -298,11 +297,6 @@
return (1);
- case 'd':
-
- printf (ACPI_COMMON_BUILD_TIME);
- return (1);
-
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);
diff -ur acpica-unix-20200528.orig/source/tools/acpidump/apmain.c acpica-unix-20200528/source/tools/acpidump/apmain.c
--- acpica-unix-20200528.orig/source/tools/acpidump/apmain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpidump/apmain.c 2020-07-02 23:34:06.206323171 +0200
@@ -379,12 +379,6 @@
fprintf (stderr, ACPI_COMMON_SIGNON (AP_UTILITY_NAME));
return (1);
- case 'd':
-
- fprintf (stderr, ACPI_COMMON_SIGNON (AP_UTILITY_NAME));
- printf (ACPI_COMMON_BUILD_TIME);
- return (1);
-
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);
diff -ur acpica-unix-20200528.orig/source/tools/acpiexec/aemain.c acpica-unix-20200528/source/tools/acpiexec/aemain.c
--- acpica-unix-20200528.orig/source/tools/acpiexec/aemain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpiexec/aemain.c 2020-07-02 23:35:40.565491893 +0200
@@ -280,7 +280,6 @@
ACPI_OPTION ("-v", "Display version information");
ACPI_OPTION ("-va", "Display verbose dump of any memory leaks");
- ACPI_OPTION ("-vd", "Display build date and time");
ACPI_OPTION ("-vh", "Verbose exception handler output");
ACPI_OPTION ("-vi", "Verbose initialization output");
ACPI_OPTION ("-vr", "Verbose region handler output");
@@ -546,11 +545,6 @@
AcpiGbl_VerboseLeakDump = TRUE;
break;
- case 'd':
-
- printf (ACPI_COMMON_BUILD_TIME);
- return (1);
-
case 'h':
AcpiGbl_VerboseHandlers = TRUE;
diff -ur acpica-unix-20200528.orig/source/tools/acpihelp/ahmain.c acpica-unix-20200528/source/tools/acpihelp/ahmain.c
--- acpica-unix-20200528.orig/source/tools/acpihelp/ahmain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpihelp/ahmain.c 2020-07-02 23:37:16.832643773 +0200
@@ -187,7 +187,6 @@
ACPI_USAGE_HEADER ("acpihelp <options> [Name/Prefix | HexValue]");
ACPI_OPTION ("-h", "Display help");
ACPI_OPTION ("-v", "Display version information");
- ACPI_OPTION ("-vd", "Display build date and time");
ACPI_USAGE_TEXT ("\nAML Names and Encodings (ACPI Machine Language):\n");
ACPI_OPTION ("-a [Name/Prefix | *]", "Display both ASL operator and AML opcode name(s)");
@@ -317,11 +316,6 @@
return (1);
- case 'd':
-
- printf (ACPI_COMMON_BUILD_TIME);
- return (1);
-
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);
diff -ur acpica-unix-20200528.orig/source/tools/acpisrc/asmain.c acpica-unix-20200528/source/tools/acpisrc/asmain.c
--- acpica-unix-20200528.orig/source/tools/acpisrc/asmain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpisrc/asmain.c 2020-07-02 23:37:35.904475746 +0200
@@ -374,7 +374,6 @@
ACPI_OPTION ("-s", "Generate source statistics only");
ACPI_OPTION ("-v", "Display version information");
ACPI_OPTION ("-vb", "Verbose mode");
- ACPI_OPTION ("-vd", "Display build date and time");
ACPI_OPTION ("-y", "Suppress file overwrite prompts");
}
@@ -479,11 +478,6 @@
Gbl_VerboseMode = TRUE;
break;
- case 'd':
-
- printf (ACPI_COMMON_BUILD_TIME);
- return (0);
-
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);
diff -ur acpica-unix-20200528.orig/source/tools/acpixtract/axmain.c acpica-unix-20200528/source/tools/acpixtract/axmain.c
--- acpica-unix-20200528.orig/source/tools/acpixtract/axmain.c 2020-07-02 23:06:04.941335225 +0200
+++ acpica-unix-20200528/source/tools/acpixtract/axmain.c 2020-07-02 23:37:57.828282596 +0200
@@ -181,7 +181,6 @@
ACPI_OPTION ("-m", "Extract multiple DSDT/SSDTs to a single file");
ACPI_OPTION ("-s <signature>", "Extract all tables with <signature>");
ACPI_OPTION ("-v", "Display version information");
- ACPI_OPTION ("-vd", "Display build date and time");
ACPI_USAGE_TEXT ("\nExtract binary ACPI tables from text acpidump output\n");
ACPI_USAGE_TEXT ("Default invocation extracts the DSDT and all SSDTs\n");
@@ -259,11 +258,6 @@
exit (0);
- case 'd':
-
- printf (ACPI_COMMON_BUILD_TIME);
- return (0);
-
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);

240
ec_access.c Normal file
View File

@ -0,0 +1,240 @@
/*
* ec_access.c
*
* Copyright (C) 2010 SUSE Products GmbH/Novell
* Author:
* Thomas Renninger <trenn@suse.de>
*
* This work is licensed under the terms of the GNU GPL, version 2.
*/
#include <fcntl.h>
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <libgen.h>
#include <unistd.h>
#include <getopt.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/stat.h>
#define EC_SPACE_SIZE 256
#define SYSFS_PATH "/sys/kernel/debug/ec/ec0/io"
/* TBD/Enhancements:
- Provide param for accessing different ECs (not supported by kernel yet)
*/
static int read_mode = -1;
static int sleep_time;
static int write_byte_offset = -1;
static int read_byte_offset = -1;
static uint8_t write_value = -1;
void usage(char progname[], int exit_status)
{
printf("Usage:\n");
printf("1) %s -r [-s sleep]\n", basename(progname));
printf("2) %s -b byte_offset\n", basename(progname));
printf("3) %s -w byte_offset -v value\n\n", basename(progname));
puts("\t-r [-s sleep] : Dump EC registers");
puts("\t If sleep is given, sleep x seconds,");
puts("\t re-read EC registers and show changes");
puts("\t-b offset : Read value"
" at byte_offset (in hex)");
puts("\t-w offset -v value : "
"Write value at byte_offset");
puts("\t-h : Print this help\n\n");
puts("Offsets and values are in hexadecimal number sytem.");
puts("The offset and value must be between 0 and 0xff.");
exit(exit_status);
}
void parse_opts(int argc, char *argv[])
{
int c;
while ((c = getopt(argc, argv, "rs:b:w:v:h")) != -1) {
switch (c) {
case 'r':
if (read_mode != -1)
usage (argv[0], EXIT_FAILURE);
read_mode = 1;
break;
case 's':
if (read_mode != -1 && read_mode != 1)
usage (argv[0], EXIT_FAILURE);
sleep_time = atoi(optarg);
if (sleep_time <= 0) {
sleep_time = 0;
usage(argv[0], EXIT_FAILURE);
printf("Bad sleep time: %s\n", optarg);
}
break;
case 'b':
if (read_mode != -1)
usage (argv[0], EXIT_FAILURE);
read_mode = 1;
read_byte_offset = strtoul(optarg, NULL, 16);
break;
case 'w':
if (read_mode != -1)
usage (argv[0], EXIT_FAILURE);
read_mode = 0;
write_byte_offset = strtoul(optarg, NULL, 16);
break;
case 'v':
write_value = strtoul(optarg, NULL, 16);
break;
case 'h':
usage(argv[0], EXIT_SUCCESS);
default:
fprintf(stderr, "Unknown option!\n");
usage(argv[0], EXIT_FAILURE);
}
}
if (read_mode == 0) {
if (write_byte_offset < 0 ||
write_byte_offset >= EC_SPACE_SIZE) {
fprintf(stderr, "Wrong byte offset 0x%.2x, valid: "
"[0-0x%.2x]\n",
write_byte_offset, EC_SPACE_SIZE - 1);
usage(argv[0], EXIT_FAILURE);
}
if (write_value < 0 ||
write_value >= 255) {
fprintf(stderr, "Wrong byte offset 0x%.2x, valid:"
"[0-0xff]\n", write_byte_offset);
usage(argv[0], EXIT_FAILURE);
}
}
if (read_mode == 1 && read_byte_offset != -1) {
if (read_byte_offset < -1 ||
read_byte_offset >= EC_SPACE_SIZE) {
fprintf(stderr, "Wrong byte offset 0x%.2x, valid: "
"[0-0x%.2x]\n",
read_byte_offset, EC_SPACE_SIZE - 1);
usage(argv[0], EXIT_FAILURE);
}
}
/* Add additional parameter checks here */
}
void dump_ec(int fd)
{
char buf[EC_SPACE_SIZE];
char buf2[EC_SPACE_SIZE];
int byte_off, bytes_read;
bytes_read = read(fd, buf, EC_SPACE_SIZE);
if (bytes_read == -1)
err(EXIT_FAILURE, "Could not read from %s\n", SYSFS_PATH);
if (bytes_read != EC_SPACE_SIZE)
fprintf(stderr, "Could only read %d bytes\n", bytes_read);
printf(" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
for (byte_off = 0; byte_off < bytes_read; byte_off++) {
if ((byte_off % 16) == 0)
printf("\n%.2X: ", byte_off);
printf(" %.2x ", (uint8_t)buf[byte_off]);
}
printf("\n");
if (!sleep_time)
return;
printf("\n");
lseek(fd, 0, SEEK_SET);
sleep(sleep_time);
bytes_read = read(fd, buf2, EC_SPACE_SIZE);
if (bytes_read == -1)
err(EXIT_FAILURE, "Could not read from %s\n", SYSFS_PATH);
if (bytes_read != EC_SPACE_SIZE)
fprintf(stderr, "Could only read %d bytes\n", bytes_read);
printf(" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
for (byte_off = 0; byte_off < bytes_read; byte_off++) {
if ((byte_off % 16) == 0)
printf("\n%.2X: ", byte_off);
if (buf[byte_off] == buf2[byte_off])
printf(" %.2x ", (uint8_t)buf2[byte_off]);
else
printf("*%.2x ", (uint8_t)buf2[byte_off]);
}
printf("\n");
}
void read_ec_val(int fd, int byte_offset)
{
uint8_t buf;
int error;
error = lseek(fd, byte_offset, SEEK_SET);
if (error != byte_offset)
err(EXIT_FAILURE, "Cannot set offset to 0x%.2x", byte_offset);
error = read(fd, &buf, 1);
if (error != 1)
err(EXIT_FAILURE, "Could not read byte 0x%.2x from %s\n",
byte_offset, SYSFS_PATH);
printf("0x%.2x\n", buf);
return;
}
void write_ec_val(int fd, int byte_offset, uint8_t value)
{
int error;
error = lseek(fd, byte_offset, SEEK_SET);
if (error != byte_offset)
err(EXIT_FAILURE, "Cannot set offset to 0x%.2x", byte_offset);
error = write(fd, &value, 1);
if (error != 1)
err(EXIT_FAILURE, "Cannot write value 0x%.2x to offset 0x%.2x",
value, byte_offset);
}
int main(int argc, char *argv[])
{
int file_mode = O_RDONLY;
int fd;
parse_opts(argc, argv);
if (read_mode == 0)
file_mode = O_WRONLY;
else if (read_mode == 1)
file_mode = O_RDONLY;
else
usage(argv[0], EXIT_FAILURE);
fd = open(SYSFS_PATH, file_mode);
if (fd == -1)
err(EXIT_FAILURE, "%s", SYSFS_PATH);
if (read_mode)
if (read_byte_offset == -1)
dump_ec(fd);
else if (read_byte_offset < 0 ||
read_byte_offset >= EC_SPACE_SIZE)
usage(argv[0], EXIT_FAILURE);
else
read_ec_val(fd, read_byte_offset);
else
write_ec_val(fd, write_byte_offset, write_value);
close(fd);
exit(EXIT_SUCCESS);
}

BIN
wmidump-20211011.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
---
wmidump/wmixtract.py | 2 ++
1 file changed, 2 insertions(+)
Index: acpica-unix2-20130517/wmidump/wmixtract.py
===================================================================
--- acpica-unix2-20130517.orig/wmidump/wmixtract.py
+++ acpica-unix2-20130517/wmidump/wmixtract.py
@@ -1,3 +1,5 @@
+#!/usr/bin/python3
+
import sys
import re