SHA256
1
0
forked from pool/acpica
Files
acpica/acpica.spec

123 lines
4.3 KiB
RPMSpec
Raw Normal View History

#
# 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.
Accepting request 684781 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/684781 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=117
2019-03-14 13:11:32 +00:00
# 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
Accepting request 971251 from home:dirkmueller:Factory - 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. OBS-URL: https://build.opensuse.org/request/show/971251 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=143
2022-04-21 14:24:33 +00:00
Version: 20220331
Release: 0
Summary: A set of tools to display and debug BIOS ACPI tables
License: GPL-2.0-only
Accepting request 818416 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/818416 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=132
2020-07-06 15:28:38 +00:00
URL: https://acpica.org
Source: https://acpica.org/sites/acpica/files/%{src_dir}.tar.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
%patch1 -p1
%patch2 -p1
%patch3 -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
Accepting request 818416 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/818416 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=132
2020-07-06 15:28:38 +00:00
%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
Accepting request 818416 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/818416 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=132
2020-07-06 15:28:38 +00:00
%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
Accepting request 684781 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/684781 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=117
2019-03-14 13:11:32 +00:00
%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
Accepting request 684781 from home:elimat:branches:hardware - 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 OBS-URL: https://build.opensuse.org/request/show/684781 OBS-URL: https://build.opensuse.org/package/show/hardware/acpica?expand=0&rev=117
2019-03-14 13:11:32 +00:00
%{_mandir}/man8/acpidump.8%{?ext_man}
%changelog