pax_global_header 0000666 0000000 0000000 00000000064 14553406764 0014530 g ustar 00root root 0000000 0000000 52 comment=65f25f43309dfac136a777e2896ea36618450b53
.travis.yml 0000664 0000000 0000000 00000000414 14553406764 0013204 0 ustar 00root root 0000000 0000000 dist: focal
sudo: required
before_install:
- sudo apt-get update -q
- sudo apt-get install build-essential autoconf automake libtool libjson-c-dev flex bison dkms libglib2.0-dev libfdt-dev libbsd-dev
language: c
script:
- autoreconf -ivf; ./configure; make
Makefile.am 0000664 0000000 0000000 00000020436 14553406764 0013135 0 ustar 00root root 0000000 0000000 #
# Copyright (C) 2010-2024 Canonical, Ltd.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_GETTEXT) \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL)
# results.log: created by `src/fwts` when executed with no `-r` option.
MOSTLYCLEANFILES = \
results.log
GITIGNOREFILES = \
debian/*.debhelper \
debian/*.debhelper.log \
debian/*.substvars \
`cat debian/control |$(GREP) ^Package|$(AWK) '{print "debian/" $$2}'` \
debian/autoreconf.after \
debian/autoreconf.before \
debian/files \
debian/tmp \
fedora/fwts.spec \
fedora/rpm
SUBDIRS = src data src/utilities scripts/bash-completion
ACLOCAL_AMFLAGS = -I m4
TESTS_ENVIRONMENT = export LC_ALL=C;
TESTS_ENVIRONMENT += export FWTS='$(srcdir)/src/fwts';
TESTS_ENVIRONMENT += export FWTSTESTDIR='$(srcdir)/fwts-test';
TESTS_ENVIRONMENT += export TMP=/tmp;
TESTS_ENVIRONMENT += export FAILURE_LOG=/tmp/failure.log;
TESTS = fwts-test/acpidump-0001/test-0001.sh \
fwts-test/acpitables-0001/test-0001.sh \
fwts-test/aest-0001/test-0001.sh \
fwts-test/aest-0001/test-0002.sh \
fwts-test/apicinstance-0001/test-0001.sh \
fwts-test/apicinstance-0001/test-0002.sh \
fwts-test/arg-help-0001/test-0001.sh \
fwts-test/arg-help-0001/test-0002.sh \
fwts-test/arg-json-0001/test-0001.sh \
fwts-test/arg-json-0001/test-0002.sh \
fwts-test/arg-json-0001/test-0003.sh \
fwts-test/arg-json-0001/test-0004.sh \
fwts-test/arg-klog-0001/test-0001.sh \
fwts-test/arg-klog-0001/test-0002.sh \
fwts-test/arg-log-fields-0001/test-0001.sh \
fwts-test/arg-log-format-0001/test-0001.sh \
fwts-test/arg-log-format-0001/test-0002.sh \
fwts-test/arg-log-format-0001/test-0003.sh \
fwts-test/arg-log-format-0001/test-0004.sh \
fwts-test/arg-quiet-0001/test-0001.sh \
fwts-test/arg-quiet-0001/test-0002.sh \
fwts-test/arg-results-0001/test-0001.sh \
fwts-test/arg-results-0001/test-0002.sh \
fwts-test/arg-results-0001/test-0003.sh \
fwts-test/arg-results-0001/test-0004.sh \
fwts-test/arg-results-0001/test-0005.sh \
fwts-test/arg-results-0001/test-0006.sh \
fwts-test/arg-results-no-separators-0001/test-0001.sh \
fwts-test/arg-show-progress-dialog-0001/test-0001.sh \
fwts-test/arg-show-progress-dialog-0001/test-0002.sh \
fwts-test/arg-table-path-0001/test-0001.sh \
fwts-test/arg-table-path-0001/test-0002.sh \
fwts-test/arg-width-0001/test-0001.sh \
fwts-test/arg-width-0001/test-0002.sh \
fwts-test/arg-width-0001/test-0003.sh \
fwts-test/arg-width-0001/test-0004.sh \
fwts-test/arg-width-0001/test-0005.sh \
fwts-test/arg-width-0001/test-0006.sh \
fwts-test/arg-width-0001/test-0007.sh \
fwts-test/arg-width-0001/test-0008.sh \
fwts-test/asf-0001/test-0001.sh \
fwts-test/asf-0001/test-0002.sh \
fwts-test/aspt-0001/test-0001.sh \
fwts-test/aspt-0001/test-0002.sh \
fwts-test/bert-0001/test-0001.sh \
fwts-test/bert-0001/test-0002.sh \
fwts-test/bgrt-0001/test-0001.sh \
fwts-test/bgrt-0001/test-0002.sh \
fwts-test/boot-0001/test-0001.sh \
fwts-test/boot-0001/test-0002.sh \
fwts-test/ccel-0001/test-0001.sh \
fwts-test/ccel-0001/test-0002.sh \
fwts-test/cedt-0001/test-0001.sh \
fwts-test/cedt-0001/test-0002.sh \
fwts-test/checksum-0001/test-0001.sh \
fwts-test/checksum-0001/test-0003.sh \
fwts-test/checksum-0001/test-0004.sh \
fwts-test/cpep-0001/test-0001.sh \
fwts-test/cpep-0001/test-0002.sh \
fwts-test/csrt-0001/test-0001.sh \
fwts-test/csrt-0001/test-0002.sh \
fwts-test/dbg2-0001/test-0001.sh \
fwts-test/dbg2-0001/test-0002.sh \
fwts-test/dbgp-0001/test-0001.sh \
fwts-test/dbgp-0001/test-0002.sh \
fwts-test/disassemble-0001/test-0001.sh \
fwts-test/drtm-0001/test-0001.sh \
fwts-test/drtm-0001/test-0002.sh \
fwts-test/erst-0001/test-0001.sh \
fwts-test/erst-0001/test-0002.sh \
fwts-test/facs-0001/test-0001.sh \
fwts-test/facs-0001/test-0002.sh \
fwts-test/fpdt-0001/test-0001.sh \
fwts-test/fpdt-0001/test-0002.sh \
fwts-test/hest-0001/test-0001.sh \
fwts-test/hest-0001/test-0002.sh \
fwts-test/hmat-0001/test-0001.sh \
fwts-test/hmat-0001/test-0002.sh \
fwts-test/ibft-0001/test-0001.sh \
fwts-test/ibft-0001/test-0002.sh \
fwts-test/iort-0001/test-0001.sh \
fwts-test/iort-0001/test-0002.sh \
fwts-test/ivrs-0001/test-0001.sh \
fwts-test/ivrs-0001/test-0002.sh \
fwts-test/klog-0001/test-0001.sh \
fwts-test/klog-0001/test-0002.sh \
fwts-test/klog-0001/test-0003.sh \
fwts-test/klog-0002/test-0001.sh \
fwts-test/klog-0002/test-0002.sh \
fwts-test/klog-0002/test-0003.sh \
fwts-test/lpit-0001/test-0001.sh \
fwts-test/lpit-0001/test-0002.sh \
fwts-test/sdei-0001/test-0001.sh \
fwts-test/sdei-0001/test-0002.sh \
fwts-test/sdev-0001/test-0001.sh \
fwts-test/sdev-0001/test-0002.sh \
fwts-test/slic-0001/test-0001.sh \
fwts-test/slic-0001/test-0002.sh \
fwts-test/slit-0001/test-0001.sh \
fwts-test/slit-0001/test-0002.sh \
fwts-test/madt-0001/test-0001.sh \
fwts-test/madt-0001/test-0002.sh \
fwts-test/mchi-0001/test-0001.sh \
fwts-test/mchi-0001/test-0002.sh \
fwts-test/misc-0001/test-0001.sh \
fwts-test/misc-0001/test-0002.sh \
fwts-test/mpam-0001/test-0001.sh \
fwts-test/mpam-0001/test-0002.sh \
fwts-test/mpst-0001/test-0001.sh \
fwts-test/mpst-0001/test-0002.sh \
fwts-test/msdm-0001/test-0001.sh \
fwts-test/msdm-0001/test-0002.sh \
fwts-test/method-0001/test-0001.sh \
fwts-test/nfit-0001/test-0001.sh \
fwts-test/nfit-0001/test-0002.sh \
fwts-test/oops-0001/test-0001.sh \
fwts-test/oops-0001/test-0002.sh \
fwts-test/oops-0001/test-0003.sh \
fwts-test/osilinux-0001/test-0001.sh \
fwts-test/osilinux-0001/test-0002.sh \
fwts-test/pcct-0001/test-0001.sh \
fwts-test/pcct-0001/test-0002.sh \
fwts-test/pdtt-0001/test-0001.sh \
fwts-test/pdtt-0001/test-0002.sh \
fwts-test/phat-0001/test-0001.sh \
fwts-test/phat-0001/test-0002.sh \
fwts-test/phat-0001/test-0003.sh \
fwts-test/pmtt-0001/test-0001.sh \
fwts-test/pmtt-0001/test-0002.sh \
fwts-test/pptt-0001/test-0001.sh \
fwts-test/pptt-0001/test-0002.sh \
fwts-test/ras2-0001/test-0001.sh \
fwts-test/ras2-0001/test-0002.sh \
fwts-test/rasf-0001/test-0001.sh \
fwts-test/rasf-0001/test-0002.sh \
fwts-test/rgrt-0001/test-0001.sh \
fwts-test/rgrt-0001/test-0002.sh \
fwts-test/rsdp-0001/test-0001.sh \
fwts-test/rsdt-0001/test-0001.sh \
fwts-test/s0idle-0001/test-0001.sh \
fwts-test/s0idle-0001/test-0002.sh \
fwts-test/sbst-0001/test-0001.sh \
fwts-test/sbst-0001/test-0002.sh \
fwts-test/skvl-0001/test-0001.sh \
fwts-test/skvl-0001/test-0002.sh \
fwts-test/spcr-0001/test-0001.sh \
fwts-test/spcr-0001/test-0002.sh \
fwts-test/srat-0001/test-0001.sh \
fwts-test/srat-0001/test-0002.sh \
fwts-test/stao-0001/test-0001.sh \
fwts-test/stao-0001/test-0002.sh \
fwts-test/svkl-0001/test-0001.sh \
fwts-test/svkl-0001/test-0002.sh \
fwts-test/syntaxcheck-0001/test-0001.sh \
fwts-test/tcpa-0001/test-0001.sh \
fwts-test/tcpa-0001/test-0002.sh \
fwts-test/tpm2-0001/test-0001.sh \
fwts-test/tpm2-0001/test-0002.sh \
fwts-test/uefi-0001/test-0001.sh \
fwts-test/uefi-0001/test-0002.sh \
fwts-test/viot-0001/test-0001.sh \
fwts-test/viot-0001/test-0002.sh \
fwts-test/waet-0001/test-0001.sh \
fwts-test/waet-0001/test-0002.sh \
fwts-test/waet-0001/test-0003.sh \
fwts-test/wdat-0001/test-0001.sh \
fwts-test/wdat-0001/test-0002.sh \
fwts-test/wmi-0001/test-0001.sh \
fwts-test/wpbt-0001/test-0001.sh \
fwts-test/wpbt-0001/test-0002.sh \
fwts-test/wsmt-0001/test-0001.sh \
fwts-test/wsmt-0001/test-0002.sh \
fwts-test/wmi-0001/test-0002.sh \
fwts-test/wmi-0001/test-0003.sh \
fwts-test/xenv-0001/test-0001.sh \
fwts-test/xenv-0001/test-0002.sh \
fwts-test/xsdt-0001/test-0001.sh
-include $(top_srcdir)/git.mk
README 0000664 0000000 0000000 00000026002 14553406764 0011754 0 ustar 00root root 0000000 0000000 README for the FirmWare Test Suite (fwts)
=========================================
Quick Start Guide
=================
1) Dependencies:
Ubuntu Distro x86_64
autoconf automake libglib2.0-dev libtool libpcre3-dev
flex bison dkms libfdt-dev libbsd-dev
Ubuntu Distro ppc64el
autoconf automake libglib2.0-dev libtool libpcre3-dev
flex bison dkms libfdt-dev device-tree-compiler libpci-dev libbsd-dev
RHEL Distro ppc64el
autoconf automake kernel-devel libtool flex flex-devel bison dkms
libfdt libfdt-devel dtc pcre-devel pcre2 pcre2-devel
pcre2-utf16 pcre2-utf32 glib2 glib2-devel pciutils pciutils-devel zlib-devel
make libbsd-devel
Ubuntu Distro ARM64
autoconf automake libglib2.0-dev libtool libpcre3-dev
flex bison dkms libfdt-dev libbsd-dev
2) Kernel configuration
Some tests depend on special Linux kernel configuration settings. These include:
* CONFIG_CGROUP_FREEZER=y
* CONFIG_DMI_SYSFS=y
* CONFIG_EFI_TEST=m
3) To build and install (only if building from source)
autoreconf -ivf
./configure
make
sudo make install
To get help:
fwts --help
To run all the default tests, use:
sudo fwts
..this will dump the results into results.log
To see the available tests, use:
fwts --show-tests
Advanced Options Guide
======================
Running Specific Tests
----------------------
Run specific tests, e.g. check syntax of DSDT:
sudo fwts syntaxcheck
You can run multiple tests too:
sudo fwts syntaxcheck fan battery
To see all the available tests:
sudo fwts --show-tests-full
Changing the output
-------------------
To dump the results to another file:
sudo fwts --results-output=myresults.log
or the short form:
sudo fwts -r myresults.log
or to stderr or stdout and redirect:
sudo fwts -r stderr
sudo fwts -r stdout > mylog.log
or a shorter form for stdout:
sudo fwts - > mylog.log
If the output is written to stdout, the width of the log is based on the
width of the tty. The default width when writing to a log file may be
changed to N characters wide using -w N or --log-width=N, e.g.
sudo fwts --log-width=90 - > mylog.log
The log has various columns that can be enabled, here is an example:
00012 13/12/12 12:55:04 wakealarm Test ACPI Wakealarm.
00013 13/12/12 12:55:04 wakealarm -------------------------------------------------------------
00014 13/12/12 12:55:04 wakealarm Test 1 of 4: Check existence of /sys/class/rtc/rtc0
00015 13/12/12 12:55:04 wakealarm /wakealarm.
00016 13/12/12 12:55:04 wakealarm PASSED: Test 1, /sys/class/rtc/rtc0/wakealarm found.
00017 13/12/12 12:55:04 wakealarm
00018 13/12/12 12:55:04 wakealarm Test 2 of 4: Trigger wakealarm for 1 seconds in the future.
00019 13/12/12 12:55:04 wakealarm Trigger wakealarm for 1 seconds in the future.
00020 13/12/12 12:55:04 wakealarm PASSED: Test 2, RTC wakealarm was triggered successfully.
00021 13/12/12 12:55:04 wakealarm
00022 13/12/12 12:55:04 wakealarm Test 3 of 4: Check if wakealarm is fired.
00023 13/12/12 12:55:07 wakealarm PASSED: Test 3, RTC wakealarm triggered and fired
00024 13/12/12 12:55:07 wakealarm successfully.
00025 13/12/12 12:55:07 wakealarm
00026 13/12/12 12:55:07 wakealarm Test 4 of 4: Multiple wakealarm firing tests.
00027 13/12/12 12:55:07 wakealarm Trigger wakealarm for 1 seconds in the future.
00028 13/12/12 12:55:09 wakealarm Trigger wakealarm for 2 seconds in the future.
00029 13/12/12 12:55:12 wakealarm Trigger wakealarm for 3 seconds in the future.
00030 13/12/12 12:55:16 wakealarm Trigger wakealarm for 4 seconds in the future.
00031 13/12/12 12:55:21 wakealarm PASSED: Test 4, RTC wakealarm triggered and fired
00032 13/12/12 12:55:21 wakealarm successfully.
00033 13/12/12 12:55:21 wakealarm
00034 13/12/12 12:55:21 wakealarm =============================================================
00035 13/12/12 12:55:21 wakealarm 4 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info
00036 13/12/12 12:55:21 wakealarm only.
00037 13/12/12 12:55:21 wakealarm ============================================================
^ ^ ^ ^
| | | |
| | | +--- %owner (name of test that ran)
| | |
| | +--- %time
| |
| +--- %date
|
+--- %line (line number)
Also, there is an optional %field that indicates the type of message being logged:
sudo fwts wakealarm --log-format="%line %date %time %field %owner"
..this generates results.log containing:
00013 13/12/12 12:53:11 HED wakealarm Test ACPI Wakealarm.
00014 13/12/12 12:53:11 SEP wakealarm ---------------------------------------------------------
00015 13/12/12 12:53:11 INF wakealarm Test 1 of 4: Check existence of /sys/class/rtc/rtc0
00016 13/12/12 12:53:11 INF wakealarm /wakealarm.
00017 13/12/12 12:53:11 PAS wakealarm PASSED: Test 1, /sys/class/rtc/rtc0/wakealarm found.
00018 13/12/12 12:53:11 NLN wakealarm
00019 13/12/12 12:53:11 INF wakealarm Test 2 of 4: Trigger wakealarm for 1 seconds in the
00020 13/12/12 12:53:11 INF wakealarm future.
00021 13/12/12 12:53:11 INF wakealarm Trigger wakealarm for 1 seconds in the future.
00022 13/12/12 12:53:11 PAS wakealarm PASSED: Test 2, RTC wakealarm was triggered successfully.
00023 13/12/12 12:53:11 NLN wakealarm
00024 13/12/12 12:53:11 INF wakealarm Test 3 of 4: Check if wakealarm is fired.
00025 13/12/12 12:53:14 PAS wakealarm PASSED: Test 3, RTC wakealarm triggered and fired
00026 13/12/12 12:53:14 PAS wakealarm successfully.
00027 13/12/12 12:53:14 NLN wakealarm
00028 13/12/12 12:53:14 INF wakealarm Test 4 of 4: Multiple wakealarm firing tests.
00029 13/12/12 12:53:14 INF wakealarm Trigger wakealarm for 1 seconds in the future.
00030 13/12/12 12:53:16 INF wakealarm Trigger wakealarm for 2 seconds in the future.
00031 13/12/12 12:53:19 INF wakealarm Trigger wakealarm for 3 seconds in the future.
00032 13/12/12 12:53:23 INF wakealarm Trigger wakealarm for 4 seconds in the future.
00033 13/12/12 12:53:28 PAS wakealarm PASSED: Test 4, RTC wakealarm triggered and fired
00034 13/12/12 12:53:28 PAS wakealarm successfully.
00035 13/12/12 12:53:28 NLN wakealarm
00036 13/12/12 12:53:28 SEP wakealarm =========================================================
00037 13/12/12 12:53:28 SUM wakealarm 4 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0
00038 13/12/12 12:53:28 SUM wakealarm info only.
00039 13/12/12 12:53:28 SEP wakealarm =========================================================
^
|
+-----------------------+
|
RES = result (PASSED or FAILED)
ERR = error (something fatal happened!)
WRN = warning (not a critical failure, but may need looking at)
DBG = debug output (deprecated)
INF = information fields
SUM = summary
NLN = new line (empty field)
ADV = advice information
HED = heading
TAG = tag information
SEP = separator (just pretty printing)
PAS = Test Passed
FAL = Test Failed
SKP = Test Skipped
ABT = Test Aborted
INO = Information only
use:
fwts --log-fields to show all available fields
One can filter on these fields using --log-filter, e.g.
sudo fwts --log-filter=RES,SUM
.. just collect results and summary of tests
sudo fwts --log-filter=ALL,~SEP
.. all fields except the separators
One can also re-arrange or modify the log format using --log-format, e.g.
sudo fwts --log-format="%line %field %time: " mtrr -
this produces:
00011 SEP 12:13:07: --------------------------------------------------------------------------------
00012 INF 12:13:07: MTRR overview
00013 INF 12:13:07: -------------
00014 INF 12:13:07: Reg 0: 0x00000000ffc00000 - 0x0000000100000000 ( 4 MB) Write-Protect
00015 INF 12:13:07: Reg 1: 0x0000000000000000 - 0x0000000080000000 ( 2048 MB) Write-Back
00016 INF 12:13:07: Reg 2: 0x0000000080000000 - 0x00000000c0000000 ( 1024 MB) Write-Back
00017 INF 12:13:07: Reg 3: 0x00000000c0000000 - 0x00000000e0000000 ( 512 MB) Write-Back
00018 INF 12:13:07: Reg 4: 0x00000000dc000000 - 0x00000000e0000000 ( 64 MB) Uncached
00019 INF 12:13:07: Reg 5: 0x00000000db000000 - 0x00000000dc000000 ( 16 MB) Uncached
00020 INF 12:13:07: Reg 6: 0x0000000100000000 - 0x0000000180000000 ( 2048 MB) Write-Back
00021 INF 12:13:07: Reg 7: 0x0000000180000000 - 0x00000001a0000000 ( 512 MB) Write-Back
00022 INF 12:13:07: Reg 8: 0x000000019f000000 - 0x00000001a0000000 ( 16 MB) Uncached
00023 INF 12:13:07: Reg 9: 0x000000019e800000 - 0x000000019f000000 ( 8 MB) Uncached
00024 NLN 12:13:07:
00025 INF 12:13:07: Test 1 of 3: Validate the kernel MTRR IOMEM setup.
00026 PAS 12:13:07: PASSED: Test 1, Memory ranges seem to have correct attributes.
00027 NLN 12:13:07:
00028 INF 12:13:07: Test 2 of 3: Validate the MTRR setup across all processors.
00029 PAS 12:13:07: PASSED: Test 2, All processors have the a consistent MTRR setup.
00030 NLN 12:13:07:
00031 INF 12:13:07: Test 3 of 3: Check for AMD MtrrFixDramModEn being cleared by the BIOS.
00032 SKP 12:13:07: SKIPPED: Test 3, CPU is not an AMD, cannot test.
00033 NLN 12:13:07:
00034 SEP 12:13:07: ================================================================================
00035 SUM 12:13:07: 2 passed, 0 failed, 0 warnings, 0 aborted, 1 skipped, 0 info only.
00036 SEP 12:13:07: ================================================================================
Available fields are:
%line - log line number
%time - current time
%date - current date
%owner - name of the test program (the owner of the the current test)
%field - the 3 letter record identifier field (e.g. SEP, RES, etc..)
Test Progress Feedback
======================
Use the --show-progress to dump out the test progress to stderr. Output is as follows:
Test: Test ACPI Wakealarm.
Check existence of /sys/class/rtc/rtc0/wakealarm. 1 passed
Trigger wakealarm for 1 seconds in the future. 1 passed
Check if wakealarm is fired. 1 passed
Multiple wakealarm firing tests. 1 passed
PASSED or FAILED?
=================
The --stdout-summary flag outputs to stdout PASSED or FAILED if test(s) passed or failed. It's essentially
for one-shot test modes where you want to run one test and see if it passed or failed without having to
look at the results log, e.g.
sudo fwts mtrr --stdout-summary
The exit code returns 1 for test failure and 0 for test success, so the
test suite can be run from a shell script and one can detect if the test worked or not, e.g.
#!/bin/bash
LOG=stdout
sudo fwts dmi_decode --results-output=$LOG
failed=$?
Resources
=========
fwts git repository:
https://github.com/fwts/fwts
https://code.launchpad.net/~firmware-testing-team/fwts/+git/fwts
fwts reference guide:
https://wiki.ubuntu.com/FirmwareTestSuite/Reference
fwts LiveCD:
http://fwts.ubuntu.com/fwts-live/
fwts-devel mailing list:
fwts-devel@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/fwts-devel
README_ACPICA.txt 0000664 0000000 0000000 00000010520 14553406764 0013570 0 ustar 00root root 0000000 0000000 The following files have been copied from the ACPICA source
tree from git repository: git://github.com/acpica/acpica.git
In compliance with the license, these files are listed below
and the Intel copyright message has been included in fwts.
No file has been modified at all.
src/acpica/source/common:
adfile.c
adisasm.c
adwalk.c
ahpredef.c
dmextern.c
dmrestag.c
dmtable.c
dmtbdump.c
dmtbinfo.c
src/acpica/source/components:
debugger
disassembler
dispatcher
events
executer
hardware
namespace
parser
resources
tables
utilities
src/acpica/source/components/debugger:
dbcmds.c
dbdisply.c
dbexec.c
dbfileio.c
dbhistry.c
dbinput.c
dbmethod.c
dbnames.c
dbstats.c
dbutils.c
dbxface.c
src/acpica/source/components/disassembler:
dmbuffer.c
dmnames.c
dmobject.c
dmopcode.c
dmresrc.c
dmresrcl2.c
dmresrcl.c
dmresrcs.c
dmutils.c
dmwalk.c
src/acpica/source/components/dispatcher:
dsargs.c
dscontrol.c
dsfield.c
dsinit.c
dsmethod.c
dsmthdat.c
dsobject.c
dsopcode.c
dsutils.c
dswexec.c
dswload2.c
dswload.c
dswscope.c
dswstate.c
src/acpica/source/components/events:
evevent.c
evglock.c
evgpeblk.c
evgpe.c
evgpeinit.c
evgpeutil.c
evmisc.c
evregion.c
evrgnini.c
evsci.c
evxface.c
evxfevnt.c
evxfgpe.c
evxfregn.c
src/acpica/source/components/executer:
exconfig.c
exconvrt.c
excreate.c
exdebug.c
exdump.c
exfield.c
exfldio.c
exmisc.c
exmutex.c
exnames.c
exoparg1.c
exoparg2.c
exoparg3.c
exoparg6.c
exprep.c
exregion.c
exresnte.c
exresolv.c
exresop.c
exstore.c
exstoren.c
exstorob.c
exsystem.c
exutils.c
src/acpica/source/components/hardware:
hwacpi.c
hwesleep.c
hwgpe.c
hwpci.c
hwregs.c
hwsleep.c
hwvalid.c
hwxface.c
hwxfsleep.c
src/acpica/source/components/namespace:
nsaccess.c
nsalloc.c
nsdump.c
nsdumpdv.c
nseval.c
nsinit.c
nsload.c
nsnames.c
nsobject.c
nsparse.c
nspredef.c
nsrepair2.c
nsrepair.c
nssearch.c
nsutils.c
nswalk.c
nsxfeval.c
nsxfname.c
nsxfobj.c
src/acpica/source/components/parser:
psargs.c
psloop.c
psopcode.c
psparse.c
psscope.c
pstree.c
psutils.c
pswalk.c
psxface.c
src/acpica/source/components/resources:
rsaddr.c
rscalc.c
rscreate.c
rsdump.c
rsinfo.c
rsio.c
rsirq.c
rslist.c
rsmemory.c
rsmisc.c
rsserial.c
rsutils.c
rsxface.c
src/acpica/source/components/tables:
tbfadt.c
tbfind.c
tbinstal.c
tbutils.c
tbxface.c
tbxfroot.c
tbxfload.c
src/acpica/source/components/utilities:
utaddress.c
utalloc.c
utcache.c
utcopy.c
utdebug.c
utdecode.c
utdelete.c
uteval.c
utexcep.c
utglobal.c
utids.c
utinit.c
utlock.c
utmath.c
utmisc.c
utmutex.c
utobject.c
utosi.c
utresrc.c
utstate.c
uttrack.c
utxface.c
utxferror.c
src/acpica/source/include:
acapps.h
accommon.h
acconfig.h
acdebug.h
acdisasm.h
acdispat.h
acevents.h
acexcep.h
acglobal.h
achware.h
acinterp.h
aclocal.h
acmacros.h
acnames.h
acnamesp.h
acobject.h
acopcode.h
acoutput.h
acparser.h
acpi.h
acpiosxf.h
acpixf.h
acpredef.h
acresrc.h
acrestyp.h
acstruct.h
actables.h
actbl1.h
actbl2.h
actbl3.h
actbl.h
actypes.h
acutils.h
amlcode.h
amlresrc.h
src/acpica/source/platform:
acenv.h
acgcc.h
aclinux.h
src/acpica/source/os_specific/service_layers:
osunixxf.c
src/acpica/source/tools/acpiexec:
aehandlers.c
aecommon.h
src/acpica/source/compiler:
aslanalyze.c
aslbtypes.c
aslcodegen.c
aslcompile.c
aslcompiler.h
aslcompiler.l
aslcompiler.y
asldefine.h
aslerror.c
aslfiles.c
aslfold.c
aslglobal.h
asllength.c
asllisting.c
aslload.c
asllookup.c
aslmain.c
aslmap.c
aslmessages.h
aslopcodes.c
asloperands.c
aslopt.c
aslpredef.c
aslresource.c
aslrestype1.c
aslrestype1i.c
aslrestype2.c
aslrestype2d.c
aslrestype2e.c
aslrestype2q.c
aslrestype2s.c
aslrestype2w.c
aslstartup.c
aslstubs.c
aslsupport.l
asltransform.c
asltree.c
asltypes.h
aslutils.c
asluuid.c
aslwalks.c
dtcompile.c
dtcompiler.h
dtexpress.c
dtfield.c
dtio.c
dtparser.l
dtparser.y
dtsubtable.c
dttable.c
dttemplate.c
dttemplate.h
dtutils.c
fwts_iasl_interface.c
fwts_iasl_interface.h
preprocess.h
prexpress.c
prmacros.c
prparser.l
prparser.y
prscan.c
prutils.c
README_SOURCE.txt 0000664 0000000 0000000 00000014172 14553406764 0013657 0 ustar 00root root 0000000 0000000 == FWTS Source Structure ==
FWTS comprises of a core fwts library, two special builds of the ACPICA source
and the fwts tests themselves.
== Core FWTS library libfwts.so ==
The core fwts library, libfwts.so, contains the fwts test framework to drive
fwts tests and a support library that provides the tests with commonly used
functionality, such as list handling, log scanning, port I/O, ACPI table
handling, etc.
Source:
fwts/src/lib/src
fwts/src/lib/include
Conventions:
All fwts core library functions should start with fwts_ prefix
C source that provides an API should have a corresponding header in
fwts/src/lib/include
We include all exported headers in fwts/src/lib/include/fwts.h
Declare variables and functions as static if they are not to be exported
NULL returns indicates an error
FWTS_OK indicates success
FWTS_ERROR indicates generic failure
-ve returns indicate error
All structs should be typedef'd
NO typedef'ing of void * please!
Where possible use uint64_t, uint32_t, uint16_t, uint8_t
ALWAYS assume system calls fail and check returns
NO clever macros that used obfuscated tricks
Kernel Style (K&R).
Avoid spaces and tabs at end of line.
Must compile with -Wall -Werror
Avoid warnings, exception is the ACPICA core since we don't modify this
Test with valgrind to check for memory leaks.
No smart tricks.
Comments are not optional!
== ACPICA libraries ==
The ACPICA source is built in two modes for fwts, one for the run-time
execution of AML (acpiexec mode) and one for the assembly/dis-assembly of AML
(compile mode). This makes life a bit complex since both modes are not
compatible, so fwts builds these as differenty libraries and exports a thin
shim interface that libfwts and fwts tests can use. It's quite ugly.
The intention is to regularly pick up the latest ACPICA sources every release
cycle and drop these into fwts. Note that we only incorporate the minimal
subset of ACPICA source that is required for the execution and
assembly/disassembly functionality required by fwts.
=== acpiexec mode ===
libfwtsacpica.so:
fwts/src/acpica/Makefile.am
Interface:
fwts/src/acpica/fwts_acpica.c
fwts/src/acpica/fwts_acpica.h
=== compiler mode ===
libfwtsiasl.so:
fwts/src/acpica/source/compiler/Makefile.am
Interface:
fwts/src/acpica/source/compiler/fwts_iasl_interface.c
fwts/src/acpica/source/compiler/fwts_iasl_interface.h
=== Notes ===
Whenever we update the ACPICA core we need to update README_ACPICA.txt to
reflect any additional ACPIC sources we include into fwts.
DO NOT modify any of the ACPICA sources - we use the original sources and
should not modify them in fwts. Note that some on-the-fly source tweaking is
performed to stop name clashes.
== fwts tests ==
The fwts tests are grouped in several sub-directories depending on the type of
testing:
src/acpi - ACPI specific tests (methods, AML, tables, etc)
src/apic - APIC tests
src/bios - Tradition BIOS tests, e.g. SMBIOS, MPTables etc
src/cmos - CMOS memory
src/cpu - CPU specific firmware settings
src/dmi - DMI tables
src/example - example test template code
src/hotkey - HotKey tests
src/hpet - HPET
src/kernel - kernel specific
src/pci - PCI
src/sbbr - ARM SBBR Tests
src/uefi - UEFI
When writing new tests use the blank sketch of a test in
src/example/blank/blank.c.
Test Conventions:
All code must be static, no exporting of functions to other parts of
fwts.
If we have common code in multiple tests then refactor it into the
fwts core library.
DO NOT call exit() from a test.
DO NOT call printf() from a test - use the fwts logging functions.
Tests are registered with fwts using the FWTS_REGISTER macro:
FWTS_REGISTER(const char *example,
fwts_framework_ops *example_ops, priority, flags);
where:
example - is the name of the test, no spaces in this name as it is
stringified.
example_ops - fwts_framework_ops to configure test, with:
.description - const char * name of the test.
.init - optional function to call before running the
test(s).
.deinit - optional function to call after running the
test(s).
.minor_tests - array of fwts_framework_minor_test describing
minor tests to run.
.minor_tests is an array of functions + text description
tuples of minor tests to run and must be NULL
terminated. One can have one or more minor
tests registered to run.
priority ranking - when to run the test when we have many tests to run
and can be:
FWTS_TEST_FIRST - schedule to run as first test(s)
FWTS_TEST_EARLY - schedule to run fairly soon at start
FWTS_TEST_ANYTIME - medium priority
FWTS_TEST_LATE - schedule to run close to the end
FWTS_TEST_LAST - run at the end
Tests of the same priority are will run in an order chosen at
link time, but will run before tests of higher priory ranking
and after tests of lower priory ranking.
flags - indicates the type of test - where appropriate these can be
logically OR'd together, can be:
FWTS_BATCH batch test
FWTS_INTERACTIVE interactive test
FWTS_BATCH_EXPERIMENTAL batch experimental test
FWTS_INTERACTIVE_EXPERIMENTAL batch interactive test
FWTS_POWER_STATES S3/S4 test
FWTS_UTILS utility
FWTS_ROOT_PRIV needs root privilege to run
FWTS_TEST_BIOS BIOS specific
FWTS_TEST_UEFI UEFI specific
FWTS_TEST_ACPI ACPI specific
FWTS_TEST_ACPI_COMPLIANCE Test for ACPI spec compliance
so, we can have FWTS_BATCH | FWTS_ROOT_PRIV | FWTS_ACPI
for a batch test that requires root privilege and is an ACPI
test.
test init/deinit callbacks.
These are intended to do pre and post test setup and close
down, for example loading in tables, checking for resources,
sanity checking capabilities.
They return FWTS_OK (all OK) or FWTS_ERROR (something went
wrong, abort!).
minor tests.
These do the specific tests, can have one or more per test
harness. Must return FWTS_OK (all OK) or FWTS_ERROR (something
went wrong). FWTS_ERROR does not mean a test failed, but the
test could not be run because of some external factor, e.g.
memory allocation failure, I/O issue, etc.
assets/ 0000775 0000000 0000000 00000000000 14553406764 0012376 5 ustar 00root root 0000000 0000000 assets/fwts.svg 0000664 0000000 0000000 00000073162 14553406764 0014113 0 ustar 00root root 0000000 0000000
auto-packager/ 0000775 0000000 0000000 00000000000 14553406764 0013617 5 ustar 00root root 0000000 0000000 auto-packager/mkpackage.README 0000664 0000000 0000000 00000006141 14553406764 0016423 0 ustar 00root root 0000000 0000000 == FWTS Uploading ==
General procedure
-----------------
Periodically we've put enough patches into fwts to deem it ready for a new upload. To do so, we
update the changelog with a summary of the changes, update the version tag, push these, then
we clone the repo, remove the .git directory and create debian source packages ready for uploading
and building in the fwts PPAs.
Here's how I went from Version V0.25.03 to V0.25.04
In the fwts git repo:
See the current version:
./update_version.sh
You need to specify the version number
The last version was V0.25.03
Use git log to see what's been added since the last tagged release, e.g.
git shortlog V0.25.03..HEAD | sed "s/^ / */g"
collect up one-line-summary of changes, add them to debian/changelog:
e.g.
fwts (0.25.04) quantal; urgency=medium
[Colin Ian King]
* apci: acpitables: only check CMOS in BOOT table from firmware tables
(LP: #1016469)
* lib: fwts_acpi_tables: add ACPI table provenance
* lib: fwts_acpi_tables: load tables in deterministically
* lib: fwts_log: handle special logfile names
* lib: log: move line counting to logging back-ends
* lib: fwts_log: remove fwts_log_line_number(), no longer used
* lib: fwts_framework: output all logfile names being written to
* lib: fwts_log: add fwts_log_get_filenames()
* lib: fwts_summary: remove references to log line number
[Keng-Yu Lin]
* debian: Fix up the dependency of debian packages
-- Keng-Yu Lin Mon, 25 Jun 2012 16:44:51 +0800
then:
git add debian/changelog
git commit -s -m"debian: update changelog"
Next, update the tag:
./update-version V0.25.04
git push
git push --tags
Next, create a directory for creating the tarball and checksum and run the mktar.sh script.
Upload the generated tarball and SHA256SUMS to the desired location for the releasing.
Next, create an auto-packager directory somewhere and run the mkpackage.sh script from within it. E.g
mkdir /home/cking/fwts/auto-packager
cp mkpackage.sh /home/cking/fwts/auto-packager
cd /home/cking/fwts/auto-packager
./mkpackage.sh V0.25.04
and this will clone the git repo, remove the .git directory and create packages for uploading.
For a release like Precise, it generates:
V0.25.04/precise/fwts_0.25.04
V0.25.04/oneiric/fwts_0.25.04~o*
V0.25.04/natty/fwts_0.25.04~n*
V0.25.04/lucid/fwts_0.25.04~l*
NOTE: The current release does not end with ~ suffix to the version name. This version is the
one that gets periodically uploaded to universe in the current release until we get to feature freeze.
And dput these into the ppa:firmware-testing-team/ppa-fwts-unstable-crack PPA
Let it shake out - build + test etc. Get users to test against this. Once you are OK with it,
copy the packages into ppa:firmware-testing-team/ppa-fwts-devel
Every so often during the distro release cycle copy the stable current package into universe. You can either do this on every version number bump or when you deem that a new version is really stable.
Once a package has been copied to universe, we then copy the packages from ppa:firmware-testing-team/ppa-fwts-devel to ppa:firmware-testing-team/ppa-fwts-stable.
auto-packager/mkpackage.sh 0000775 0000000 0000000 00000005553 14553406764 0016111 0 ustar 00root root 0000000 0000000 #!/bin/bash
#
# Copyright (C) 2010-2024 Canonical
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
# Get fwts sources, strip out .git directory, add in necessary debian packaging
# files, build source package ready for upload.
#
RELEASES="bionic focal jammy lunar mantic noble"
REPO=https://github.com/fwts/fwts
RELEASE_TAR_URL=http://fwts.ubuntu.com/release
FWTS=fwts
#
# Clone the repo
#
get_source()
{
echo Getting source
git clone $REPO
}
#
# Figure out latest tagged version
#
get_version()
{
pushd $FWTS >& /dev/null
git tag | tail -1
popd >& /dev/null
}
#
# Checkout version
#
checkout_version()
{
echo "Checking out version $1"
pushd $FWTS >& /dev/null
git checkout -b latest $1
popd >& /dev/null
}
#
# Remove .git repo as we don't want this in the final package
#
rm_git()
{
rm -rf $FWTS/.git
}
#
# Remove the source
#
rm_source()
{
rm -rf $FWTS
}
#
# Prepare the orig tarball
#
prepare_tarball()
{
mkdir $version
pushd $version >& /dev/null
wget -N $RELEASE_TAR_URL/fwts-$version.tar.gz
wget -N $RELEASE_TAR_URL/SHA256SUMS
grep "fwts-$version.tar.gz" SHA256SUMS > SHA256SUMS.local
sha256sum -c SHA256SUMS.local
if [ $? -ne 0 ]; then
echo "Checksum unmatched. Abort"
exit
fi
mv fwts-$version.tar.gz fwts_`echo $version|cut -b 2-`.orig.tar.gz
popd >& /dev/null
}
#
# Create source package ready for upload and build
#
mk_package()
{
rel=$1
rm -rf $version/$rel
mkdir -p $version/$rel
cp -r $FWTS $version/$rel
cp $version/fwts_`echo $version|cut -b 2-`.orig.tar.gz $version/$rel
pushd $version/$rel/$FWTS >& /dev/null
deb_topline=`head -1 debian/changelog`
deb_release=`echo $deb_topline | cut -f3 -d' '`
if [ "x$rel;" = "x$deb_release" ]; then
suffix=''
else
suffix="~`echo $rel | cut -c1`"
fi
#
# Mungify changelog hack
#
sed "s/) $deb_release/$suffix) $rel;/" debian/changelog > debian/changelog.new
mv debian/changelog.new debian/changelog
echo 'y' | debuild -S
rm -rf $FWTS
popd >& /dev/null
}
#
# Here we go..
#
rm_source
get_source
if [ $# -eq 1 ]; then
version=$1
else
version=`get_version`
fi
checkout_version $version
rm_git
prepare_tarball
for I in $RELEASES
do
echo Building package for release $I with version $version
mk_package $I
done
rm_source
auto-packager/mktar.sh 0000775 0000000 0000000 00000003473 14553406764 0015303 0 ustar 00root root 0000000 0000000 #!/bin/bash
#
# Copyright (C) 2010-2024 Canonical
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
# Get fwts sources, strip out .git directory, add in necessary debian packaging
# files, build source package ready for upload.
#
REPO=https://github.com/fwts/fwts
FWTS=fwts
#
# Clone the repo
#
get_source()
{
echo "Getting source"
pushd "$version" >& /dev/null
git clone $REPO
popd >& /dev/null
}
#
# Checkout version
#
checkout_version()
{
echo "Checking out version"
pushd "$version/$FWTS" >& /dev/null
git checkout -b latest $version
popd >& /dev/null
}
#
# Remove the source
#
rm_source()
{
rm -rf "$version/$FWTS"
}
#
# Create source package ready for upload and build
#
mk_tarball()
{
pushd "$version/$FWTS" >& /dev/null
git archive --format tar -o ../fwts-$version.tar $version
gzip ../fwts-$version.tar
popd >& /dev/null
}
#
# Create checksums
#
mk_checksums()
{
pushd "$version" >& /dev/null
sha256sum fwts-$version.tar.gz >> SHA256SUMS
popd >& /dev/null
}
#
# Here we go..
#
if [ $# -eq 1 ]; then
version=$1
mkdir $version
else
echo "Please specify a version"
exit
fi
rm_source
get_source
checkout_version
mk_tarball
mk_checksums
rm_source
configure.ac 0000664 0000000 0000000 00000007677 14553406764 0013403 0 ustar 00root root 0000000 0000000 AC_INIT([fwts],[0.1],[fwts-devel@lists.ubuntu.com])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AC_PROG_LEX
AC_PROG_YACC
AC_PROG_LIBTOOL
AC_C_INLINE
AM_PROG_CC_C_O
AC_CHECK_FUNCS([localtime_r])
AC_CHECK_FUNCS([dup2])
AC_CHECK_FUNCS([getcwd])
AC_CHECK_FUNCS([getpagesize])
AC_CHECK_FUNCS([memset])
AC_CHECK_FUNCS([mkdir])
AC_CHECK_FUNCS([munmap])
AC_CHECK_FUNCS([select])
AC_CHECK_FUNCS([socket])
AC_CHECK_FUNCS([sqrt])
AC_CHECK_FUNCS([strchr])
AC_CHECK_FUNCS([strdup])
AC_CHECK_FUNCS([strerror])
AC_CHECK_FUNCS([strstr])
AC_CHECK_FUNCS([strtoul])
AC_CHECK_FUNCS([strtoull])
AC_CHECK_FUNCS([gettimeofday])
AC_CHECK_FUNCS([uname])
AC_CHECK_HEADERS([assert.h])
AC_CHECK_HEADERS([ctype.h])
AC_CHECK_HEADERS([errno.h])
AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([getopt.h])
AC_CHECK_HEADERS([limits.h])
AC_CHECK_HEADERS([linux/input.h])
AC_CHECK_HEADERS([math.h])
AC_CHECK_HEADERS([paths.h])
AC_CHECK_HEADERS([pcre.h])
AC_CHECK_HEADERS([sched.h])
AC_CHECK_HEADERS([signal.h])
AC_CHECK_HEADERS([stdarg.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdio.h])
AC_CHECK_HEADERS([stdlib.h])
AC_CHECK_HEADERS([string.h])
AC_CHECK_HEADERS([bsd/string.h])
AC_CHECK_HEADERS([sys/io.h])
AC_CHECK_HEADERS([sys/klog.h])
AC_CHECK_HEADERS([sys/mman.h])
AC_CHECK_HEADERS([sys/param.h])
AC_CHECK_HEADERS([sys/select.h])
AC_CHECK_HEADERS([sys/socket.h])
AC_CHECK_HEADERS([sys/stat.h])
AC_CHECK_HEADERS([sys/type.h])
AC_CHECK_HEADERS([sys/un.h])
AC_CHECK_HEADERS([sys/wait.h])
AC_CHECK_HEADERS([termios.h])
AC_CHECK_HEADERS([time.h])
AC_CHECK_HEADERS([sys/ioctl.h])
AC_CHECK_HEADERS([sys/time.h])
AC_CHECK_HEADERS([glib.h])
AC_CHECK_HEADERS([gio/gio.h])
AC_CHECK_HEADERS([asm/opal-prd.h])
AC_CHECK_HEADERS([mtd/mtd-abi.h])
AC_CHECK_HEADERS([pci/pci.h])
PKG_CHECK_MODULES([GIO], [gio-2.0])
PKG_CHECK_MODULES([GLIB], [glib-2.0])
AC_SUBST([GIO_CFLAGS])
AC_SUBST([GIO_LIBS])
AC_SUBST([GLIB_CFLAGS])
AC_SUBST([GLIB_LIBS])
AM_CONDITIONAL([HAVE_ASM_OPAL_PRD_H],
[test "x$ac_cv_header_asm_opal_prd_h" = "xyes"])
AM_CONDITIONAL([HAVE_MTD_ABI_H],
[test "x$ac_cv_header_mtd_abi_h" = "xyes"])
AM_CONDITIONAL([HAVE_PCI_PCI_H],
[test "x$ac_cv_header_pci_pci_h" = "xyes"])
#AC_CHECK_LIB(pcre, pcre_compile)
AC_SEARCH_LIBS([fdt_check_header], [fdt], [
AC_DEFINE([HAVE_LIBFDT], [1], [Define if we have libfdt])])
AM_CONDITIONAL([HAVE_LIBFDT],
[test "x$ac_cv_search_fdt_check_header" != "xno"])
AC_SEARCH_LIBS([pci_alloc], [pci], [
AC_DEFINE([HAVE_LIBPCI], [1], [Define if we have libpci])])
AM_CONDITIONAL([HAVE_LIBPCI],
[test "x$ac_cv_search_pci_alloc" != "xno"])
AC_FUNC_MALLOC
AC_FUNC_FORK
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MMAP
AC_FUNC_REALLOC
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_OFF_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
case $host in
arm*) CFLAGS="$CFLAGS -marm" ;;
esac
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
src/libfwtsiasl/Makefile
src/libfwtsacpica/Makefile
src/lib/Makefile
src/lib/src/Makefile
src/utilities/Makefile
data/Makefile
scripts/bash-completion/Makefile
])
AC_ARG_WITH([bashcompletiondir],
AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
[],
[AS_IF([`pkg-config --exists bash-completion`], [
with_bashcompletiondir=`pkg-config --variable=completionsdir bash-completion`
], [
with_bashcompletiondir=${datadir}/bash-completion/completions
])
])
AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
AC_OUTPUT
cppcheck.sh 0000775 0000000 0000000 00000005174 14553406764 0013222 0 ustar 00root root 0000000 0000000 #!/bin/bash
#
# Copyright (C) 2016-2024 Canonical
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
CPPCHECK_DIR=/tmp/cppcheck
CPPCHECK=${CPPCHECK_DIR}/cppcheck
CPPCHECK_REPO=https://github.com/danmar/cppcheck
CPPCHECK_LOG=cppcheck.log
DEPENDENCIES="git build-essential"
JOBS=$(nproc)
HERE=$(pwd)
#
# Install any packages we depend on to build cppcheck
#
cppcheck_install_dependencies()
{
install=""
echo "Checking for dependencies for cppcheck.."
for d in ${DEPENDENCIES}
do
if [ "$(dpkg -l | grep $d)" == "" ]; then
install="$install $d"
fi
done
if [ "$install" != "" ]; then
echo "Need to install:$install"
sudo apt-get install $install
if [ $? -ne 0 ]; then
echo "Installation of packages failed"
exit 1
fi
fi
}
#
# Get an up to date version of cppcheck
#
cppcheck_get()
{
if [ -d ${CPPCHECK_DIR} ]; then
echo "Getting latest version of cppcheck.."
mkdir -p ${CPPCHECK_DIR}
cd ${CPPCHECK_DIR}
git checkout -f master >& /dev/null
git fetch origin >& /dev/null
git fetch origin master >& /dev/null
git reset --hard FETCH_HEAD >& /dev/null
cd ${HERE}
else
echo "Getting cppcheck.."
git clone ${CPPCHECK_REPO} ${CPPCHECK_DIR}
fi
}
#
# Build cppcheck
#
cppcheck_build()
{
cd ${CPPCHECK_DIR}
echo "cppcheck: make clean.."
make clean >& /dev/null
echo "cppcheck: make.."
nice make -j $JOBS > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Build of cppcheck succeeded"
else
echo "Build of cppcheckfailed"
exit 1
fi
cd ${HERE}
}
#
# Build fwts using cppcheck
#
cppcheck_fwts()
{
echo "cppchecking fwts.."
rm -f ${CPPCHECK_LOG}
nice ${CPPCHECK} --force -j $JOBS --enable=all . 2>&1 | tee ${CPPCHECK_LOG}
}
#
# Check for errors
#
cppcheck_errors()
{
errors=$(grep "(error" ${CPPCHECK_LOG} | wc -l)
warnings=$(grep "(warning" ${CPPCHECK_LOG} | wc -l)
echo " "
echo "cppcheck found $errors errors and $warnings warnings, see ${CPPCHECK_LOG} for more details."
}
cppcheck_install_dependencies
cppcheck_get
cppcheck_build
cppcheck_fwts
cppcheck_errors
data/ 0000775 0000000 0000000 00000000000 14553406764 0012005 5 ustar 00root root 0000000 0000000 data/Makefile.am 0000664 0000000 0000000 00000001554 14553406764 0014046 0 ustar 00root root 0000000 0000000 #
# Copyright (C) 2012-2024 Canonical, Ltd.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
fwtsdatadir = $(pkgdatadir)
fwtsdata_DATA = clog.json klog.json syntaxcheck.json olog.json
-include $(top_srcdir)/git.mk
data/README_JSON.txt 0000664 0000000 0000000 00000001621 14553406764 0014334 0 ustar 00root root 0000000 0000000 README for JSON files for the FirmWare Test Suite (fwts)
========================================================
Special considerations for the JSON files:
olog.json
olog.json is automatically generated with a tool from the
skiboot git source:
git clone git://github.com/open-power/skiboot.git
cd skiboot
./external/fwts/generate-fwts-olog --output olog.json
If any changes are requested in the format or typos for olog.json,
please pursue the skiboot source as the mechanism for updating,
i.e. contact the skiboot maintainers to make the source code
change and then once the change is merged to the git tree then
the above tool can be used to generate a new olog.json file
which can then be submitted as the fwts source change.
The olog.json file is periodically submitted to fwts to refresh
the data based on the current skiboot source tree.
To contact the skiboot maintainers:
skiboot@lists.ozlabs.org
data/clog.json 0000664 0000000 0000000 00000004066 14553406764 0013632 0 ustar 00root root 0000000 0000000 {
"firmware_error_warning_patterns":
[
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MRC:.*(invalid|failed to|Could not|failure).*",
"advice": "Debug MRC cache code and check flash write protection.",
"label": "MRC"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "GMA:.*(Error|Broken|couldn't).*",
"advice": "Debug Intel GMA driver code and check VGA Option ROM and VBT included into CBFS.",
"label": "GMA"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ERROR: Not enough MTRRs available!.*",
"advice": "Increase memory alignment to reduce MTRR usage.",
"label": "MTRR"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ".*: Missing ACPI scope",
"advice": "Add an ACPI name for coreboot's SSDT generator.",
"label": "SSDT"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ERROR: No timestamp.*",
"advice": "Debug the timestamp code.",
"label": "TIMESTAMP"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error:.*cbmem",
"advice": "Debug the CBMEM code.",
"label": "CBMEM"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "(No|Invalid) DSDT.*",
"advice": "Provide or fix the DSDT file.",
"label": "DSDT"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI: Error: Could not add ACPI table.*",
"advice": "Increase MAX_ACPI_TABLES.",
"label": "RSDP"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PCI: Check your devicetree.cb.",
"advice": "Check the mainboard's devicetree.cb for PCI related errors.",
"label": "STATIC_PCI"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PCI: Check your devicetree.cb.",
"advice": "Check the mainboard's devicetree.cb for PCI related errors.",
"label": "STATIC_PCI"
},
]
}
data/klog.json 0000664 0000000 0000000 00001161465 14553406764 0013652 0 ustar 00root root 0000000 0000000 {
"firmware_error_warning_patterns":
[
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to change power state to ",
"advice": "The ACPI Power Management driver was unable to transition a device to the desired power state.",
"label": "KlogAcpiPmStateTransitionFailed",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot transition from .* to",
"advice": "The ACPI Power Management driver refused to transition a device from going from a lower power (deeper) state to a higher power (shallower) state if the state is not D0 in accordance with ACPI 6.0.",
"label": "KlogAcpiPmStateTransitionNotAllowed",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot transition to power state .* for parent",
"advice": "The ACPI Power Management driver was unable to transition a parent device into a power state because it does not support that particular power state.",
"label": "KlogAcpiPmStateNotSupportedByParent",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Power state .* not supported",
"advice": "The ACPI Power Management driver was unable to transition a device into a specific power state because the device did not specify it supported this power state.",
"label": "KlogAcpiPmStateNotSupported",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Cannot find an available gap in the 32-bit address range",
"advice": "A search for the biggest gap in the low 32 bit E820 memory space for PCI MMIO resources failed to find any free gaps large enough. PCI devices with unassigned 32 bit Base Address Registers (BARs) are very likely to break.",
"label": "KlogBiosE820NoGapAvailable",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "AcpiDisable failed",
"advice": "The ACPI core driver cannot disable ACPI when returning back to legacy mode.",
"label": "KlogAcpiDisableFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "DSDT is not in memory",
"advice": "The ACPI core driver has attempted to load the ACPI namespace but failed because there is no ACPI Differentiated System Description Table (DSDT) available.",
"label": "KlogAcpiDsdtNotInMemory",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "CPPC data invalid or not present",
"advice": "The ACPI processor driver has detected missing or invalid Collaborative Processor Performance Control (CPPC) data. The ACPI per CPU _CPC objects may be missing or broken.",
"label": "KlogAcpiCppcDataInvalid",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "The _BIX method is broken, using _BIF",
"advice": "The ACPI battery driver has detected that the Battery Information Extended (_BIX) object seems to be broken and has fallen back to using the less modern Battery Information (_BIF) object instead to get battery specific data.",
"label": "KlogAcpiBixBroken",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "BIOS reported wrong ACPI id .* for the processor",
"advice": "The ACPI processor enumaration detected an invalid ACPI ID for a specific processor. This is not fatal, but the kernel will not trust the ACPI data for this specific processor.",
"label": "KlogAcpiProcessorInvalidId",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "VA address range overflow",
"advice": "The EFI virtual address has wrapped around and overflowed and may cause random or unexplicable faulty EFI behaviour.",
"label": "KlogEfiVaAddrRangeOverflow",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error mapping PA 0x.* VA 0x",
"advice": "The EFI driver failed to map physical addresses to virtual addresses on a range of EFI related pages.",
"label": "KlogEfiPhysVirtMappingFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error while updating 1:1 mapping PA",
"advice": "The EFI driver failed to update the 1:1 mapping, physical addresses to virtual addresses on a range of EFI related pages.",
"label": "KlogEfiPhysVirtMappingUpdateFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error while updating VA mapping PA",
"advice": "The EFI driver failed to upate the virtual addresses mapping on a range of EFI related pages.",
"label": "KlogEfiVirtMappingUpdateFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to map kernel text 1:1",
"advice": "The kernel text region failed to be mapped 1 to 1 (physical to virtual).",
"label": "KlogEfiKernelTextOneToOneMapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to map kernel rodata 1:1",
"advice": "The kernel rodata region failed to be mapped 1 to 1 (physical to virtual).",
"label": "KlogEfiKernelRODataOneToOneMapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to allocate EFI runtime stack < 4GB",
"advice": "The EFI stack must be addressible with 32 bit pointers and hence less than 4GB, however a stack in the 32 bit address range could not be allocated and the boot cannot proceed (kernel panic).",
"label": "KlogEfi32BitStackNotAllocated",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to create 1:1 mapping for the first page",
"advice": "The firmware still believes it is the exclusive owner of the first physical page of the EFI mapping even though the firmware has marked it as EFI_CONVENTIONAL_MEMORY. To avoid a triple fault if the firmware attempts to write-access the page, a 1:1 mapping is used, however, this failed to be created.",
"label": "KlogEfiOneToOneMappingFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to create 1:1 mapping for the GHCBs",
"advice": "When SEV-ES is active, the GHCB as set by the kernel will be used by firmware. Create a 1:1 unencrypted mapping for each GHCB, however, this failed to be created.",
"label": "KlogEfiOneToOneMappingFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error ident-mapping new memmap",
"advice": "The physical address of a newly memory mapped EFI region is not mapped into the EFI page table. Ident mapping failed.",
"label": "KlogEfiIdentMappingFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Setup done, disabling due to 32/64-bit mismatch",
"advice": "The EFI quirk mechaism has unmapped the EFI memory map, EFI runtime services have been disabled because of a mismatch on firmware and kernel (32/64 bit mismatch).",
"label": "KlogEfiQuirkEfiDisabled",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not map Configuration table",
"advice": "The EFI quirk mechanism failed to remap the SMBIOS configuration tables.",
"label": "KlogEfiQuirkConfigRemapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not install new EFI memmap",
"advice": "The EFI quirk mechanism could not install a memory region for the new EFI memmap region.",
"label": "KlogEfiQuirkEfiMemMapInstallFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to map new EFI memmap",
"advice": "The EFI quirk mechanism could not remap a memory region for the new EFI memmap region.",
"label": "KlogEfiQuirkEfiMemMapRemapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to allocate new EFI memmap",
"advice": "The EFI quirk mechanism could not allocate a memory region for the new EFI memmap region.",
"label": "KlogEfiQuirkEfiMemMapAllocFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to map new boot services memmap",
"advice": "The EFI quirk mechanism could not memory map a memory region for the EFI boot services, memory range could not be reserved.",
"label": "KlogEfiQuirkBootServesMemMapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not allocate boot services memmap",
"advice": "The EFI quirk mechanism could not allocate a memory region for the EFI boot services, memory range could not be reserved.",
"label": "KlogEfiQuirkBootServicesAllocFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Region spans EFI memory descriptors",
"advice": "The EFI quirk mechanism found that a memory range spanned one or more existing EFI memory descriptors and could not reserve it.",
"label": "KlogEfiQuirkMemDescSpanRegionsFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to lookup EFI memory descriptor for",
"advice": "The EFI quirk mechanism failed to find an EFI memory descriptor for a specific address; EFI memory could not be reserved.",
"label": "KlogEfiQuirkMemDescLookupFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "need at least one option",
"advice": "An incorrect (empty) argument was passed to the EFI driver via the efi= kernel option",
"label": "KlogEfiEmptyArgument",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to switch EFI into virtual mode",
"advice": "The EFI driver was unable to switch the EFI runtime services to virtual mode, the call to the EFI service SetVirtualAddressMap failed and the kernel panic'd",
"label": "KlogEfiSwitchToVirtualModePanic",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to remap late EFI memory map",
"advice": "The EFI driver could not remap the late EFI memory page, runtime service calls will be disabled",
"label": "KlogEfiRemapLateMemoryMap",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error reallocating memory, EFI runtime non-functional",
"advice": "The EFI driver could not reallocate memory, runtime service calls will be disabled",
"label": "KlogEfiReallocMemFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to remap late EFI memory map",
"advice": "The EFI driver could not install a new EFI memory map, runtime service calls will be disabled",
"label": "KlogEfiRemapEfiMemoryMapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to allocate EFI page tables",
"advice": "The EFI driver could not allocate EFI page tables when trying to enter EFI virtual mode, runtime service calls will be disabled",
"label": "KlogEfiPageTablesAllocFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Could not map the firmware vendor",
"advice": "The EFI firmware vendor information could not be memory mapped, vendor information will be incorrect.",
"label": "KlogEfiMmapFirmwareVendorInfo",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not map the runtime service table",
"advice": "The EFI runtime service table could not be mapped into memory, EFI has been disabled.",
"label": "KlogEfiMmapRunTimeServiceTableFailed",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Warning: System table version .*, expected 1.00 or greater",
"advice": "The EFI system table version was less than 1.00, which is not expected. EFI support has been allowed, even if the version looks old and/or wrong",
"label": "KlogEfiSystemTableVersionIssue",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "System table signature incorrect",
"advice": "The EFI system table header signature did not match the expected signature, EFI table is not trustworthy and EFI has been disabled",
"label": "KlogEfiBadSystemTableSignature",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "EFI data located above 4GB, disabling EFI",
"advice": "The 32 bit system cannot memory map EFI data above the 32 bit address space limit of 4GB, EFI has been disabled",
"label": "KlogEfiDataAbove4GB",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Couldn't map the system table",
"advice": "The EFI system table could not be memory mapped, EFI support will be disabled",
"label": "KlogEfiMmapSystemTableFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Memory map is above 4GB, disabling EFI",
"advice": "The 32 bit system cannot memory map EFI data above the 32 bit address space limit of 4GB, EFI has been disabled",
"label": "KlogEfiMmapAbove4GB",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ACPI MWAIT C-state .* not supported by HW",
"advice": "The ACPI _CST (C-State) object is reporting a CPU C-State that the CPU does not actually support (as determined by CPUID_MWAIT_LEAF)",
"label": "KlogAcpiCstateNotSupported",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid character.* in name .*, repaired:",
"advice": "An ACPI object name contained an invalid character and the ACPI core fixed this up. This incorrectly named object could cause incorrect execution behaviour of ACPI AMI code.",
"label": "KlogAcpiInvalidObjectName",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Platform took .* usec to enter ACPI mode",
"advice": "An ACPI GPE took longer than expected to enter ACPI mode. This could lead to unexpected behaviour",
"label": "KlogAcpiGpeEventEnterAcpiTooSlow",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Cannot release the ACPI Global Lock, it has not been acquired",
"advice": "An attempt to release ACPI Global Lock failed, it had not been acquired previously.",
"label": "KlogAcpiGlobalLockReleaseFailed",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "UtTrackAllocation: Allocation .* already present in global list",
"advice": "The ACPI memory tracking debug has detected an allocation that already exists in the global list of, this indicates a bug in the ACPICA core.",
"label": "KlogAcpiUtTrackDuplicateAllocation",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Attempt to delete a NULL address",
"advice": "The ACPI memory tracking debug has detected an attempt to delete a NULL address, this indicates a bug in the ACPICA core.",
"label": "KlogAcpiUtTrackNullAddrDelete",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "The lid device is not compliant to SW_LID",
"advice": "The ACPI button driver has detected a non compliant LID device switch. This can occur because the platform reports the lid as closed immediately after booting or resuming, or because the device never reports open events. The ACPI button driver has inverted the LID switch event to try to ensure expected behaviour",
"label": "KlogAcpiLidInvertedSwitchEvent",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "DMI detected: .*force ACPI _REV to 5",
"advice": "The machine is a DELL that has switches sound between HDA and I2S depending on what the ACPI _REV object returns. The machine has been quirked to force _REV to return 5 to indicated sound should use HDA",
"label": "KlogAcpiDellRev5Quirked",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "sysfs_get_dirent 'nfit' failed",
"advice": "The ACPI NFIT driver failed to get the NFIT sysfs directory entry",
"label": "KlogNfitSysfsDirentFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "sysfs_get_dirent 'scrub' failed",
"advice": "The ACPI NFIT driver failed to get the NFIT scrub sysfs directory entry",
"label": "KlogNfitScrubSysfsDirentFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PCI: unsupported BIOS32 revision",
"advice": "The Linux kernel currently only supports BIOS32 revision 0 and is ignoring an unsupported BIOS32 service directory structure.",
"label": "KlogBios32UnsupportedRevision",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PCI: BIOS32 entry .* in high memory, cannot use",
"advice": "The BIOS32 service directory structure in located in high memory at or above address 0x100000 and cannot use this.",
"label": "KlogBios32InHighMemory",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid error record",
"advice": "The ACPI Boot Error Record Table (BERT) driver contained a record that was truncated and so it cannot print it.",
"label": "KlogAcpiBertShortErrorRecord",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "get table failed",
"advice": "The ACPI Boot Error Record Table (BERT) driver found the table, but it cannot get the table for some format exceptions.",
"label": "KlogAcpiBertGetTableFail",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "table invalid",
"advice": "The ACPI Boot Error Record Table (BERT) driver checked the BERT table and got the table invalid.",
"label": "KlogAcpiBertTableInvalid",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Truncated status block",
"advice": "The ACPI Boot Error Record Table (BERT) driver found a status block that was truncated and so it cannot print it.",
"label": "KlogAcpiBertShortStatusBlock",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Can't request iomem region",
"advice": "The ACPI Boot Error Record Table (BERT) driver could not request the bert table data and cannot dump the boot error records.",
"label": "KlogAcpiBertIoMemRegionRequestFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Firmware does not respond in time",
"advice": "The ACPI Error Injection (EINJ) or Error Record Serialization (ERST) driver attempted to inject an error however the firmware took longer than expected to respond and a time-out occurred.",
"label": "KlogAcpiEinjErstFirmwareTimeout",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Too long stall time for stall instruction",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to execute stall instruction and got the stall time too long.",
"label": "KlogAcpiErstStallTime",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Too long stall time for stall while true instruction",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to execute stall while true instruction and got the stall time too long.",
"label": "KlogAcpiErstStallTime",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "MOVE_DATA can not be used in interrupt context",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to execute move data can not be used in interrupt context, ioremap does not work in interrupt context.",
"label": "KlogAcpiErstInterupContext",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "too many record IDs",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to add one record id cache but found too many record IDs.",
"label": "KlogAcpiErstRecordID",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "too many record IDs",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to add one record id cache but found too many record IDs.",
"label": "KlogAcpiErstRecordID",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "NVRAM ERST Log Address Range not implemented yet",
"advice": "The ACPI Error Record Serialization (ERST) driver found NVRAM ERST Log Address Range not implemented yet.",
"label": "KlogAcpiErstNvramLogAddrRange",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to get table",
"advice": "The ACPI Error Record Serialization (ERST) driver found the table, but it cannot get the table for some format exceptions.",
"label": "KlogAcpiErstGetTableFail",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ERST table is invalid",
"advice": "The ACPI Error Record Serialization (ERST) driver checked the ERST table and got the table invalid.",
"label": "KlogAcpiErstInvalid",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to get Error Log Address Range",
"advice": "The ACPI Error Record Serialization (ERST) driver fail to get Error Log Address Range.",
"label": "KlogAcpiErstErrLogAddrRangeFail",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Can not request .* for ERST",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to request a memory region for the ERST table but the request failed, perhaps the mapping was incorrect.",
"label": "KlogAcpiErstFailedMemRegion",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to allocate .* bytes for persistent store error log.",
"advice": "The ACPI Error Record Serialization (ERST) driver attempted to allocate some bytes for the ERST persistent store error log but failed.",
"label": "KlogAcpiErstFailedMemAllocate",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Can not request .* for Trigger table",
"advice": "The ACPI Error Injection (EINJ) driver attempted to request a memory region for the APEI EINJ trigger table but the request failed, perhaps the mapping was incorrect.",
"label": "KlogAcpiEinjFailedMemRegion",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Can not request .* for Trigger table entry",
"advice": "The ACPI Error Injection (EINJ) driver attempted to request a memory region for the APEI EINJ trigger table entry but the request failed, perhaps the mapping was incorrect.",
"label": "KlogAcpiEinjFailedMemRegion",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to map trigger table",
"advice": "The ACPI Error Injection (EINJ) driver attempted to IO remap the APEI EINJ trigger table, but the mapping failed.",
"label": "KlogAcpiEinjFailedIoremap",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid trigger error action table.",
"advice": "The ACPI Error Injection (EINJ) driver checks EINJ trigger table header, and got invlid trigger error action table.",
"label": "KlogAcpiEinjFailedIoremap",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "EINJ table not found",
"advice": "The ACPI Error Injection (EINJ) driver could not find an ACPI EINJ table, EINJ functionality is disabled.",
"label": "KlogAcpiEinjNotFound",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to get EINJ table",
"advice": "The ACPI Error Injection (EINJ) driver could not get an ACPI EINJ table, EINJ functionality is disabled.",
"label": "KlogAcpiEinjGetFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid EINJ table",
"advice": "The ACPI Error Injection Table (EINJ) was invalid, possible because of an incorrect header length or an incorrect table size for the number of entries in the table.",
"label": "KlogAcpiEinjInvalid",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error collecting EINJ resources",
"advice": "The ACPI Error Injection (EINJ) driver detected either an invalid Generic Address Structure (GAR) in an injection instruction entry, or resource space ID was not system memory or system I/O.",
"label": "KlogAcpiEinjResourcesFailure",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error requesting memory/port resources",
"advice": "The ACPI Error Injection (EINJ) driver failed to request system memory or system I/O port resources, EINJ functionality is disabled.",
"label": "KlogAcpiEinjResourcesFailure",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error pre-mapping GARs",
"advice": "The ACPI Error Injection (EINJ) driver failed to map the address spaces specified by the injection instruction entry Generic Address Structures (GAR), EINJ functionality is disabled.",
"label": "KlogAcpiEinjGarMapFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error creating param extension debugfs nodes",
"advice": "The ACPI Error Injection (EINJ) driver failed to create debugfs nodes.",
"label": "KlogAcpiEinjDebugfsFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to initialize debugger",
"advice": "An error occurred when initializing the ACPI AML debugger so the debugger cannot be started.",
"label": "KlogAcpiAmlDebugInitFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to create AML debugger thread",
"advice": "An error occurred when creating the ACPI AML debugger, a kernel thread could not be created so the debugger cannot be started.",
"label": "KlogAcpiAmlDebugThreadFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "DMA mask not set",
"advice": "DMA mask is not set for an ACPI ARM64 DMA device, If dev is expected to be DMA-capable then the bus code that created it should have initialised its dma_mask pointer, if not, it will continue the legacy behaviour of coercing it to the coherent mask.",
"label": "KlogAcpiAmbaDevAddFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "amba_device_add() failed",
"advice": "An error occurred when attempting to add an ACPI ARM AMBA device, the device allocation failed and the device has not enabled.",
"label": "KlogAcpiAmbaDevAddFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "amba_device_alloc() failed",
"advice": "An error occurred when attempting to allocate an ACPI ARM AMBA device, the device allocation failed and the device has not enabled.",
"label": "KlogAcpiAmbaDevAllocFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid resource",
"advice": "Got an invalid resource for an ACPI ARM AMBA device, neither IORESOURCE_MEM nor IORESOURCE_IRQ.",
"label": "KlogAcpiAmbaDevAllocFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PCC check channel failed. Status=",
"advice": "An error occurred waiting for the Platform Communication Channel communication channel to become available to the operating system. It seems to be still owned by the platform after too long a duration.",
"label": "KlogAcpiPccChannelBlocked",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "thermal zone will be disabled",
"advice": "An ACPI thermal zone control has been updated and an ACPI thermal zone has been disabled",
"label": "KlogAcpiThermalZoneDisabled",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "APMT could not register gsi hwirq",
"advice": "The ACPI Arm Performance Monitoring Unit table (APMT) driver could not register a Global System Interrupt (GSI) handler.",
"label": "KlogAcpiApmtGsiHandlerRegFailed",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to get APMT table",
"advice": "The ACPI Arm Performance Monitoring Unit table (APMT) driver failed to get APMT table, the table was not found.",
"label": "KlogAcpiApmtGetTableFail",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to initialize APMT platform devices",
"advice": "The ACPI Arm Performance Monitoring Unit table (APMT) driver failed to ini the platform devices and connot add platform device.",
"label": "KlogAcpiApmtFail",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "iort node pointer overflows, bad table",
"advice": "The ACPI IO Remapping Table (IORT) indicated it had more IORT nodes than were in the IORT table. Either the node count was incorrect or the table is truncated.",
"label": "KlogAcpiIortBadTable",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "could not register gsi hwirq",
"advice": "The ACPI IO Remapping Table (IORT) driver could not register a Global System Interrupt (GSI) handler.",
"label": "KlogAcpiIortGsiHandlerRegFailed",
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "requested ITS ID index .* is greater than available",
"advice": "An error occurred trying to find an ACPI I/O Remapping Table (IORT) ITS identifier with a given index, index is out of range.",
"label": "KlogAcpiIortItsIndexTooLarge",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ID map has NULL parent reference",
"advice": "An ACPI I/O Remapping Table (IORT) node output reference offset into the IORT is zero, which is clearly an firmware bug as it needs to be defined as an offset to the parent table. The node has been ignored.",
"label": "KlogAcpiIortNullRef",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SINGLE MAPPING flag not allowed for node type",
"advice": "An ACPI I/O Remapping Table (IORT) node single mapping flag (bit 0 in node map flags) indicates that the node type is a single mapping node, however this is not allowed for this node. Ignoring node as this is a firmware bug in the IORT.",
"label": "KlogAcpiIortIdMap",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Interpreter disabled",
"advice": "The ACPI interpreter initialization failed and so ACPI has been disabled",
"label": "KlogAcpiDisabled",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "cannot allocate memory for new IOAPIC",
"advice": "The ACPI APIC driver was unable to allocate memory while trying to add a new IOAPIC to the system; IOAPIC was ignored.",
"label": "KlogAcpiIoapicNoMem"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT not used",
"advice": "An error in the ACPI System Resource Affinity Table has been found, NUMA will not be enabled.",
"label": "KlogAcpiSratNotUsed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Unexpected header length",
"advice": "An unexpected ACPI System Resource Affinity Table header length has been detected, NUMA will not be enabled.",
"label": "KlogAcpiSratBadHeaderLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Too many proximity domains",
"advice": "The ACPI System Resource Affinity Table has more proximity domains listed than the maximum kernel defined number of NUMA nodes. The Linux kernel CONFIG_NODES_SHIFT needs to be increaded.",
"label": "KlogAcpiSratNumaNodeLimit",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Failed to add memblk to node",
"advice": "The ACPI NUMA driver failed to add a NUMA memory block to a node. NUMA will not be enabled.",
"label": "KlogAcpiNumaMemblkAddFailure",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Failed to mark hotplug range",
"advice": "The ACPI NUMA driver failed to mark a NUMA memory plug as hotpluggable.",
"label": "KlogAcpiNumaMemblkHotplugFailure",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "wrong table version",
"advice": "The ACPI Serial Port Console Redirection Table (SPCR) was expected to be at least version 2 or higher. APCI Serial Port Console will be ignored.",
"label": "KlogAcpiSprWrongVersion"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "acpi resource window .* ignored, not CPU addressable",
"advice": "An ACPI resource window could not be configured, the space was not addressable and has been ignored. One of the ACPI _CRS objects is incorrect. Check this with the fwts crsdump.",
"label": "KlogAcpiResourceWindowIgnored"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Limiting number of LPI states to max",
"advice": "The number of CPU C States as returned by the _CST package is more than the ACPI Processor Idle driver supports. Limited it to a kerneld defined maximum.",
"label": "KlogAcpiCpuIdleLpiStatesMax"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "STAO table present, but SPCR is missing",
"advice": "ACPI _STA Override Table (STAO) exists and indicates that the STOA UART settings should be ignored and should use the SPCR, however there is no Serial Port Console Redirection Table containing serial port UART address information.",
"label": "KlogAcpiSpcrMissing"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "iort node pointer overflows, bad table",
"advice": "ACPI ARM64 IORT driver detected an IORT node that is outside the ACPI IORT table. The table as been deemed to be broken and has been ignored",
"label": "KlogAcpiIortNodeOutsideTable"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "could not register gsi hwirq",
"advice": "ACPI ARM64 IORT driver failed to register the GSI IRQ",
"label": "KlogAcpiIortIrqRegisterFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "requested ITS ID index .* is greater than available",
"advice": "ACPI ARM64 IORT driver failed to find a device by an ITS ID but the provided ID index is greater than the available ITS count, driver returned -ENXIO",
"label": "KlogAcpiIortBadItsIdIndex"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ID map has NULL parent reference",
"advice": "ACPI ARM64 IORT driver failed to get an IORT node ID, the map parent reference was NULL which is indicative of a firmware bug in the ACPI I/O Remapping Table",
"label": "KlogAcpiIortIdMapNull"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to create AML debugger thread",
"advice": "The ACPI driver debugger failed to create a kernel thread to allow ACPI debugging, debugger failed to start",
"label": "KlogAcpiAmlDebugThreadFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "amba_device_add() failed",
"advice": "ACPI AMBA device ARMH0061 (an ARM PL061 GPIO device) device add failed",
"label": "KlogAcpiAmbaDevAddFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "amba_device_alloc() failed",
"advice": "ACPI AMBA device ARMH0061 (an ARM PL061 GPIO device) device allocate failed",
"label": "KlogAcpiAmbaDevAllocFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "device is empty",
"advice": "ACPI memory hot-plug device is empty",
"label": "KlogAcpiMemHotPlugDeviceEmpty"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "add_memory failed",
"advice": "ACPI memory hot-plug failed to enable a memory device",
"label": "KlogAcpiMemHotPlugAddMemFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Limiting number of LPI states to max",
"advice": "The ACPI C States (_CST) object contains more LPI states than the kernel has configired, so this has been limited to the maximum states allowed by the driver",
"label": "KlogAcpiLpiLimited"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to register spa range",
"advice": "The ACPI NFIT driver was unable to register a memory region because of an invalid System Physical Address (SPA)",
"label": "KlogAcpiNfitInvalidSPA"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to process ARS records",
"advice": "The ACPI NFIT driver was unable to Address Range Scrub (ARS) records",
"label": "KlogAcpiNfitARSProcessFail"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ARS: range .* ARS failed",
"advice": "The ACPI NFIT driver encounter the Address Range Scrub(ARS) start failed with the System Physical Address",
"label": "KlogAcpiNfitARSRangeFail"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ": notification registration failed",
"advice": "The ACPI NFIT driver was unable to install a notify handler for an NFIT NVDIMM device, device was marked as not available",
"label": "KlogAcpiNfitNVDIMM"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error found in NVDIMM .* flags:",
"advice": "The ACPI NFIT driver encountered a NVDIMM region and its mapping NVDIMM state flags error.",
"label": "KlogAcpiNfitNVDIMMFlagError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to set state by _FSL",
"advice": "The ACPI fan driver could not set the fan speed because the Fan Set Level (_FSL) control failed",
"label": "KlogAcpiFanFslSetFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "\\[.*:.*\\] Invalid zero length",
"advice": "An ACPI MADT subtable has been found with an invalid zero length. MADT parsing was aborted.",
"label": "KlogAcpiMadtZeroLengthSubTable"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "BIOS bug: multiple APIC/MADT found, using",
"advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found. One can use acpi_apic_instance=N to specify the Nth ACPI/MADT to use as an override if required.",
"label": "KlogAcpiMultipleMadt"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Override \\[.*\\], this is unsafe: tainting kernel",
"advice": "One or more ACPI tables have been overridden with replacement tables, this sets a taint bit in the kernel since this is an unsafe operation.",
"label": "KlogAcpiKernelTainted"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI OVERRIDE: Table smaller than ACPI header",
"advice": "An override ACPI table from kernel/firmware/acpi has an invalid ACPI table header size and will be ignored.",
"label": "KlogAcpiInvalidOverrideTable"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI OVERRIDE: Unknown signature",
"advice": "An override ACPI table has an unknown ACPI table signature and will be ignored.",
"label": "KlogAcpiInvalidOverrideTableSig"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI OVERRIDE: File length does not match table length",
"advice": "An override ACPI table has an invalid length and will be ignored.",
"label": "KlogAcpiInvalidOverrideTableLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI OVERRIDE: Bad table checksum",
"advice": "An override ACPI table has an invalid checksum and will be ignored.",
"label": "KlogAcpiInvalidOverrideTableChecksum"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Shall use APIC/MADT table",
"advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found. Using a specific MADT table.",
"label": "KlogAcpiMadtSelected"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "IRQ method execution failed",
"advice": "The ACPI Generic Eventi Device (GED) Driver failed to execute an _EVT method when handling a GE interrupt in a kernel thread. Note: this error is reported only once, but may be occurring multiple times.",
"label": "KlogAcpiGedIrqExecFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "unable to parse IRQ resource",
"advice": "The ACPI Generic Event Device (GED) Driver failed to get IRQ resources for a GED, the evaluation of an ACPI _CRS object associated with it failed. The device will not be enabled.",
"label": "KlogAcpiGedIrqCrsFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "cannot locate _EVT method",
"advice": "The ACPI Generic Event Device (GED) Driver failed to find the _EVT method associated with the GED. The device will not be enabled.",
"label": "KlogAcpiGedEvtNotAvailable"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to setup event handler for irq",
"advice": "The ACPI Generic Event Device (GED) Driver failed to start a kernel thread to handle the GED events. The device will not be enabled.",
"label": "KlogAcpiGedHandlerFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "unable to parse the _CRS record",
"advice": "The ACPI Generic Event Device (GED) Driver failed to parse the _CRS object associated with a GED and hence could not determine the interrupt resources for the device. he device will not be enabled.",
"label": "KlogAcpiGedCrsFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Misaligned resource pointer",
"advice": "The ACPI driver detected a resource pointer that is not naturally aligned to a 32 bit boundary. This has been automatically fixed and should not cause any issues.",
"label": "KlogAcpiResourceDescriptorError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid interrupt polarity/trigger in resource list",
"advice": "The ACPI driver detected invalid interrupt polarity/trigger settings in a resource list. Only active high / edge_sensitive and active_low / level_senstive are allowed, so IRQ flags 0x00 and 0x09 are invalid.",
"label": "KlogAcpiResourceDescriptorError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid DMA.Transfer preference",
"advice": "The ACPI driver detected invalid DMA Transfer preference in a resource list. DMA Transfer preference 0x03 is invalid.",
"label": "KlogAcpiResourceDescriptorError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Failure in evaluating _TTS object",
"advice": "The APCI Transition To State (_TTS) control failed to be evaluated. This control is executated by the OS when a sleep transition occurs, however, failure to execute this generally is not an issue because firmware generally does not include it and not having it will not break transitioning to sleep states.",
"label": "KlogAcpiSleepEvalTts"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failure in evaluating _PTS object",
"advice": "The APCI Prepare To State (_PTS) control failed to be evaluated. This control is executated by the OS when a sleep transition occurs, however, failure to execute this generally is not an issue and will not break the transitioning to sleep.",
"label": "KlogAcpiSleepEvalPts"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI does not support sleep state S",
"advice": "The ACPI driver could not put the machine into the desired sleep state because the sleep state is not supported.",
"label": "KlogAcpiSleepStateNoSupport"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Warning: Failed to enable wakeup from IRQ",
"advice": "The ACPI driver could not set the wakeup mode enabled which can let this IRQ wake the system from sleep.",
"label": "KlogAcpiEnableWakeupIRQFail"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Hardware changed while hibernated, success doubtful",
"advice": "The FACS hardware signature does not match the saved hardware signature. The kernel detected a change in the hardware so the resume from hibernate may not work or be possibly broken.",
"label": "KlogAcpiHibernateHwChange"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "detected - limiting to C.* max_cstate",
"advice": "The maximum C state has been limited by the ACPI processor idle driver because of a known bug on this platform, for instance, going to a deeper C state can hang the machine. This can be overridden using the kernel parameter processor.max_cstate to set to a deeper C state if required.",
"label": "KlogAcpiIdleMaxCStateLimited"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "FW issue: working around C-state latencies out of order",
"advice": "The ACPI processor idle driver gets the out of order latencies for C-state from firmware and workaroud it.",
"label": "KlogAcpiCStateBadLatency"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI: processor limited to max C-state",
"advice": "The maximum C state is less than the maximum allowed processor C states, so the CPU cannot go into a deep idle C state which means it is not optimally configured for power saving.",
"label": "KlogAcpiIdleMaxCStateLimited"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "battery: (dis)charge rate invalid",
"advice": "The ACPI Battery Status (_BST) object is returning an invalid dischar or charge rate. This can be either a negative 16 bit value or reporting 0 as 65536 because of an invalid calculation in the DSDT. The Linux ACPI battery driver has detected this firmware bug and attempted to work around it.",
"label": "KlogAcpiBstInvalidRate"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "(dis)charge rate invalid",
"advice": "The ACPI Battery Status (_BST) object is returning an invalid dischar or charge rate. This can be either a negative 16 bit value or reporting 0 as 65536 because of an invalid calculation in the DSDT. The Linux ACPI battery driver has detected this firmware bug and attempted to work around it.",
"label": "KlogAcpiBstInvalidRate"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Err sending PCC mbox message. cmd",
"advice": "The ACPI CPPC (Collaborative Processor Performance Control) driver attempted to send a command via the PCC mailbox but it failed to be sent. If this persists then the CPU freq drivers cannot control CPU performance using the _CPC ACPI tables.",
"label": "KlogAcpiCppcSendError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to find PCC communication channel",
"advice": "The ACPI CPPC (Collaborative Processor Performance Control) driver could not find the requested PCC communication channel and so the CPU freq driver cannot control CPU performance via the _CPC ACPI tables. This error occurs because the requested PCC communication channel is not defined in the ACPI Platform Communications Channel Table (PCCT).",
"label": "KlogAcpiPccFailure"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No PCC subspace found for CPPC",
"advice": "The PCC mailbox controller could not parse the ACPI Platform Communications Channel Table (PCCT) and find the PCC subspace communication region. The CPU freq driver cannot control CPU performance via the _CPC ACPI tables.",
"label": "KlogAcpiPccNoSubspace"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to ioremap PCC comm region mem",
"advice": "The ACPI CPPC driver could not map the PCC subspace communication region, so the CPU freq driver cannot control CPU performance via the _CPC ACPI tables.",
"label": "KlogAcpiCppcIomapFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Failed to parse MCFG",
"advice": "The ACPI MCFG (PCI Express memory mapped configuration space base address Description Table) cannot be parsed (due to an error in the table) and so PCIe memory mapped configuration has failed - expect PCIe devices not to function",
"label": "KlogAcpiMcfgParseFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "no secondary bus range in _CRS",
"advice": "ACPI evaluated a _CRS (Current Resource Setting) object to determine the start and end of of a PCI downsteam bus range and did not find the end address, so an end address of 0xff is being assumed",
"label": "KlogAcpiPciCrsNoEndAddr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to parse _CRS method, error code",
"advice": "ACPI tried to evaluateda _CRS (Current Resource Setting) object to determine PCI root resources, but the _CRS object could not be parsed.",
"label": "KlogAcpiPciCrsParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "found a zero length table .* parsing nfit",
"advice": "An ACPI NVDIMM Firmware Interface Table (NFIT) header indicates a NFIT table has an invalid zero size and has been ignored. This will lead to a NVDIMM not being recognised by the system",
"label": "KlogAcpiNfitZereSize"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SPA .* missing DCR",
"advice": "An ACPI NVDIMM Firmware Interface Table (NFIT) Control Region Structure (DCR) is missing a System Physical Address (SPA), NFIT table is incorrect.",
"label": "KlogAcpiNfitDcrSpaError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error installing CMOS-RTC region handler",
"advice": "The ACPI CMOS Real Time Clock (RTC) driver could not install a CMOS address space region handler (this allows CMOS read/writes). This failure has caused the ACPI CMOS RTC functionality to fail",
"label": "KlogAcpiCmosRtcHandler"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error removing CMOS-RTC region handler",
"advice": "The ACPI CMOS Real Time Clock (RTC) driver could not remove a CMOS address space region handler",
"label": "KlogAcpiCmosRtcHandler"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: SRAT not used",
"advice": "The NUMA affinity configuration could not be determined because of errors in the ACPI SRAT table",
"label": "KlogAcpiSratNotUsed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "SRAT: Failed to mark hotplug range",
"advice": "A hotpluggable memory range failed to be marked as hotpluggable. This generally occurs because the memory range is invalid and may overlap other memory regions.",
"label": "KlogAcpiSratNotUsed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Unexpected header length",
"advice": "The NUMA affinity configuration could not be determined because the ACPI SRAT table header was the incorrect size.",
"label": "KlogAcpiSratBadHeader"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Too many proximity domains",
"advice": "The NUMA affinity configuration failed because the number of NUMA nodes is greater than the system defined hard limit of 1 << CONFIG_NODES_SHIFT. The kernel config value for CONFIG_NODES_SHIFT needs to be increased.",
"label": "KlogAcpiSratTooManyNodes"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SRAT: Failed to add memblk to node",
"advice": "The per-architecture NUMA implementation was unable to add a NUMA memory block to the memory information data structures. This may occur if the node id is more than the maximum system configured number of NUMA nodes or all the allowed memory block ranges are used.",
"label": "KlogAcpiSratMemBlkAddFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SLIT table looks invalid. Not used",
"advice": "The ACPI SLIT (System Locality Distance Information) is not parsable or looks suspect, NUMA affinity cannot be configured.",
"label": "KlogAcpiSratMemBlkAddFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "stale EC events cleared",
"advice": "The ACPI Embedded Controller (EC) driver has cleared the maximum number of pending ACPI _Q events that have accumulated in the EC before giving up. There may be more events pending that have not been cleared.",
"label": "KlogAcpiEcStaleEvents"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to remove space handler",
"advice": "The ACPI Embedded Controller (EC) driver failed to remove the EC address space handler.",
"label": "KlogAcpiEcHandlerRemoveFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to remove gpe handler",
"advice": "The ACPI Embedded Controller (EC) driver failed to remove the EC General Purpose Events (GPE) handler.",
"label": "KlogAcpiEcHandlerRemoveFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "While parsing/handling command line",
"advice": "The ACPI debugger failed to parse the debug command",
"label": "KlogAcpiDbgParseError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid Reference Class 0x",
"advice": "An ACPI error occurred getting an ACPI object reference. The reference class was not LOCAL, ARG or DEBUG.",
"label": "KlogAcpiRefClassInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "error while performing ARS to find poison:",
"advice": "The ACPI NFIT (NVDIMM Firmware Interface Table) driver encountered an error while performing Address Range Scrub, so aborting initialization. ARS should never fail.",
"label": "KlogAcpiNfitArsPoison"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to set initial power state",
"advice": "The ACPI fan driver was unable to update the fan device power state",
"label": "KlogAcpiFanPowerState"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Could not start debugger thread",
"advice": "The ACPI debugger could not start a kernel thread to execute a debug command, most probably a kernel resource issue.",
"label": "KlogAcpiDbgThreadErr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Possible overflow of internal debugger buffer",
"advice": "The ACPI debugger detected a error when evaluating an ACPI object or method, possibly a buffer overflow bug in the ACPI debugger.",
"label": "KlogAcpiDbgBufOverflow"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "while executing .* from debugger",
"advice": "The ACPI debugger detected a error when evaluating an ACPI object or method.",
"label": "KlogAcpiDbgErr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "While parsing method arguments",
"advice": "The ACPI debugger could not parse the debugger command line (incorrect method arguments), most probably a user error.",
"label": "KlogAcpiDbgCmdLine"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "While parsing command line",
"advice": "The ACPI debugger could not parse the debugger command line, most probably a user error.",
"label": "KlogAcpiDbgCmdLine"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "(.*): Object must be a control method",
"advice": "An error occurred disassembling an ACPI method, the namespace node was not an ACPI method.",
"label": "KlogAcpiObjNotControlMethod"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Target must be [Buffer/Integer/String/Reference]",
"advice": "An error occurred storing an ACPI object that was not the expected object type of ACPU buffer, integer, string or reference.",
"label": "KlogAcpiObjStoreInvalidSrcType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot assign type .* to .*source must be type Pkg",
"advice": "An error occurred storing an ACPI object that was not an ACPI package to a named object that was an ACPI package, this is not allowed.",
"label": "KlogAcpiObjStoreInvalidSrcType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid _FIT",
"advice": "ACPI _FIT (Firmware Interface Table) method returned an object that was not the expected ACPI buffer object type.",
"label": "KlogAcpiInvalidFitObject"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Target is not of type .*Package.*BufferField",
"advice": "ACPI execution engine failed to store a value in an ACPI buffer or Package Element because the destination type was incorrect. The AML code in the firmware has a bug.",
"label": "KlogAcpiInvalidDestinationType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Source must be type .*Integer.*Buffer.*String.*, found",
"advice": "ACPI execution engine failed to store a value in an ACPI buffer or Package Element because the source type was incorrect. The AML code in the firmware has a bug.",
"label": "KlogAcpiInvalidSourceType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "During invocation of sleep state",
"advice": "Invoking one of the ACPI sleep states (S0 through to S5) failed to complete, either when trying to transition to the sleep state or returning from it.",
"label": "KlogAcpiSleepError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "No IRQ available for",
"advice": "The ACPI driver failed to allocate an IRQ to a PCI link, possibly because of previous IRQ allocations that have precedence. A workaround is to use kernel parameter pci=noacpi or acpi=off",
"label": "KlogAcpiPciLinkIrq"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ACPI: Invalid data",
"advice": "ACPI _BCL method (Query List of Brightness Control Levels Supported) returned a package that did not contain integer brightness levels",
"label": "KlogAcpiBclInvalidData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to merge updated NFIT",
"advice": "ACPI NFIT driver failed to merge the new NFIT from the _FIT object and resorted to using the previous (old) one instead",
"label": "KlogAcpiNfitMergeError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to evaluate _FIT",
"advice": "ACPI NFIT driver failed to evaluate the _FIT (Firmware Interface Table) object and no buffer was returned causing the NFIT notify event to fail",
"label": "KlogAcpiFitEvalError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "error initializing acpi_desc:",
"advice": "ACPI NFIT driver failed to initialize, either because it was out of memory (unlikely) or the NVDIMM bus failed to register",
"label": "KlogAcpiNfitInitFail"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "new nfit deletes entries",
"advice": "ACPI NFIT driver could not delete NFIT structure entries, this is funcionality is not currently supported by the ACPI NFIT driver",
"label": "KlogAcpiNfitDeleteNoSupport"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to find NFIT",
"advice": "ACPI NFIT driver could not find an ACPI NFIT table",
"label": "KlogAcpiNfitNoTable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "spa.* exceeds max mappings",
"advice": "ACPI NFIT driver failed to make a NFIT DIMM mapping, exceeded the configured maximum allowed",
"label": "KlogAcpiNfitMappingsExceeded"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "spa.* dimm: .* not found",
"advice": "ACPI NFIT driver could not map a NFIT DIMM, device is not enabled.",
"label": "KlogAcpiNfitDimmNotFound"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to find DCR",
"advice": "ACPI NFIT driver could not find a Device Control Region for a DIMM, device is not enabled.",
"label": "KlogAcpiNfitNoDcr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "duplicate DCR detected:",
"advice": "ACPI NFIT driver found multiple Device Control Regions for a DIMM, the first one found was selected.",
"label": "KlogAcpiNfitDuplicateDcr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to retrieve_STA, disabling...",
"advice": "ACPI NFIT driver could not evaluate the _STA object for an NFIT device, so it was not enabled",
"label": "KlogAcpiNfitNoAddr"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "no ACPI.NFIT device with _ADR .*, disabling...",
"advice": "ACPI NFIT driver could not find a child device with a specific address, so it was not enabled",
"label": "KlogAcpiNfitNoAddr"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "unknown table .* parsing nfit",
"advice": "ACPI NFIT driver found an unknown NFIT structure type and cannot parse this particular NFIT structure",
"label": "KlogAcpiNfitInvalidType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "underrun cmd: .* buf_len: .* out_len:",
"advice": "ACPI NFIT driver could not send a control message, output buffer overran",
"label": "KlogAcpiNfit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Table .* OEM:.* not found in RSDT/XSDT",
"advice": "ACPI could not found a specified ACPI table while evaluating table region operands. The table does not exist in the RSDT or XSDT table pointers",
"label": "KlogAcpiTableNotFound"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "[DSDT] table load failed",
"advice": "ACPI was unable to load the DSDT, system will be missing AML from the Differentiated System Description Table",
"label": "KlogAcpiDSDTLoadFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "(.*:.*) while loading table",
"advice": "ACPI was unable to load an ACPI table, an ACPI exception occurred trying to load it",
"label": "KlogAcpiTableLoadFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ".* table load failures, .* successful",
"advice": "ACPI was unable to load one or more ACPI tables",
"label": "KlogAcpiTableLoadFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Node is unresolved or uninitialized",
"advice": "Internal ACPI error while trying to resolve an ACPI object node",
"label": "KlogAcpiNodeError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "fan state failed",
"advice": "ACPI could not evaluate the fan state via the _FST object, perhaps this object does not exist or the object fails to evaluate correctly.",
"label": "KlogAcpiGetFanState"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FST data",
"advice": "ACPI could not evaluate the fan state via the _FST object, one of the elements in the package may be an incorrect ACPI type.",
"label": "KlogAcpiGetFanStateBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FIF data",
"advice": "ACPI could not evaluate the fan device information via the _FIF object, the returned object was not an ACPI package as expected.",
"label": "KlogAcpiGetFanInfo"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FIF element",
"advice": "ACPI could not evaluate the fan device information via the _FIF object, the returned package contained an element that was not of the correct ACPI type.",
"label": "KlogAcpiGetFanInfoBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FPS data",
"advice": "ACPI could not evaluate the fan device information via the _FPS object, the returned object was not an ACPI package as expected.",
"label": "KlogAcpiGetFanDevInfo"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FPS element",
"advice": "ACPI could not evaluate the fan device information via the _FPS object, the returned package contained an element that was not of the correct ACPI type.",
"label": "KlogAcpiGetFanDevInfoBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No memory for fan",
"advice": "ACPI failed to create an ACPI fan device, there was not enough memory to allocate the device.",
"label": "KlogAcpiFanNoMem"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _FIF element",
"advice": "ACPI could not evaluate the fan state via the _FST object, one of the elements in the package may be an incorrect ACPI type.",
"label": "KlogAcpiGetFanStateBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not acquire table length at",
"advice": "ACPI could not determine the length of an ACPI table. This can occur, for example, if the table cannot be mapped into memory or the header is corrupted or non-standard.",
"label": "KlogAcpiTableLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Attempted table install failed",
"advice": "An ACPI table could not be installed because the checksum was invalid.",
"label": "KlogAcpiTableInstall"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _STA",
"advice": "The ACPI method _STA (Status) failed to evaluate. This may cause some device drivers to not function as expected, for example, this error is reported when the ACPI battery status cannot be evaluated and so the battery updates will not function.",
"label": "KlogAcpiSTAEval"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Circular handler list in region object",
"advice": "Internal corruption to the ACPI region handler list has occurred and ACPI has detected this issue while detaching a region and aborted an infinite loop while attempting to traverse the list. This has been known to occur with some firmware tripping a possible internal ACPI bug.",
"label": "KlogAcpiCircularList"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Circular region list in address handler object",
"advice": "Internal corruption to the ACPI region handler list has occurred and ACPI has detected this issue during deletion of a region object and aborted an infinite loop while attempting to traverse the list. This has been known to occur with some firmware tripping a possible internal ACPI bug.",
"label": "KlogAcpiCircularList"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Path has too many parent prefixes.*reached beyond root node",
"advice": "The firmware specified an ACPI path using too many parent ^ prefixes and reached a point where there are no parent nodes in the hierarchy and so the referenced object could not be found. The kernel cannot find the named object because of this bug in the firmware and this may lead to broken or misbehaving behaviour.",
"label": "KlogAcpiPathTooManyParentPrefixes"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "mem=nopentium ignored! (only supported on x86_32)",
"advice": "The kernel parameter mem=nopentium (to disable 4MB pages) was ignored as it only applies to 32 bit x86 systems.",
"label": "KlogE8320BiosKernelParameter"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "e820: failed to memremap setup_data entry",
"advice": "Fail to memory remap the bootloader's extensible setup_data structures.",
"label": "KlogE8320MemremapSetupData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "e820: failed to memremap indirect setup_data",
"advice": "Fail to memory remap the bootloader's extensible indirect setup_data structures.",
"label": "KlogE8320MemremapIndirectSetupData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "apm: Could not register misc device",
"advice": "APM misc device could not be registered. However, the driver can work without this, but userspace cannot control it.",
"label": "KlogBiosApmMiscDevice"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Could not allocate an object descriptor",
"advice": "The ACPI driver was unable to allocate an object descriptor from the ACPI global operand cache, see acpi_ut_allocate_object_desc_dbg().",
"label": "KlogAcpiAllocObjDescriptor"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Oops, ACPI handle corrupt in",
"advice": "An error occurred attempting to get an ACPI handle from a kernel device structure. The handle appears to be corrupt and invalid, so the unbinding of links to the device could not be actioned. See acpi_unbind_one(). This could be due to an ACPI kernel bug or a genenal memory corruption issue.",
"label": "KlogAcpiHandleCorrupt"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to create link",
"advice": "The ACPI driver failed to create a sysfs link on a firmware node. Depending on the firmware node this may impede userspace from interfacing with the firmware. See acpi_bind_one().",
"label": "KlogAcpiSysfsCreateLinkFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No memory for resources",
"advice": "An out of memory error occurred attempting to allocate resources while creating a platform device for an ACPI device node.",
"label": "KlogAcpiPlatformDeviceNoMemory"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "kset create error",
"advice": "The ACPI initialization failed to create the acpi_kobj kobject and so it won't appear in /sys/firmware. This may cause some user space applications difficulties if this is not created and populated. See acpi_init().",
"label": "KlogAcpiSysfsFirmwareNotCreated"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error creating sysfs interface for device ",
"advice": "An error occurred when adding a new ACPI device and the sysfs interface could not be created.",
"label": "KlogAcpiSysfsDeviceInterfaceFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error registering device",
"advice": "An error occurred when adding a new ACPI device, the device registration failed. See acpi_device_add().",
"label": "KlogAcpi"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid reference in package",
"advice": "An error occurred while trying to evaluate an ACPI reference. An element in the package had a NULL reference handle.",
"label": "KlogAcpiNullReferenceInPackage"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid package element.*got reference",
"advice": "An error occurred while trying to extract a ACPI package, got an ACPI reference in a package element, but was expecting a different type.",
"label": "KlogAcpiInvalidPackageElement"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid package element.*got string.*buffer",
"advice": "An error occurred while trying to extract a ACPI package, got a string or a buffer in a package element, but was expecting a different type.",
"label": "KlogAcpiInvalidPackageElement"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid package element.*got number",
"advice": "An error occurred while trying to extract a ACPI package, got an integer in a package element, but was expecting a different type.",
"label": "KlogAcpiInvalidPackageElement"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Format specifies more objects.*than exist in package",
"advice": "An error occurred while trying to extract an ACPI package, the format specifier specifies more object than actually exist in the package. See acpi_extract_package().",
"label": "KlogAcpiBadFormatSpecifier"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Deprecated procfs I/F for AC is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared",
"advice": "Using an old procfs interface for ACPI AC Adapter, this occurs if CONFIG_ACPI_PROCFS_POWER is enabled. This should be disabled for kernels > 2.6.37.",
"label": "KlogAcpiDeprecatedProcfsInterface"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared",
"advice": "Using an old procfs interface for ACPI battery, this occurs if CONFIG_ACPI_PROCFS_POWER is enabled. This should be disabled for kernels > 2.6.37.",
"label": "KlogAcpiDeprecatedProcfsInterface"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Deprecated procfs I/F for SBS is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared",
"advice": "Using an old procfs interface for ACPI battery, this occurs if CONFIG_ACPI_PROCFS_POWER is enabled. This should be disabled for kernels > 2.6.37.",
"label": "KlogAcpiDeprecatedProcfsInterface"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unsupported Throttling notifier event",
"advice": "This is an internal ACPI driver error, an unknown processor throttling notifier event has been passed to acpi_processor_throttling_notifier(). This error is very unlikely and is an ACPI driver bug.",
"label": "KlogAcpiUnkownCpuThrottleNotifier"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to create genetlink family for ACPI event",
"advice": "An internal kernel error occurred during ACPI driver genetic link initialization. See acpi_event_genetlink_init() in drivers/acpi/event.c for more information.",
"label": "KlogAcpiGenetlinkInitFail"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Can not change Invalid GPE/Fixed Event status",
"advice": "The ACPI_EVENT_FLAG_HANDLE bit in the event status was not set which is invalid, aborting setting a GPE or Fixed Event counter.",
"label": "KlogAcpiInvalidStatus"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ignored .* entries of .* found",
"advice": "The ACPI table had more sub-table entries than expected, the extra entries were ignored.",
"label": "KlogAcpiTableLargerThanExpected"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "No return value",
"advice": "An ACPI object evaluation failed because the caller requested a return value but the return buffer length was zero which is not enough to store the return value.",
"label": "KlogAcpiEvalZeroBufferLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Blank _PRS EXT IRQ resource",
"advice": "An error occurred evaluating an ACPI _PRS IRQ resource, the resource was NULL or the interrupt count was zero.",
"label": "KlogAcpiBlankPrsIrqResource"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Blank _CRS EXT IRQ resource",
"advice": "An error occurred evaluating an ACPI _CRS IRQ resource, the resource was NULL or the interrupt count was zero.",
"label": "KlogAcpiBlankCrsIrqResource"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "BIOS reported IRQ .*, using IRQ",
"advice": "ACPI _CRS reported that a link should be using a specific IRQ, however a different IRQ is being used for the PCI link and _CRS has been ignored.",
"label": "KlogAcpiCrsIgnoredForPciLinkIrq"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "_CRS .* not found in _PRS",
"advice": "This error only occurs in ACPI strict mode. An interrupt specified by _CRS was not found in the _PRS, so a PCI interrupt is chosen from the last entry of the _PRS list.",
"label": "KlogAcpiCrsNotInPrs"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Your BIOS is broken and requested that x2apic be disabled",
"advice": "The DMAR DMAR_X2APIC_OPT_OUT bit was set so the firmware requested that the x2apic should be disabled leading to decreased system performance. The firmware opt out can be overridden using the intremap=no_x2apic_optout kernel parameter.",
"label": "KlogSratEntryUnsupported"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Found unsupported SRAT entry",
"advice": "The kernel detected an entry in the ACPI System Resource Affinity Table (SRAT) that was not recognised. Processor local APIC/SAPIC affinity (0), Memory affinity (1) and Processory local x2APIC affinity (2) are only supported.",
"label": "KlogSratEntryUnsupported"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Found unsupported x2apic \\[.*\\] SRAT entry",
"advice": "This warning occurs because NUMA x2apic affinity is not enabled. Kernel config CONFIG_ACPI_NUMA must be enabled to avoid this warning.",
"label": "KlogSratx2apicUnsupported"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Exceed the limit of T-state",
"advice": "An attempt to change the throttling state to one that is outside the range of T-states as provided by the Throttling Supported States _TSS package. The last (and hence lowest performance) state has been selected instead.",
"label": "KlogTstateLimitExceeded"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "duty_cycle spans bit 4",
"advice": "The FADT Duty Cycle Offset and Duty Cycle Width is > 4, which means there are more than the maximum allowed 16 processor throttling states so throttling will be be disabled.",
"label": "KlogTooManyThrottlingStates"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid package argument",
"advice": "The ACPI driver attempted to extract an ACPI package but found that the ACPI object was either NULL or was not a package or was a package that had zero elements.",
"label": "KlogInvalidPackageArgument"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid format argument",
"advice": "The ACPI driver attempted to extract an ACPI package but found that the format was NULL or the format pointer was NULL or the format length was less than 1.",
"label": "KlogInvalidFormatArgument"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Invalid buffer argument",
"advice": "The ACPI driver attempted to extract an ACPI package but found that the destination buffer was NULL.",
"label": "KlogInvalidBufferArgument"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Limiting number of power states to max",
"advice": "The ACPI C states object (_CST) contains more C states than ACPI supports and so the kernel has had to limit this. To enable more C states, one must increase the kernel ACPI macro ACPI_PROCESSOR_MAX_POWER.",
"label": "KlogLimitPowerStates"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Duplicate ACPI video bus devices for the same VGA controller",
"advice": "The ACPI video driver has found a duplicate ACPI video bus device for the same VGA controller. If the current driver does not work, one can try to work around this using the video.allow_duplicates=1 kernel parameter.",
"label": "KlogDuplicateACPIVideoBus"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "TSC doesn't count with P0 frequency",
"advice": "The AMD processor has the x86 constant TSC feature enabled but the firmware has not set bit 24 of the MSR MSR_K7_HWCR and so the processor TSC does not count in the P0 frequency level. This is a firmware bug.",
"label": "KlogAmdTscP0FreqNoCount"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "BIOS strings suggest APM bugs, disabling power status reporting",
"advice": "The firmware is known to have broken Advanced Power Management (APM), so APM has been disabled.",
"label": "KlogApmBiosBroken"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "BIOS strings suggest APM reports battery life in minutes and wrong byte order",
"advice": "The firmware is known to report the battery life in minutes in the wrong byte order, so the kernel has detected this and will work around the firmware bug. This is known to occur on many Sony laptops.",
"label": "KlogApmMinuteSwapBytes"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Disabling ACPI support",
"advice": "The machine has had ACPI support disabled because either the firmware is way too old, or it is known to have broken or bad ACPI support. One can try to override this with the acpi=force kernel parameter, but the machine may still hang or not work correctly.",
"label": "KlogAcpiDisabled"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "acpi=force override",
"advice": "The kernel has been forced to enabled ACPI. This is sometimes required because ACPI support has been disabled because the firmware is too old or was blocklisted because it has known ACPI issues.",
"label": "KlogAcpiForceOverride"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Invalid passive threshold",
"advice": "The ACPI driver attempted to evaluate the ACPI Passive List (_PSL) object for a particular thermal zone but this failed. The passive cooling for that particular thermal zone has been invalidated.",
"label": "KlogInvalidPassiveThreshold"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Critical threshold",
"advice": "The firmware critical trip point has been overridden using the kernel critical trip point kernel parameter crt.",
"label": "KlogCriticalThreshold"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Found unsupported MADT entry",
"advice": "The ACPI Multiple APIC Description Table (MADT) contains an entry that has an unknown MADT header type. This will be ignored, but it does suggest a broken or buggyy ACPI MADT.",
"label": "KlogMadtEntryUnsupported"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown interrupt routing model",
"advice": "An internal ACPI driver bug has occurred. acpi_bus_init_irq has detected an unknown interrupt routing model in acpi_irq_model. This most probably is a kernel bug.",
"label": "KlogAcpiIrqModelUnknown"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Unable to map SBF",
"advice": "The kernel was unable to map the ACPI BOOT table and hence unable to determine the port to set the Simple Boot Flag.",
"label": "KlogBootTableNotMapped"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "DMAR: Recommended TLB entries for ISOCH unit is 16; your BIOS set",
"advice": "The recommended number of TLB entries for the ISOCH DMAR unit should be 16, however the firmware has misconfigured this.",
"label": "KlogDmarTlbEntriesMisconfigured"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot transition to non-D0 state from D3",
"advice": "ACPI cannot transition a device from a D3 state to a non-D0 state.",
"label": "KlogAcpiD0TransitionFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot set device to a higher-powered state than parent",
"advice": "ACPI cannot transition a device to a higher power state to that of the parent device.",
"label": "KlogAcpiHigherPowerStateThanParent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Device \\[.*\\] failed to transition to",
"advice": "ACPI cannot transition a device to a different power state.",
"label": "KlogAcpiPowerStateTransitionFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PRS IRQ",
"advice": "The ACPI Possible Resource Settings (_PRS) object returned an invalid IRQ mapping from a PCI interrupt pin to the interrupt input of an interrupt controller.",
"label": "KlogAcpiInvalidPrsIrq"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "firmware reports .*:.*:.* PCI INT .* connected to .*; changing to",
"advice": "The kernel has detected a PCI interrupt configuration than needed to be quirked to make it work correctly.",
"label": "KlogAcpiPciIntRemap"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "Firmware reports .*:.*:.* PCI INT .* connected to .*; changing to",
"advice": "The kernel has detected a PCI interrupt configuration than needed to be quirked to make it work correctly.",
"label": "KlogAcpiPciIntRemap"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "Cannot reroute IRQ %d to legacy IRQ: unknown mapping",
"advice": "Some chipsets generate a legacy INTx when the IRQ entry in the chipset's IO-APIC is masked. When this INTx generation cannot be disabled, kernel reroute these interrupts to their legacy equivalent to get rid of spurious interrupts. The kernel cannot route to legacy IRQ correctly.",
"label": "KlogAcpiPciIntMap"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "can't derive routing for PCI INT",
"advice": "Kernel cannot derive an IRQ for this device from a parent bridge's PCI interrupt routing entry.",
"label": "KlogAcpiPciIntRount"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "PCI INT .*: no GSI - using ISA IRQ",
"advice": "The kernel cannot register Global System Interrupt (no GSI), instead, using ISA IRQ.",
"label": "KlogAcpiPciIntRegister"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "PCI INT .*: not connected",
"advice": "PCI IRQ is invalid, Kernel cannot connect the PCI interrupt.",
"label": "KlogAcpiPciIntInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "PCI INT .*: no GSI",
"advice": "The kernel cannot register Global System Interrupt (no GSI).",
"label": "KlogAcpiPciIntOnGSI"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "PCI INT .*: failed to register GSI",
"advice": "The kernel failed to register Global System Interrupt(GSI).",
"label": "KlogAcpiPciIntRegsiterFail"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "No IOAPIC for GSI",
"advice": "The kernel could not find an IOAPIC that manages the Global System Interrupt (GSI), so no IOAPIC will be configured with that GSI.",
"label": "KlogAcpiNoIoapicForGsi"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "[T|t]emperature above threshold, cpu clock throttled",
"advice": "Test caused CPU temperature above critical threshold. The CPU has been throttled to run slower because of over-heating above the critical threshold. CPU throttling will be turned off once the CPU has cooled sufficiently. Frequent throttling may indicate poor thermal design on the machine.",
"label": "KlogThermalOverrun"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Possible thermal failure",
"advice": "A Pentium class Intel CPU has had a thermal machine check exception caused by hot CPU. If this persists it may indicate poor thermal design on the machine.",
"label": "KlogThermalOverrun"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "BIOS never enumerated boot CPU",
"advice": "The boot processor is not enumerated!",
"label": "KlogBiosBootCpuNotEnumerated"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "acpi_shpchprm.*_HPP fail",
"advice": "Hotplug _HPP method failed",
"label": "KlogAcpiHppMethodFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "shpchp.*acpi_pciehprm.*OSHP fail",
"advice": "ACPI Hotplug OSHP method failed",
"label": "KlogAcpiHotplugOshpMethodFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "shpchp.*acpi_shpchprm.*evaluate _BBN fail",
"advice": "Hotplug _BBN method is missing",
"label": "KlogAcpiHotPlugBbnMissing"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error while parsing _PSD domain information",
"advice": "_PSD domain information is corrupt!",
"label": "KlogAcpiPsdParsingError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Wrong _BBN value, reboot and use option 'pci=noacpi'",
"advice": "The BIOS has wrong _BBN value, which will make PCI root bridge have wrong bus number",
"label": "KlogAcpiWrongBbnValue"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*apic on CPU.* stops in C2",
"advice": "The local apic timer incorrectly stops during C2 idle state.The ACPI specification forbids this and Linux needs the local APIC timer to work. The most likely cause of this is that the firmware uses a hardware C3 or C4 state that is mapped to the ACPI C2 state.",
"label": "KlogAcpiApicStopsInC2"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Failed to request resources for .* on irqchip",
"advice": "BIOS may not set up a specific pin or a GPIO to be an IRQ. This can cause a device, such as a touchscreen, that depends on this IRQ to fail.",
"label": "KlogBiosIrqRequestFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Disabling IRQ",
"advice": "The kernel detected an irq storm. This is most probably an IRQ routing bug.",
"label": "KlogBiosIrqRoutingBug"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not enable.*event",
"advice": "An ACPI fixed event could not be enabled. This can affect fixed events such as the power management timer, power button, sleep button, RTC alarm, wake status, system bus master request or the global release lock status.",
"label": "KlogAcpiEventEnableFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not disable.*events",
"advice": "An ACPI fixed event could not be disabled. This can affect fixed events such as the power management timer, power button, sleep button, RTC alarm, wake status, system bus master request or the global release lock status.",
"label": "KlogAcpiEventDisableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During return object analysis",
"advice": "The ACPI interpreter attempted to convert or repair a return object of an unexpected type, however a fatal error occurred during the conversion. Undefined AML execution behaviour may occur.",
"label": "KlogAcpiObjConvertFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MMIO size insufficient to access LTR",
"advice": "Intel Lynxpoint Low Power Subsystem have a set of MMIO mapped registers that provide access to the LTR (Latency Tolerance Reporting). However, the MMIO size is smaller than expected. The corresponding I/O resource for this is incorrect, it should have a resource size set to a minimum of 24 bytes.",
"label": "KlogAcpiLpssMmioSizeTooSmall"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error installing notify handler",
"advice": "Failed to install a notify handler for the ACPI video driver. The ACPI video driver cannot handle notify events to change brightness levels or turn the display on/off.",
"label": "KlogAcpiNotifyHandlerInstallFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Can't remove video notify handler",
"advice": "Failed to remove a notify handler for the ACPI video driver. This is most probably an internal kernel issue.",
"label": "KlogAcpiNotifyHandlerRemoveFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not register bus type",
"advice": "The ACPI driver failed to register the ACPI buse type. This is not deemed to be fatal, but it is a kernel error that should be investigated. See acpi_scan_init().",
"label": "KlogAcpiScanBusTypeRegisterFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "failed to create clocks",
"advice": "ACPI platform clocks failed to initialize making the creation of the platform device for the ACPI device node fail. See acpi_create_platform_device() and acpi_create_platform_clks().",
"label": "KlogAcpiPlatformClockCreateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "platform device creation failed:",
"advice": "Failed to register the ACPI device node. platform_device_register_full() failed which makes the platform device creation fail. See platform_device_register_full() and acpi_create_platform_device().",
"label": "KlogAcpiPlatformDeviceCreateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "cannot add bridge to acpi list",
"advice": "The ACPI bus scan failed and so a root bridge hotplug insertion failed. See handle_root_bridge_insertion().",
"label": "KlogAcpiPciRootBridgeAddFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Incorrect return type .* requested .*",
"advice": "An ACPI object find and evaluate has failed, the return object requested does not match the requested type. This is most probably a firmware bug.",
"label": "KlogAcpiIncorrectReturnType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown field access type 0x",
"advice": "Attempted to decode an ACPI field definition failed because the firmware attempted to use an unknown access type. Only byte, word, dword, qword and 'any' access types are allowed.",
"label": "KlogAcpiUknownFieldAccessType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null RegionNode",
"advice": "Construction of an object and connecting it to a parent node failed because a region node was unexpectedly NULL. See acpi_ex_prep_field_value().",
"label": "KlogAcpiNullRegionNode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null Index Object during field prep",
"advice": "Construction of an object and connecting it to a parent node failed for a local index field. See acpi_ex_prep_field_value().",
"label": "KlogAcpiNullIndexObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No object attached to node",
"advice": "Failed to resolve an ACPI namespace node to a valued object, there is no object attached to the given node. See acpi_ex_resolve_node_to_value().",
"label": "KlogAcpiNoObjectAttachedToNode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object not a Package, type",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was not an ACPI package as expected.",
"label": "KlogAcpiObjectNotPackage"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object not a Buffer, type",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was not an ACPI buffer as expected.",
"label": "KlogAcpiObjectNotBuffer"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object not a String, type",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was not an ACPI string as expected.",
"label": "KlogAcpiObjectNotString"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object not a Integer, type",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was not an ACPI integer as expected.",
"label": "KlogAcpiObjectNotInteger"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Untyped entry .* no attached object",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was an ACPI ANY type and so there is no object associated with it.",
"label": "KlogAcpiUntypedEntry"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported Reference type 0x",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object reference class must be a table, refof or index reference class.",
"label": "KlogAcpiUnsupportedReferenceType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Node .* Unknown object type 0x",
"advice": "Failed to resolve an ACPI namespace node to a valued object, the source object was an unknown type.",
"label": "KlogAcpiUnknownObjectType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid internal name",
"advice": "An error occurred turning an ACPI internal name into an external (printable) form. The required length exceeded the intenral name length, causing a bounds error. See acpi_ns_externalize_name().",
"label": "KlogAcpiInvalidInternalName"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid zero length descriptor in resource list",
"advice": "An error occurred turning an ACPI resource list into a byte stream of resources. The resource length was zero, which is an illegal length.",
"label": "KlogAcpiInvalidZeroLengthDescriptor"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "is not an ACPI Operand object",
"advice": "An internal ACPI error occurred freeing an ACPI object or adding it to the object cache. The descriptor type of the given object was not a descriptor type operand. See acpi_ut_delete_object_desc().",
"label": "KlogAcpiNotOperandObject"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot convert to external object - unsupported Reference Class .* in object",
"advice": "An internal ACPI error occurred getting the size of a simple ACPI object. A local reference object with a reference class that was not a refclass name class is not currently supported (such as locals and args) in the ACPI driver and may need implementing. See acpi_ut_get_simple_object_size(). ",
"label": "KlogAcpiUnsupportedReferenceClass"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot convert to external object - unsupported type .* in object",
"advice": "An internal ACPI error occurred getting the size of a simple ACPI object, the object was of a type that is not supported.",
"label": "KlogAcpiUnsupportedType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Local index .* is invalid .*max",
"advice": "An error occurred getting the node associated with a local or an arg. The local index for the refclass local type was greater than ACPI_METHOD_MAX_LOCAL. See acpi_ds_method_data_get_node().",
"label": "KlogAcpiLocalIndexInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Arg index .* is invalid .*max",
"advice": "An error occurred getting the node associated with a local or an arg. The arg index for the refclass arg type was greater than ACPI_NETHOD_MAX_ARG. See acpi_ds_method_data_get_node().",
"label": "KlogAcpiArgIndexInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Type .* is invalid",
"advice": "An error occurred getting the node associated with a local or an arg. The given type is not a refclass local or refclass arg type. See acpi_ds_method_data_get_node().",
"label": "KlogAcpiTypeInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null object descriptor pointer",
"advice": "An error occurred retrieving the value of a selected Arg or Local for a method, the descriptor pointer was NULL. See acpi_ds_method_data_get_value().",
"label": "KlogAcpiNullObjectDescriptorPtr"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Uninitialized Arg.* at node",
"advice": "An error occurred retrieving the value of a selected Arg or Local for a method, an argument to the method was not initialised. This is probably a firmware bug. See also acpi_ds_method_data_get_value().",
"label": "KlogAcpiUnitializedArg"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Not a Arg/Local opcode: 0x",
"advice": "An error occurred retrieving the value of a selected Arg or Local for a method. This is probably a firmware bug. See also acpi_ds_method_data_get_value().",
"label": "KlogAcpiNotArgLocalOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Field .* access width .* too large for region",
"advice": "An access type is larger than a region, for example, where a region is one byte in length and a field of dword access is specified. This is a bug in the firmware and the access to the region fails. This can lead to unexpected behaviour.",
"label": "KlogAcpiFieldAccessWidthTooLarge"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Field .* Base.*Offset.*Width .* is beyond end of region",
"advice": "An access exceeds the region length, in this case the base + offset + access width is larger than the region size. For example, this could be a dword access one byte from the end of region. This is a bug in the firmware and the access to the region fails. This can lead to unexpected behaviour.",
"label": "KlogAcpiFieldEndOfRegion"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Region .*ID=.* not implemented",
"advice": "An access (read or write) to an operation region has been attempted and a region for this has not been implemented, this may need to be implemented to provide the expected behaviour. See acpi_ex_access_region().",
"label": "KlogAcpiRegionNotImplemented"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Region .*ID=.* has no handler",
"advice": "An access (read or write) to an operation region has been attempted and a region handler for this has not been implemented, this may need to be implemented to provide the expected behaviour. See acpi_ex_access_region().",
"label": "KlogAcpiKlogRegionNoHandler"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Index value 0x.* overflows field width 0x",
"advice": "A write of a value larger than the maximum value that can fit into a register has be detected. The bit length of the field is not wide enough or the value is larger than expected. This is normally a bug in the firmware. See acpi_ex_register_overflow().",
"label": "KlogAcpiIndexValueOverflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Wrong object type in field I/O",
"advice": "A read or write of a data to an I/O field failed. The object is of the wrong type. See acpi_ex_field_datum_io().",
"label": "KlogAcpiWrongObjectType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown UpdateRule value: 0x",
"advice": "An attempt to apply a field update rule to a field write failed because the update rule was unknown. See acpi_ex_write_with_update_rule().",
"label": "KlogAcpiUknownUpdateRuleValue"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Field size .* is too large for buffer",
"advice": "An attempt to extract the current value of a given field failed because the field size was too large for the given buffer. See acpi_ex_extract_from_field().",
"label": "KlogAcpiFieldSizeTooLarge"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "GPE0 block .* overlaps the GPE1 block .* Ignoring GPE1",
"advice": "An error occurred initializing the GPE data structures, the GPE0/GPE1 blocks overlap each other. This is normally a bug in the ACPI FADT GPE block address config.",
"label": "KlogAcpiGpe0BlockOverlapsGpe1Block"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Maximum GPE number from FADT is too large: 0x",
"advice": "There were more than 255 GPEs specified in the FADT. The ACPI driver only supports a maximum of 255 GPEs.",
"label": "KlogAcpiMaxGpeTooLarge"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "For GPE 0x.* found both _L.* and _E.* methods",
"advice": "A GPE has a level _Lxx and an edge _Exx method associated with it, which is incorrect, it should have one or the other but not both.",
"label": "KlogAcpiGpeFoundMultipleMethods"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot acquire Mutex .* null thread info",
"advice": "An attempt to acquire an ACPI AML mutex failed, the caller must have a valid thread state structure. This is an internal ACPICA driver bug. See acpi_ex_acquire_mutex().",
"label": "KlogAcpiMutexAcquireFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot acquire Mutex \\[.*\\], current SyncLevel is too large",
"advice": "An ACPI mutex was not acquired because the sync level was too large. The per-thread sync level must be less or equal to the sync level of the method being executed. This error occurs because the interpreter attempted to avoid possible deadlocks. See acpi_ex_acquire_mutex().",
"label": "KlogAcpiMutexAcquireFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot release Mutex .* not acquired",
"advice": "An ACPI mutex was not already previously acquired, so it cannot be released.",
"label": "KlogAcpiMutexReleaseFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot release Mutex .* null thread info",
"advice": "An ACPI mutex could not be released, the thread ID was null and not valid. This maybe an internal ACPICA bug.",
"label": "KlogAcpiMutexReleaseFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Thread .* cannot release Mutex .* acquired by thread",
"advice": "An ACPI mutex is already owned but the thread making the mutex release is not the owner, so the release was rejected.",
"label": "KlogAcpiMutexReleaseFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot release Mutex .* SyncLevel mismatch: mutex .* current",
"advice": "An ACPI mutex could not be released, the sync level of the mutex must be equal to that of the current sync level. Attempting to release a mutex of a different level means that the mutex ordering rule has been violated.",
"label": "KlogAcpiMutexReleaseFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not transition to ACPI mode",
"advice": "A request to transfer a system into ACPI mode has failed. This could be because the ACPI FADT does not have SMI_CMD defined, or that the FADT ACPI_ENABLE and ACPI_DISABLE flags are both zero, or a SMI command failed to work.",
"label": "KlogAcpiAcpiModeTransitionFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Hardware did not enter ACPI mode",
"advice": "Could not transfer a system into the ACPI mode. A SMI command was issued however the system failed to transition to the ACPI mode after 3 seconds of waiting. Perhaps SMIs are broken or that the firmware cannot transition the machine to ACPI mode.",
"label": "KlogAcpiAcpiModeNotEntered"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not exit ACPI mode to legacy mode",
"advice": "A request to transfer a system into legacy BIOS mode has failed. This could be because the ACPI FADT does not have SMI_CMD defined, or that the FADT ACPI_ENABLE and ACPI_DISABLE flags are both zero, or a SMI command failed to work.",
"label": "KlogAcpiAcpiModeToLegacyModeFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Target is not a Reference or Constant object",
"advice": "An attempt to store an ACPI value into a location failed because the target is not a reference or a constat object. See acpi_ex_store().",
"label": "KlogAcpiTargetNotRefOrConstantObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Reference Class 0x",
"advice": "An ACPI store op-code failed to execute because the an unknown reference class type was used. The store operation will fail to execute leading to undefined behaviour. This is possibly an AML compiler bug.",
"label": "KlogAcpiUnknownRefClass"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Source must be Integer/Buffer/String type, not",
"advice": "An attempt to store an ACPI object into an indexed buffer or package element failed because the source type is invalid. See acpi_ex_store_object_to_index(). This is most likely a firmware bug.",
"label": "KlogAcpiBadSourceType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Target is not a Package or BufferField",
"advice": "An attempt to store an ACPI object into an indexed buffer or package element failed because the targe type is not a package or a buffer field.",
"label": "KlogAcpiTargetNotPackageOrBufferField"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No pointer back to namespace node in buffer object",
"advice": "An attempt to get a buffer length and initializer byte list failed because there was no pointer that referenced back to the name space node in the given buffer object. See acpi_ds_get_buffer_arguments().",
"label": "KlogAcpiBadPointeInBufferObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No pointer back to namespace node in package",
"advice": "An attempt to get a buffer length and initializer byte list failed because there was no pointer that referenced back to the name space node in the given package. See acpi_ds_get_package_arguments().",
"label": "KlogAcpiBadPointerInPackage"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not disable fixed event",
"advice": "An ACPI fixed event could not be disabled, acpi_disable_event() failed to disable it. See acpi_ev_terminate().",
"label": "KlogAcpiFixedEventDisableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not remove SCI handler",
"advice": "The ACPI SCI handler could not be removed. See acpi_ev_terminate().",
"label": "KlogAcpiSciHandlerRemoveFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not remove Global Lock handler",
"advice": "The ACPI Global Lock Handler could not be removed. See acpi_ev_terminate().",
"label": "KlogAcpiGlobalLockHandlerRemoveFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not disable GPEs in GPE block",
"advice": "The ACPI GPEs could not be disabled. See acpi_ev_terminate().",
"label": "KlogAcpiGPEsDisableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "Could not delete GPE handlers",
"advice": "The ACPI GPE handlers could not be deleted. See acpi_ev_terminate().",
"label": "KlogAcpiGPEHandlersDeletedFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid/unsupported SerialBus resource descriptor: BusType 0x",
"advice": "An ACPI resource descriptor failed a validation check, the bus type field for a serial bus resource descriptor is invalid. See acpi_ut_validate_resource(). This appears to be a firmware bug.",
"label": "KlogAcpiBadSerialBusResourceDescriptor"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid resource descriptor length: Type 0x.*, Length 0x.* MinLength 0x.*",
"advice": "An ACPI resource descriptor failed a validation check, the length of the resource descriptor is invalid. See acpi_ut_validate_resource(). This appears to be a firmware bug.",
"label": "KlogAcpiInvalidResourceDescriptorLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No results on result stack",
"advice": "Failed to pop an object off the ACPI walk result stack, no results on the stack. This is an internal ACPICA bug and should not occur, see acpi_ds_result_pop().",
"label": "KlogAcpiResultStackNoResults"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No result state for result stack",
"advice": "Failed to pop an object off the ACPI walk result stack, no result state on the stack. This is an internal ACPICA bug and should not occur, see acpi_ds_result_pop().",
"label": "KlogAcpiResultStackNoState"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Result stack is empty! State=",
"advice": "Failed to pop an object off the ACPI walk result stack, the result stack is NULL (empty). This is normally triggered by buggy firmware attempting to pop values off the stack when it is empty.",
"label": "KlogAcpiResultStatckEmpty"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No result objects on result stack, State=",
"advice": "Failed to pop an object off the ACPI walk result stack, there were no result objects on the result stack.",
"label": "KlogAcpiResultStatckNoResultObjects"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Result stack is full",
"advice": "Failed to push an object onto the current ACPI result stack, the result stack is full up. This is an internal ACPICA bug.",
"label": "KlogAcpiResultStackFull"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to extend the result stack",
"advice": "Failed to push an object onto the current ACPI result stack, the stack could not be extended.",
"label": "KlogAcpiResultStackExtendFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No free elements in result stack",
"advice": "Failed to push an object onto the current ACPI result stack, there are no free element slots in the stack. This is an internal ACPICA bug.",
"label": "KlogAcpiResultStackNoFreeElements"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No result stack frame during push",
"advice": "Failed to push an object onto the current ACPI result stack, there appears to be no results stack to push the object onto. This is an internal ACPICA bug.",
"label": "KlogAcpiResultStackPushNoFrame"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null Object! Obj=.* State=.* Num=.*",
"advice": "Failed to push an object onto the current ACPI result stack, the object is NULL.",
"label": "KlogAcpiResultStackNullObject"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Result stack overflow: State=.* Num=",
"advice": "Failed to push an object onto the ACPI walk_state result stack. The stack has overflowed.",
"label": "KlogAcpiResultStackOverflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Insufficient result stack size",
"advice": "Failed to pop an object off the ACPI walk_state result stack. The result stack had insufficient objects on it to pop off.",
"label": "KlogAcpiResultStackSizeInsufficient"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object stack overflow.*Obj=.*State=.*",
"advice": "Failed to push an object onto the walk state object/operand stack, a maximum of 8 operands are allowed.",
"label": "KlogAcpiObjectStackOverflow"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Object stack underflow.*Count=.*State=.*Ops=",
"advice": "Failed to pop an object from the walk state object/operand stack, there were no operands left on the stack.",
"label": "KlogAcpiObjectStackUnderflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "is not a valid walk state",
"advice": "Failed to delete an ACPI walk state, the given walk state is not an ACPI walk state type. This is an internal ACPICA bug. see acpi_ds_delete_walk_state().",
"label": "KlogAcpiWalkStateInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "walk still has a scope list",
"advice": "Failed to delete an ACPI walk state, the walk state has an open scope list. This is an internal ACPICA bug. See acpi_ds_delete_walk_state().",
"label": "KlogAcpiWalkStateHasScopeList"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Target of Create Field is not a Buffer object",
"advice": "Failed to initialise an ACPI buffer field, the target of the Create Field op is not a buffer object. This is a firmware bug.",
"label": "KlogAcpiTargetNotBufferObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "destination not a NS Node",
"advice": "Failed to initialise an ACPI buffer field, the destination is not an ACPI name space node. This is a firmware bug.",
"label": "KlogAcpiDestinationNotNameSpaceNode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Attempt to CreateField of length zero",
"advice": "Failed to initialise an ACPI buffer field, CreateField used with a zero field length which is illegal. This is a firmware bug.",
"label": "KlogAcpiZeroLengthCreateField"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown field creation opcode 0x",
"advice": "Failed to initialise an ACPI buffer field, was expecting a CreateField, CreateBitField, CreateByteField, CreateWordField, CreateDWordField or a CreateQWordField opcode, but got a different AML opcode instead. This is a firmware bug.",
"label": "KlogAcpiUknownFieldCreationOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Field .* at .* exceeds Buffer .* size .*bits",
"advice": "Failed to initialise an ACPI buffer field, the field exceeded the buffer size provided. This is a firmware bug.",
"label": "KlogAcpiFieldExceedsBuffer"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ".*bad operand.*status 0x",
"advice": "Failed to get buffer field Buffer and Index, could not resolve operands. A call to acpi_ex_resolve_operands() failed and returned an error status code. See acpi_ds_eval_buffer_field_operands().",
"label": "KlogAcpiBadOperand"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No Sleep State object returned from",
"advice": "An evaluation of the _Sx namespace object containing register values for the sleep state failed. It is entirely possible that the _Sx is broken in the firmware. See also acpi_get_sleep_type_data():",
"label": "KlogAcpiNoSleepStateObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Sleep State return object is not a Package",
"advice": "An evaluation of the _Sx namespace object containing register values for the sleep state failed. The kernel was expecting an ACPI package to be returned, but some different type was returned instead. The ACPI firmware object _Sx is buggy.",
"label": "KlogAcpiSleepStateObjectNotPackage"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "While evaluating Sleep State [\\_S1_]",
"advice": "The exception comes from kernel cannot find _S1 namespace object that contains the register values for the sleep state when kernel would like to setup all the sleep state information. This means that the kernel does not know how to enter the S1 sleep state, however, it should not be a problem if the S1 sleep state isn't supported intentionally.",
"label": "KlogAcpiSleepStateEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "While evaluating Sleep State [\\_S2_]",
"advice": "The exception comes from kernel cannot find _S2 namespace object that contains the register values for the sleep state when kernel would like to setup all the sleep state information. This means that the kernel does not know how to enter the S2 sleep state, however, it should not be a problem if the S2 sleep state isn't supported intentionally.",
"label": "KlogAcpiSleepStateEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While evaluating Sleep State",
"advice": "Failed to evaluate _Sx namespace object that contains the register values for the sleep state.",
"label": "KlogAcpiSleepStateEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Resize of Root Table Array is not allowed",
"advice": "An attempt to resize the ACPI Root Table Array failed because the ACPI global root table flag ACPI_ROOT_ALLOW_RESIZE is not set.",
"label": "KlogAcpiRootTableArrayResize"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not allocate new root table array",
"advice": "Failed to allocate memory for the root table array.",
"label": "KlogAcpiRootTableArrayAllocFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bad destination type during conversion: 0x",
"advice": "Destination type should be one of Integer, Buffer Field, Local Bank Field, Local Index Field, String or Buffer.",
"label": "KlogAcpiBadDestinationType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Target type ID 0x.* AmlOpcode 0x.* DestType",
"advice": "An unknown target type was found in attempting to perform implicit type conversion.",
"label": "KlogAcpiUnknownTargetTypeId"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SMBus/IPMI/GenericSerialBus write requires Buffer, found type",
"advice": "A SMBus, IPMI or GenericSerialBus write to a named field required a buffer to write into, but got a different type instead.",
"label": "KlogAcpiWriteRequiresBuffer"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SMBus/IPMI/GenericSerialBus write requires Buffer of length .*, found length",
"advice": "A write buffer was too small. SMBus, IPMI and GenericSerialBus writes require a buffer of size 34, 66 and 34 bytes respectively.",
"label": "KlogAcpiWriteBufferSize"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not acquire AML Interpreter mutex",
"advice": "The AML interpreter mutex could not be acquired when entering the interpreter execution region. This is a fatal system error.",
"label": "KlogAcpiAmlMutexAcquireFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not acquire AML Namespace mutex",
"advice": "The AML namespace mutex could not be acquired when entering the interpreter execution region. This is a fatal system error.",
"label": "KlogAcpiAmlMutexAcquireFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid descriptor type 0x",
"advice": "An invalid descriptor type was found while obtaining a reference to a target object.",
"label": "KlogAcpiInvalidDescriptorType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid object type: 0x",
"advice": "The ACPI interpreter failed to concatenate two objects of the same type because one or more of the types was an invalid object type. Expected types are ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_BUFFER.",
"label": "KlogAcpiConcatenateInvalidObjectType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid numeric logical opcode:",
"advice": "An invalid opcode was found while execute a logical Numeric AML opcode. For these Numeric operators, the opcode should be LAnd or LOr.",
"label": "KlogAcpiInvalidOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid object type for logical operator:",
"advice": "An invalid object type was found while execute a none numeric AML opcode. For these operators, operands can be any combination of Integer/String/Buffer.",
"label": "KlogAcpiInvalidObjType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid comparison opcode:",
"advice": "An invalid comparison opcode was found while comparing both integers, both strings or buffers.",
"label": "KlogAcpiInvalidComparisonOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null parameter: Node .* Name 0x.* ReturnNode",
"advice": "Either the node, target name or return node pointers were NULL when attempting to search for a name segment in a single namespace level, see acpi_ns_search_and_enter().",
"label": "KlogAcpiNameSpaceNullParameter"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not allocate the GpeRegisterInfo table",
"advice": "General Purpose Events will fail to work because the table could not be allocated.",
"label": "KlogAcpiGpeRegisterInfoAllocFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not allocate the GpeEventInfo table",
"advice": "General Purpose Events will fail to work because the table could not be allocated.",
"label": "KlogAcpiGpeEventInfoAllocFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bad BitWidth parameter:",
"advice": "A hardware I/O request failed because the requested bit width of the I/O operation was not 8, 16 or 32 bits wide. Undefined behaviour may occur.",
"label": "KlogAcpiBadBitWidth"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Illegal I/O port address/length above 64K",
"advice": "A hardware I/O port access was above the 64K 16 bit port address space. This is illegal and not allowed. Undefined behaviour may occur.",
"label": "KlogAcpiIllegalIoPortAddressLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Need sub-package, found",
"advice": "Failed to create a linked list of PCI interrupt descriptions, the given list did not contain a sub-package. See acpi_rs_create_pci_routing_table().",
"label": "KlogAcpiPciRoutingTableSubPackageRequired"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Need package of length 4, found length",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package had an incorrect package length. See acpi_rs_create_pci_routing_table().",
"label": "KlogAcpiPciRoutingTableBadPackageLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Address.*Need Integer, found",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package Address (element 0) was not an Integer type.",
"label": "KlogAcpiPciRoutingTableBadPackageAddressType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Pin.*Need Integer, found",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package Pin (element 1) was not an Integer type.",
"label": "KlogAcpiPciRoutingTableBadPackagePinType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Source.*Need name, found Reference Class 0x",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package SourceName (element 2) local reference was not an reference class name type.",
"label": "KlogAcpiPciRoutingTableBadPackageSourceNameRefType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Source.*Need Ref/String/Integer, found",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package SourceName (element 2) was not a local reference, Integer or String type.",
"label": "KlogAcpiPciRoutingTableBadPackageSourceNameType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SourceIndex.*Need Integer, found",
"advice": "Failed to create a linked list of PCI interrupt descriptions, a sub-package SourceIndex (element 3) was not an Integer type",
"label": "KlogAcpiPciRoutingTableBadSourceIndexType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Control Method .* has no attached object",
"advice": "An internal ACPICA error has occurred while attempting to get the next name, see acpi_ps_get_next_namepath(). This information is critical for parsing to continue correctly.",
"label": "KlogAcpiControlMethodNoAttachedObject"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid ArgType.*0x",
"advice": "An error occurred in getting the next simple argument was expecting one of byte data, work data, dword data, qword data, char list, name or namestring, see acpi_ps_get_next_simple_arg().",
"label": "KlogAcpi"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No predicate ObjDesc=.* State=",
"advice": "An error occurred in getting the result of a predicate evaluation, a NULL operand object was found, which is unexpected. See acpi_ds_get_predicate_value().",
"label": "KlogAcpiNullPredicateObjDesc"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bad predicate .*not an integer.* ObjDesc=.*State=.*Type=0x",
"advice": "The result of a predicate evaluation should be an integer but it was not. This is an unexpected error. See acpi_ds_get_predicate_value().",
"label": "KlogAcpiBadPredicateEvalResult"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Undefined opcode type Op=",
"advice": "Caught an unexpected opcode type, see acpi_ds_exec_end_op().",
"label": "KlogAcpiUndefinedOpCodeType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unimplemented opcode, class=.*type=.*Opcode=.*Op=.*",
"advice": "Caught an unexpected unimplemented opcode, see see acpi_ds_exec_end_op().",
"label": "KlogAcpiUnimplementedOpCode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not override predefined",
"advice": "An error occurred during Name Space initialisation, a predefined name could not be overridden. This only occurs if the initial value is NULL or the value string is NULL.",
"label": "KlogAcpiNameSpaceOverrideFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported initial type value 0x",
"advice": "An error occurred during Name Space initialisation, a predefined name initial value is of an unsupported type.",
"label": "KlogAcpiNameSpaceOverrideBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "is not a namespace node",
"advice": "A scope node is not a namespace node, this is an internal ACPICA error.",
"label": "KlogAcpiNameSpaceNotNameSpaceNode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI path has too many parent prefixes (^) - reached beyond root node",
"advice": "An ACPI path has too many parent prefixes and has fallen outside the root node. This is a bug in the firmware. The Name Space lookup on the ACPI path cannot be found.",
"label": "KlogAcpiPathTooManyParentPrefixes"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Path has too many parent prefixes (^)",
"advice": "An ACPI path has too many parent prefixes and has fallen outside the root node. This is a bug in the firmware. The Name Space lookup on the ACPI path cannot be found.",
"label": "KlogAcpiPathTooManyParentPrefixes"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not construct external pathname; index=.*, size=.*, Path=.*",
"advice": "Expected a zero index to a name buffer. See acpi_ns_build_external_path().",
"label": "KlogAcpiExternalPathNameConstructFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid Namespace Node .* while traversing namespace",
"advice": "An ACPI namespace node descriptor type was not the expected ACPI_DESC_TYPE_NAMED type. Could not get the pathname length, see acpi_ns_get_pathname_length().",
"label": "KlogAcpiInvalidNameSpaceNodeType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported object type, cannot convert to external object:",
"advice": "Failed to copy a simple internal ACPI object to an external ACPI object, unknown internal object type.",
"label": "KlogAcpiUtCopyBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported object type, cannot convert to internal object:",
"advice": "Failed to copy a simple external ACPI object to an internal ACPI object, unknown external object type.",
"label": "KlogAcpiUtCopyBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Package allocation failure",
"advice": "Failed to copy an internal ACPI package object to another internal ACPI package object, out of memory.",
"label": "KlogAcpiPackageAllocFailure"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed Region, found type 0x",
"advice": "An ACPI object type did not match the expected type, expected an ACPI Region type.",
"label": "KlogAcpiCheckObjectTypeFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed type .*, found .*",
"advice": "An ACPI object type did not match the expected type.",
"label": "KlogAcpiCheckObjectTypeFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Null stack entry at",
"advice": "An internal ACPICA error occurred resolving operands - the ACPICA stack is either NULL or contains a NULL entry. This should not happen.",
"label": "KlogAcpiNullStackEntry"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bad operand object type",
"advice": "An error occurred trying to convert multiple input operands to the types required by the target operator, see acpi_ex_resolve_operands(), the internal ACPI operand object type was not correct.",
"label": "KlogAcpiBadOperandObjectType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed [Integer/String/Buffer], found",
"advice": "An error occurred in resolving operands, required an Integer, String or Buffer type, got a different type instead.",
"label": "KlogAcpiResolveOpBadType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "IOAPIC\\[.*\\] not in IVRS",
"advice": "BIOS setup is configured to enable IOMMU, but BIOS lacks IVRS table that is describing which is the address of IOMMU",
"label": "KlogAmdIommuNoIVRS"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unable to read/write to IOMMU perf counter",
"advice": "AMD IOMMU performance counter is inaccessible and public specifications do not have information on how it should be supported",
"label": "KlogAmdIommuPCNotSupported"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed [Buffer/String/Package/Reference], found",
"advice": "An error occurred in resolving operands, required an Integer, String, Package or Reference type (normally for a size_of operator), got a different type instead.",
"label": "KlogAcpiResolveOpBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed [Buffer/String/Package], found",
"advice": "An error occurred in resolving operands, required a Buffer, String or Package type, got a different type instead.",
"label": "KlogAcpiResolveOpBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed [Region/Buffer], found",
"advice": "An error occurred in resolving operands, required a Region or Buffer type, got a different type instead.",
"label": "KlogAcpiResolveOpBadType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Needed Integer/Buffer/String/Package/Ref/Ddb], found",
"advice": "An error occurred in resolving operands, required an Integer, Buffer, String, Package or Dbd type for a Store() operator, got a different type instead.",
"label": "KlogAcpiResolveOpBadType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid descriptor.*\\[.*\\]",
"advice": "Failed to resolve an ACPI operand, bad descriptor; expecting either an ACPI_DESC_TYPE_NAMED or ACPI_DESC_TYPE_OPERAND descriptor.",
"label": "KlogAcpiInvalidDescriptor"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Internal - Unknown ARGI (required operand) type 0x",
"advice": "Internal error in acpi_ex_resolve_operands() - found an unknown type, this should not occur.",
"label": "KlogAcpiResolveOpBadArgType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No init routine for region",
"advice": "An attempt to dispatch an address space or operation region access failed because the region has never been initialised but it does not have an address space setup function. This is a ACPI or kernel address space handler bug. Access to the address space or operation region will fail with undefined behaviour.",
"label": "KlogAcpiRegionHanderNoInit"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "The DSDT has been corrupted or replaced - old, new headers below",
"advice": "Some firmware corrupts the DSDT or installs a bad new DSDT, so a workaround is to copy the DSDT. Booting with kernel parameter acpi=copy_dsdt may fix this issue.",
"label": "KlogAcpiDsdtCorruptOrReplaced"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not copy DSDT of length 0x",
"advice": "Failed to copy DSDT to local memory. Some firmware corrupts the DSDT or installs a bad new DSDT, so a workaround is to copy the DSDT. However, the table allocation failed, which means ACPI initialisation had failed, so ACPI support is disabled.",
"label": "KlogAcpiDsdtCopyFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null physical address for ACPI table",
"advice": "An attempt to install an ACPI table has failed because the physical address of the table is NULL, which is incorrect. This could lead to ACPI failing to initialize and perhaps ACPI support being disabled.",
"label": "KlogAcpiTableNullPhysicalAddress"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not map memory for table .* at",
"advice": "The ACPI table could not me mapped into memory and was not added to the ACPI root table list. This may lead to broken functionality.",
"label": "KlogAcpiTableMemoryMapFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null NamedObj handle",
"advice": "ACPI attempted to attach an ACPI object with a NULL parent node, see acpi_ns_attach_object().",
"label": "KlogAcpiAttachNullParentNode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Null object, but type not ACPI_TYPE_ANY",
"advice": "ACPI attempted to attach a NULL ACPI object with a type that was not ACPI_TYPE_ANY, see acpi_ns_attach_object().",
"label": "KlogAcpiAttachNullObjectBadType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid handle.*\\[%s\\]",
"advice": "An attempt to attach an object with an ACPI node failed because the node was not a name handle type. This is probably an internal ACPI error. See acpi_ns_attach_object().",
"label": "KlogAcpiInvalidHandle"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bit offset within field too large.*0xFFFFFFFF",
"advice": "A named field has a bit offset that is greater than the 32 bit field offset limit. An AML_INT_RESERVEDFIELD_OP 0x0031 was ignored because of the bit offset error.",
"label": "KlogAcpiFieldOffsetTooLarge"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Field .* bit offset too large.*0xFFFFFFFF",
"advice": "A named field has a bit offset that is greater than the 32 bit field offset limit. An AML_INT_NAMEDFIELD_OP 0x0030 was ignored because of the bit offset error.",
"label": "KlogAcpiFieldOffsetTooLarge"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid opcode in field list: 0x",
"advice": "An invalid opcode was found while parsing a field list. This is invariable due to buggy firmware.",
"label": "KlogAcpiFieldListInvalidOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Internal - null pointer",
"advice": "An error occurred attempting to convert reference objects to values. A NULL pointer to entry on obj_stack, which can be either an (union acpi_operand_object *) or an acpi_handle. See acpi_ex_resolve_to_value().",
"label": "KlogAcpiNullPackageElementDereference"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Attempt to dereference an Index to NULL package element Idx=",
"advice": "An error occurred attempting to retrieve a value from an internal ACPI object. A NULL object descriptor indicates an uninitialized element in an ACPI package, and hence it cannot be deferenced. Could not retrieve a value from an internal ACPI object. See acpi_ex_resolve_object_to_value().",
"label": "KlogAcpiNullPackageElementDereference"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Not a namespace node.*\\[.*\\]",
"advice": "An ACPI reference was found that did not point to a namespace node. Failed to resolve. See acpi_ex_resolve_multiple().",
"label": "KlogAcpiNotNamespaceNode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown TargetType .* in Index.*Reference object",
"advice": "An ACPI_REFCLASS_INDEX has an unknown target type. Should be a buffer field or a package. Could not retrieve a value from an internal ACPI object. See acpi_ex_resolve_object_to_value().",
"label": "KlogAcpiUnkownTargetType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Reference type 0x.* in",
"advice": "The ACPI object type was not a known reference type. Could not retrieve a value from an internal ACPI object. See acpi_ex_resolve_object_to_value().",
"label": "KlogAcpiUnknownReferenceType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Owner ID .* already exists",
"advice": "A table or method owner ID allocation was attempted but the owner ID already exists. The allocation has failed.",
"label": "KlogAcpiOwnerIdAlreadyExists"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT",
"advice": "A table or method owner ID allocation failed because all owner IDs (maximum of 255) are in use. This only happens if there are very deep nestings of invoked control methods or there is an ACPI bug where owner IDs are not being released.",
"label": "KlogAcpiNoFreeOwnerIds"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid OwnerId: 0x",
"advice": "An attempt to release an owner ID failed because the owner ID is invalid. Only owner IDs 1 to 255 are allowed.",
"label": "KlogAcpiInvalidOwnerId"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Release of non-allocated OwnerId: 0x",
"advice": "An attempt to release an owner ID failed because the owner ID is not already allocated. This is a double-release error.",
"label": "KlogAcpiOwnerIdDoubleRelease"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown opcode 0x",
"advice": "An invalid AML opcode in the input stream has been encountered. This will be skipped. This normally indicates buggy firmware. Undefined behaviour may occur.",
"label": "KlogAcpiUnknownOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Expecting bytelist, found AML opcode 0x.* in op",
"advice": "An error occurred translating a parser object to an equivalent namespace object. This occurs when evaluating a named buffer object such as Name(xxxx, Buffer) and the buffer does not contain an AML opcode bytelist.",
"label": "KlogAcpiByteListExpected"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown constant opcode 0x",
"advice": "An error occurred initializing a namespace object from a parser op. The return type was an Integer however the opcode type was not a Zero op, One op, Ones op or Revision op. See acpi_ds_init_object_from_op().",
"label": "KlogAcpiUnknownConstantOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Integer type 0x",
"advice": "An error occurred initializing a namespace object from a parser op. The return type was an unknown Integer type. See acpi_ds_init_object_from_op().",
"label": "KlogAcpiUnknownIntegerType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unimplemented reference type for AML opcode: 0x",
"advice": "An error occurred initializing a namespace object from a parser op. ACPICA has detected an unimplemented reference type. See cpi_ds_init_object_from_op().",
"label": "KlogAcpiUnimplementedRefType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unimplemented data type: 0x",
"advice": "An error occurred initializing a namespace object from a parser op. ACPICA has detected an unimplemented data type. See cpi_ds_init_object_from_op().",
"label": "KlogAcpiUnimplementedDataType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method reached maximum reentrancy limit (255)",
"advice": "A method has been re-entrantly entered too many times. The limit is imposed to avoid a wrap-around on the thread count. Methods should generally not be re-entrantly executed this deep, so it may indicate a bug in the firmware.",
"label": "KlogAcpiMethodMaxRentrancyLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot acquire Mutex for method .*, current SyncLevel is too large",
"advice": "The mutex for a method was not acquired because the sync level was too large. The per-thread sync level must be less or equal to the sync level of the method being executed. This error occurs because the interpreter attempted to avoid possible deadlocks. See acpi_ds_begin_method_execution().",
"label": "KlogAcpiSyncLevelTooLarge"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid zero thread count in method",
"advice": "A control thread execution has terminated and the thread count is zero, which should never occur. See acpi_ds_terminate_control_method().",
"label": "KlogAcpiZeroThreadCount"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Control method has no attached sub-object",
"advice": "Execution of a control method has failed, there is no method object associated with the resolved node. See acpi_ns_evaluate().",
"label": "KlogAcpiControlNoSubObject"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluation of object type .* is not supported",
"advice": "Evaluation of a device, event, mutex, region, thermal or local scope ACPI object types is not allowed. The firmware is buggy. See acpi_ns_evaluate().",
"label": "KlogAcpiEvalObjectTypeNotSupported"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method has no attached sub-object",
"advice": "An ACPI method type did not have a method object associated with the node and a NULL object was found instead. Failed to execute a control method.",
"label": "KlogAcpiEvalMethodObjectNull"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "unknown tag .* length",
"advice": "Failed to parse the PnPBIOS resource data, an unknown tag length specifier was found. This is a bug in the firmware resource data.",
"label": "KlogAcpiPnpBios"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "no end tag in resource structure",
"advice": "Failed to parse the PnPBIOS resource data, there was no end tag in the resource structure.",
"label": "KlogAcpiPnpBios"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "_PRW evaluation error:",
"advice": "The ACPI _PRW (Power Resources for Wake) object failed to evaluate when the ACPI driver was attempting to get the wakeup device flags.",
"label": "KlogACPIPrwEvalError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "lpc_ich: Resource conflict(s) found affecting iTCO_wdt",
"advice": "A resource conflict has occurred between ACPI OperationRegions and the same I/O region used by the lpc_ich driver for the Intel TCO (Total Cost of Ownership) timer (iTCO_wdt, this is a watchdog timer that will reboot the machine after its second expiration). According to Intel Controller Hub (ICH) specifications, the TCO watchdog has a 32 bytes I/O space resource. ACPI OperationRegions in the DSDT frequently reserve this TCO I/O space because they require access to bit 9 (DMISCI_STS) of the TCO1_STS register of the TCO, however, this bit is never used by the lpc_ich driver, so there is no risk of conflict. In the vast majority of cases this warning can be ignored as no harm will occur.",
"label": "KlogAcpiSystemIOConflictLpcIchWatchDogTimer"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "lpc_ich: Resource conflict(s) found affecting gpio_ich",
"advice": "A resource conflict has occurred between ACPI OperationRegions and the same I/O region used by the lpc_ich driver for the General Purpose I/O (GPIO) region. Sometimes this GPIO region is used by the firmware for rfkill or LED controls or very rarely for the Embedded Controller System Control Interrupt. This may require deeper inspection to check if the conflict will lead to any real issues. However, in the vast majority of cases this warning can be ignored as no harm will occur.",
"label": "KlogAcpiSystemIOConflictLpcIchWatchDogTimer"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "0x.*-0x.* SystemIO conflicts with",
"advice": "A resource conflict between an ACPI OperationRegion and a native driver has been detected. By default the kernel will use a strict policy and will not allow this region to conflict and -EBUSY will be returned to the caller that was trying to allocate the already claimed region. If an ACPI driver is available for this device then this should be used instead of a native driver, so disabling the native driver may help. (Note that the lpc_ich driver can trigger these warnings, in which case they can generally be ignored). One can specify kernel boot parameter acpi_enforce_resources=lax to disable these checks but it may lead to random problems and system instability. Alternatively, one can specify acpi_enforce_resources=no and ACPI Operation Region resources will not be registered.",
"label": "KlogAcpiSystemIOConflict"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "device .* has invalid IRQ.*check vendor BIOS",
"advice": "An error occurred probing the PCI-Express port devices. The device has a valid pin but did not have an a valid IRQ. This is normally due to a misconfiguration in the firmware.",
"label": "KlogBiosIrqInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITCAL",
"pattern": "Invalid active.* threshold",
"advice": "The ACPI thermal driver has attempted to evaluate an ACPI active threshold control _ALx and this failed to evaluate. This is normally due to broken or buggy _ALx control. This may lead to sub-optimal thermal control.",
"label": "KlogAcpiAlThresholdInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No sibling found for CPU",
"advice": "Hyperthreading CPU enumeration failed, hyperthreads will be disabled.",
"label": "KlogCpuNoSiblingFound"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "OHCI: BIOS handoff failed",
"advice": "An OHCI BIOS handoff failure generally means that the OHCI driver was unable to take control of the USB controller away from the BIOS. Disabling USB legacy mode in the BIOS may help.",
"label": "KlogBiosOhciEmulation"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "EHCI: BIOS handoff failed",
"advice": "An EHCI BIOS handoff failure generally means that the EHCI driver was unable to take control of the USB controller away from the BIOS. Disabling USB legacy mode in the BIOS may help.",
"label": "KlogBiosEhciEmulation"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "xHCI BIOS handoff failed",
"advice": "An xHCI BIOS handoff failure generally means that the xHCI driver was unable to take control of the USB controller away from the BIOS. Disabling USB legacy mode in the BIOS may help.",
"label": "KlogBiosXhciEmulation"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MMCONFIG has no entries",
"advice": "The ACPI MCFG has failed to be parsed, it has no entries in it. This is not expected and is most likely an ACPI misconfiguration. The PCI memory mapped configuration space is not known and hence PCI will be not configured.",
"label": "KlogAcpiMcfgNoEntries"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MMCONFIG not in low 4GB of memory",
"advice": "An ACPI MCFG config entry is not in the lower 4GB (32 bit) address space and will be ignored.",
"label": "KlogAcpiMcfgNotIn32BitMemorySpace"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MCFG region for .* at .* is above 4GB, ignored",
"advice": "An ACPI MCFG config entry is not in the lower 4GB (32 bit) address space and will be ignored.",
"label": "KlogAcpiMcfgNotin32BitMemorySpace"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "disabled and referenced, BIOS bug",
"advice": "A PCI interrupt link could not be enabled when the associated ACPI _STA control was executed. It will be disabled. This is normally a bug in the _STA control for this link.",
"label": "KlogPciLinkDisabled"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Inconsistent FADT length .* and revision .* using FADT V1.0 portion of table",
"advice": "The ACPI FADT was reporting to be a version 2.0 (or higher) FADT but the length was too short, so the kernel has assumed it was a version 1.0 FADT instead. The machine may have reduced ACPI 1.0 functionality.",
"label": "KlogAcpiFadtInconsistentLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Disabling IRQ#",
"advice": "The kernel had detected a spurious interrupt which is generating tens of thousands of interrupts. This can occur if the interrupt is stuck. The kernel has taken action and disabled this interrupt. Look at /proc/interrupts to find the devices serviced by this interrupt as these are most probably no functioning now.",
"label": "KlogIrqDisabled"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ", Invalid action",
"advice": "The ACPI driver was requested to set a GPE wake mask with an incorrect action, expected ACPI_GPE_ENABLE or ACPI_GPE_DISABLE, see acpi_set_gpe_wake_mask(). This is most probably a kernel bug.",
"label": "KlogAcpiGpeWakeMaskIncorrect"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid GPE Action,",
"advice": "The ACPI driver was requested to enable or disable a single GPE in a parent enable register but was given an incorrect action, expected ACPI_GPE_ENABLE or ACPI_GPE_DISABLE, see acpi_hw_low_set_gpe(). This is most probably a kernel bug.",
"label": "KlogAcpiGpeActionInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported address space: 0x",
"advice": "The ACPI driver was requested to validate a H/W register but the address space ID was not ACPI_ADR_SPACE_SYSTEM_MEMORY or ACPI_ADR_SPACE_SYSTEM_IO. Other address spaces are not supported by the driver. See acpi_hw_validate_register().",
"label": "KlogAcpiHwRegsUnsupportedAddressSpace"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported register bit width: 0x",
"advice": "The ACPI driver was requested to validate a H/W register but the bit width of the register was not 8, 16 or 32 bits; other sizes are not supported by the driver. See acpi_hw_validate_register().",
"label": "KlogAcpiHwRegsUnsupportedRegisterBitWidth"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Requested bit width 0x.* is smaller than register bit width 0x",
"advice": "The ACPI driver was requested validate the bit width, convert access width into number of bits, but the requested bit width is smaller than register bit width. See acpi_hw_validate_register().",
"label": "KlogAcpiHwRegsUnsupportedRegisterBitWidth"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unsupported register access width: 0x",
"advice": "The ACPI driver was requested to validate a H/W register but the access width of the register larger than 32 bits; the sizes are not supported by the driver. See acpi_hw_validate_register().",
"label": "KlogAcpiHwRegsUnsupportedRegisterAccessWidth"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid BitRegister ID: 0x",
"advice": "The ACPI driver was requested the bitmask of a specific register ID which was greater than the the predefined driver maximum of ACPI_BITREG_MAX. A NULL register info struct was passed back to the caller. This is normally a driver bug, see acpi_hw_get_bit_register_info().",
"label": "KlogAcpiHwRegsInvalidBitRegisterId"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Register ID: 0x",
"advice": "The ACPI driver was registered to read an ACPI register, but an invalid register ID was given; was expected with a PM1 status register, PM1 enable register, PM1 control, PM 2 control, PM timer or a SMI command block. This is normally a driver bug, see acpi_hw_register_read().",
"label": "KlogAcpiHwRegsUnknownRegisterId"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No handler or method for .*, disabling event",
"advice": "A General Purpose Event (GPE) has occurred and there does not appear to be a GPE handler for this event. This should no longer be possible with kernels dating after March 2010. The GPE is disabled and will not occur until the machine is rebooted. See acpi_ev_gpe_dispatch().",
"label": "KlogAcpiGpeHandlerMissing"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid SystemMemory width ",
"advice": "The ACPI interpreter was requested to read or write to a memory region via a memory space handler but the requested field width was invalid. It expected a field with of 8, 16, 32 or 64 bits. This is most probably an AML opregion bug.",
"label": "KlogAcpiOpRegionInvalidSystemMemoryWidth"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not map memory at 0x.*, size",
"advice": "The ACPI interpreter was requested to read or write to a memory region via a memory space handler but the logical address could not be mapped from the given physical address given. This memory region is not mappable, so it could be an AML opregion bug or a bug in the kernel (less likely).",
"label": "KlogAcpiOpRegionMemMapError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "32-bit FADT register is too long .* to convert to GAS struct - 255 bits max, truncating",
"advice": "The Generic Address Structure bit_width was greater than 31 which is too large for a 32 bit ACPI FADT register and was truncated.",
"label": "KlogAcpiFadtGasBitWidthTooLong"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not install GPE interrupt handler at level 0x",
"advice": "The ACPI driver attempted to install a General Purpose Event interrupt handler but this failed. Is the interrupt available or already used? See acpi_ev_get_gpe_xrupt_block().",
"label": "KlogAcpiGpeHandlerInstallFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown control opcode=0x.* Op=",
"advice": "The ACPI interpreter could not execute an unknown AML opcode. This is an ACPI AML firmware bug. See acpi_ds_exec_end_control_op().",
"label": "KlogAcpiUnknownControlOp"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No response from Global Lock hardware, disabling lock",
"advice": "An attempt to send a global lock SMI did not generate a global lock event and so the kernel has concluded that the BIOS global lock handler is not functioning on this hardware. All subsequent attempts to use the global lock will be flagged with an error. You may experience race conditions in the ACPI driver.",
"label": "KlogAcpiGlobalLockDisabled"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not signal Global Lock semaphore",
"advice": "A global lock signal was sent to the firmware using a SMI but this failed to complete correctly.",
"label": "KlogAcpiGlobalLockSignalError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid leading digit:",
"advice": "An ACPI name started with a leading digit which is illegal. This is a bug in an ACPI table.",
"label": "KlogAcpiNameLeadingDigit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Bad character 0x.* in name, at",
"advice": "Am ACPI segment name started with some valid name characters but was shorted than the expected length of 4 characters.",
"label": "KlogAcpiNameWrongSize"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Malformed Name at ",
"advice": "An ACPI name had a valid prefix path but there wasn't a valid name following the prefix.",
"label": "KlogAcpiMalformedName"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid/unknown Address Space ID: 0x",
"advice": "The ACPI driver was attempting to create a new operation region objject as specified by an AML instruction but the provided Space ID was not one of the predefined IDs or in the user-defined range. The operation region is not created. This is an AML bug in the ACPI DSDT or SSDTs.",
"label": "KlogAcpiAmlOpRegionInvalidAddressSpaceId"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Type returned from .* was incorrect: .*, expected Btypes: 0x",
"advice": "The ACPI interpreter was evaluating a namespace object and discovered that the return type did not match the expected return type. This is an ACPI AML bug in the ACPI DSDT or SSDTs.",
"label": "KlogAcpiIncorrectReturnType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid/unsupported resource descriptor: Type 0x",
"advice": "The ACPI interpreter failed to convert an AML resource into an aligned internal representation of the resource. The resource descriptor was not a recognised type that could be converted. This is an ACPI AML bug.",
"label": "KlogAcpiInvalidResourceDescriptor"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid descriptor type .* in resource list",
"advice": "The ACPI interpreter failed to convert a linked list of resources into an AML buffer because one of the resources had in invalid resource type. This may be a bug in the ACPI resource handling code.",
"label": "KlogAcpiInvalidDescriptorType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Match operator out of range",
"advice": "The ACPI interpreter found an AML match operator that was unrecognised, it was expecting MTR, MEQ, etc. This is a bug in the AML.",
"label": "KlogAcpiMatchOperatorOutOfRange"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Index .* beyond package end",
"advice": "The ACPI interpreter was executing a 6 argument MATCH_OP op-code and discovered that the integer index being used fall outside of the package being referenced. This is an index overflow or underflow error and is considered to be a bug in the AML.",
"label": "KlogAcpiIndexOutOfPackageRange"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Table has invalid signature .* must be SSDT or OEMx",
"advice": "The ACPI driver detected an ACPI table with an invalid signature. This table will not be loaded and will be ignored.",
"label": "KlogAcpiInvalidTableSignature"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "The ACPI DSDT has been corrupted or replaced - old, new headers below",
"advice": "The current loaded DSDT length and/or checksum differ to original version. This could be because it has been altered from outside Linux (perhaps broken firmware or a rootkit) or some incorrect memory write has corrupted the table. A workaround is to boot with the kernel parameter: acpi=copy_dsdt",
"label": "KlogAcpiDsdtCorrupt"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Invalid signature .* for ACPI table, expected .*",
"advice": "The ACPI DSDT and FACS tables must have correct signatures otherwise the ACPI driver treats them as suspect or corrupt and will not load them.",
"label": "KlogAcpiTableSignatureInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Invalid table length .* in RSDT/XSDT",
"advice": "The ACPI RSDT and XSDT must have the correct length. These variable length tables contain pointers to other ACPI tables and stated length that is different than the actual length can imply that the these tables are not trustworthy and hence the ACPI driver cannot tell if the pointers are totally valid or not. The driver will ignore these tables and ACPI will be disabled.",
"label": "KlogAcpiTableLengthInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Required FADT field .* has zero address and.*or length",
"advice": "The ACPI FADT fields Pm1a_event, Pm1a_control, pm_timer are required fields that must have a defined (non-zero) address and a length that is non-zero. One of these fields is incorrect and needs fixing.",
"label": "KlogAcpiFadtFieldZeroAddrLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Optional FADT field .* has valid .* but zero",
"advice": "The ACPI FADT optional, Pm2_control, GPE0, GPE1 AND has its own length field. If present, both the address and length must be valid. One of these fields is zero and needs fixing.",
"label": "KlogAcpiFadtFieldZeroAddrLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid length for FADT/.*: .*, using default",
"advice": "The ACPI FADT initialize global ACPI PM1 register definitions but gets the invalid lengths, force FADT register definitions to their default lengths.",
"label": "KlogAcpiFadtRegZeroLength"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not convert AML resource",
"advice": "The ACPI driver could not convert an AML resource to an internal representation of the resource that is aligned and easier to access. This is most likely to be because their is an unrecognised ACPI resource op-code. See acpi_rs_convert_aml_to_resource() for details.",
"label": "KlogAcpiAmlResourceConvertFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Zero-length resource returned from RsConvertAmlToResource",
"advice": "The ACPI driver convert an AML resource to an internal representation of the resource that is aligned and easier to access but got zero length returned. See acpi_rs_convert_aml_to_resource() for details.",
"label": "KlogAcpiAmlResourceConvertFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not convert resource",
"advice": "The ACPI driver could not convert a resource linked list into an AML bytestream. See acpi_rs_convert_resources_to_aml() for details.",
"label": "KlogAcpiResourceToAmlFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid Field/AccessAs protocol ID",
"advice": "The ACPI driver gets invalid type of the protocol indicated by region field access attributes when try to get the length of the generic_serial_bus protocol bytes. See acpi_ex_get_protocol_buffer_length() for details.",
"label": "KlogAcpiInvalidProtocolID"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not get result from predicate evaluation",
"advice": "The ACPI driver failed to pop a result off the result stack while evaluating a predicate. This is probably an AML code firmware bug.",
"label": "KlogAcpiPredicateEvalPopFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During .?egion initialization",
"advice": "The ACPI driver failed to initialize a name space operation region. This is most probably the _REG (Region) control failed to evaluate.",
"label": "KlogAcpiRegInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _PRS",
"advice": "The ACPI driver failed to evaluate the _PRS (Possible Resource Settings) object. This failure will lead to a PCI link not being added to the system.",
"label": "KlogAcpiPrsEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _CRS",
"advice": "The ACPI driver failed to evaluate the _CRS (Current Resource Settings) object to get the current IRQ assignment. This failure will lead to a PCI link not allocating an IRQ.",
"label": "KlogAcpiCrsEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _SRS",
"advice": "The ACPI driver failed to evaluate the _SRS (Set Resource Settings) object to set the current link resource. This failure will lead to a PCI link not allocating an IRQ.",
"label": "KlogAcpiSrsEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While executing method",
"advice": "The ACPI driver attempted to execute an ACPI sleep method but this failed to execute. This is most probably an ACPI firmware bug.",
"label": "KlogAcpiSleepMethodFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Missing or null operand",
"advice": "The ACPI driver got a missing or NULL operand while translating a parse tree object that is an argument to an AML object. This is more likely to be poorly written or compiled AML rather than an ACPI parser bug.",
"label": "KlogAcpiParseMissingNullOp"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While creating Arg ",
"advice": "The ACPI driver failed to convert an operator's arguments from a parse tree format to a namespace object during the parse.",
"label": "KlogAcpiOpArgCreateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Evaluating _BST",
"advice": "The ACPI driver attempted to get the ACPI battery state but the _BST (Battery Status) failed to evaluate. This is most likely to be a firmware or embedded controller bug. The ACPI battery state cannot be reported to userspace.",
"label": "KlogAcpiBsrEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to update perflib freq constraint",
"advice": "The ACPI driver attempted to update an existing frequency QoS request along with the effective constraint value for the list of requests it belongs to, but failed.",
"label": "KlogAcpiUpdateFreqFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Failed to add freq constraint for CPU",
"advice": "The ACPI driver attempted to insert new frequency QoS request into a given list, but failed.",
"label": "KlogAcpiInsertFreqFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _PPC",
"advice": "The ACPI driver attempted to get the current CPU performance states but the _PPC (Performance Present Capabilities) method failed to evaluate. The CPU frequency policy will not be updated. This may explain why CPU frequencies are locked at one setting and do not change.",
"label": "KlogAcpiPpcEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _PCT",
"advice": "The ACPI driver attempted to get the CPU performance control and status registers but the _PCT (Performance Control) object failed to evaluate. This error normally occurs because the BIOS is an old or that it does not know the CPU frequencies. CPU frequency support is not supported.",
"label": "KlogAcpiPctEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _PSS",
"advice": "The ACPI driver attempted to get the CPU performance states bug the _PSS (Performance Supported States) object failed to evaluate. This error normally occurs because the BIOS is an old or that it does not know the CPU frequencies. CPU frequency support is not supported.",
"label": "KlogAcpiPssEvalFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to write pstate_control .* to smi_command",
"advice": "The ACPI driver attempted to update the P states but the P state control command written to the SMI command port failed to write. This could be because that ACPI FADT SMI command or FADT P State control settings are incorrect, or that the port write just failed (which is very unlikely).",
"label": "KlogAcpiPstateControlSmiCommandFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "AE_TIME.*Returned by Handler for.*[EmbeddedControl]",
"advice": "This is most probably caused by when a read or write operation to the EC memory has failed because of a timeout waiting for the Embedded Controller to complete the transaction. Normally, the kernel waits for 500ms for the Embedded Controller status port to indicate that a transaction is complete, but in this case it has not and a AE_TIME error has been returned. ",
"label": "KlogAcpiTimeOutReturnedByHandler"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Returned by Handler for",
"advice": "The ACPI driver detected an error returned by a region handler.",
"label": "KlogAcpiRegionHandlerError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "from region _REG",
"advice": "The ACPI driver detected an error when attempting to execute an ACPI_REG_DISCONNECT on a _REG (Region) method.",
"label": "KlogAcpiRegDisconnectFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "from region handler - deactivate",
"advice": "The ACPI driver detected an error when attempting to deactivate a region. This error is ignored.",
"label": "KlogAcpiRegDeactivateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While resolving operands for",
"advice": "The ACPI driver found not resolve an operand for the AML AML_DECREMENT_OP (0x76) or AML_INCREMENT_OP (0x75) instructions. This is due to buggy AML code and not a ACPI driver bug.",
"label": "KlogAcpiIncDecNoOperands"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not update object reference count",
"advice": "The ACPI driver failed to update the reference count to an internal ACPI object. Reference counts are incremented when an object is attached to a node or an object is copied and decremented when an object is detected from a node. This failure will lead to object garbage collection failing to operate correctly. This is considered a kernel bug.",
"label": "KlogAcpiObjRefCountError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not write ACPI mode change",
"advice": "The ACPI driver attempted to inform the firmware (via a System Management Interrupt) that the machine was transitioning to or from ACPI or legacy mode but this failed. This normally indicates that either SMIs are failing or the firmware is buggy. Normally if this fails to transition to ACPI mode then ACPI is not enabled.",
"label": "KlogAcpiModeChangeFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During name lookup/catalog",
"advice": "The ACPI driver failed to find an object while parsing a named Op, see acpi_ps_build_named_op().",
"label": "KlogAcpiNamedObjLookupFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invoked method did not return a value",
"advice": "An invoked ACPI method did not return a value but it was expected to. This could lead to unexpected ACPI execution behaviour.",
"label": "KlogAcpiMethodNoReturnValue"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "GetPredicate Failed",
"advice": "The ACPI driver failed to get a predicate for the AML opcodes IF or WHILE. This normally is because of faulty AML code.",
"label": "KlogAcpiIfWhilePredicateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not create predefined name",
"advice": "The ACPI driver was initializing the ACPI namespace and adding pre-defined names but this failed on this particular object. This should not happen.",
"label": "KlogAcpiPredefinedNameCreateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "While loading namespace from ACPI tables",
"advice": "The ACPI driver failed to load the namespace from the DSDT and SSDTs/PSDTs found in the RSDT/XDSDT. This will lead to the ACPI driver being disabled.",
"label": "KlogAcpiNameSpaceLoadFailure"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While evaluating SleepState .* bad Sleep object .* type .*",
"advice": "The ACPI driver failed to evaluate an ACPI sleep control while trying to obtain the SLP_TYPa and SLP_TYPb values for the requested sleep state.",
"label": "KlogAcpiSlpEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "while handling a GPE",
"advice": "The ACPI driver attempted to asynchronously execute an ACPI General Purpose Event (GPE) but this failed because the kernel ran out of free memory to allocate a GPE event information buffer. The event was not handled, this may lead to unpredictable behaviour.",
"label": "KlogAcpiGpeNoMemory"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "while evaluating GPE method",
"advice": "The ACPI driver attempted to asynchronously execute an ACPI General Purpose Event (GPE) but the ACPI GPE method failed for some unknown reason. This is most likely a firmware bug.",
"label": "KlogAcpiGpeEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to clear GPE",
"advice": "An edge triggered ACPI General Purpose Event (GPE) occurred and the clearing of the GPE status bit failed. This is normally a low-level hardware I/O register write failure. This may lead to this GPE failing to be handled again.",
"label": "KlogAcpiGpeClearFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to disable GPE",
"advice": "An ACPI General Purpose Event (GPE) could not be disabled. These are disabled to ensure the GPE does not keep firing before the asynchronous GPE handler completes. The failure to disable the GPE may lead to further GPEs being triggered and causing some unexpected handling failures.",
"label": "KlogAcpiGpeDisableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to queue handler for GPE",
"advice": "The ACPI driver failed to dispatch the GPE asynchronously. The GPE will not be properly handled and will be ignored.",
"label": "KlogAcpiGpeQueueHandlerFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "During OSL initialization",
"advice": "The ACPI driver failed to initialize, the kernel specific OS dependent layer failed to initialize. This is a kernel bug and ACPI will be disabled.",
"label": "KlogAcpiOsLayerInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "During initialization of globals",
"advice": "The ACPI driver failed to initialize, could not initialize the globals used by the subsystem. This is a kernel bug and ACPI will be disabled.",
"label": "KlogAcpiGlobalsInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During Global Mutex creation",
"advice": "The ACPI driver failed to initialize, could not initialize the global mutex. This is a kernel bug and ACPI will be disabled.",
"label": "KlogAcpiGlobalMutexInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During Namespace initialization",
"advice": "The ACPI driver failed to initialize, could not initialize the ACPI global namespace manager and root namespace tree. ACPI will be disabled.",
"label": "KlogAcpiNamespaceInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During OSI interfaces initialization",
"advice": "The ACPI driver failed to initialize, could not initialize the ACPI OSI interfaces. ACPI will be disabled.",
"label": "KlogAcpiOsiInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not create GPE Block 0",
"advice": "The ACPI driver failed initialize the General Purpose Events (GPE) Block 0. This means that GPEs for this block will be not handled and so some devices or controls may not work correctly.",
"label": "KlogAcpiGpeBlock0InitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not create GPE Block 1",
"advice": "The ACPI driver failed initialize the General Purpose Events (GPE) Block 1. This means that GPEs for this block will be not handled and so some devices or controls may not work correctly.",
"label": "KlogAcpiGpeBlock1InitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "While decoding _Lxx/_Exx methods",
"advice": "The ACPI driver failed to decode level _Lxx or edge _Exx methods for newly added ACPI tables.",
"label": "KlogAcpiGpeLevelOrEdgeMethodDecodeFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not enable GPE 0x",
"advice": "The ACPI driver failed to enable a General Purpose Event (GPE). A GPE event handler will not be executed for this GPE and this may mean some form of loss of functionality with specific devices.",
"label": "KlogAcpiGpeEnableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Processor Device is not present",
"advice": "The ACPI driver has responded to an ACPI processor hotplug event and attempted to execute the _STA (Status) control for a processor but this failed. _STA is mandatory for a processor that supports hot plug and so the driver has not added the processor to the running system.",
"label": "KlogAcpiCpuHotPlugStaFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not install PciConfig handler for Root Bridge",
"advice": "The ACPI driver could not install a PCI Config operation region for a PCI Root Bridge. This could occur for a variety of reasons but it is most probably because the devices _REG (Region) control failed.",
"label": "KlogAcpiPciConfigInstallFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "During WalkNamespace",
"advice": "The ACPI driver failed to traverse the ACPI namespace either during namespace initialization. ACPI will be disabled. ",
"label": "KlogAcpiWalkNamespaceFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "During device initialization",
"advice": "The ACPI driver failed to traverse the ACPI namespace and initialize all the ACPI devices.",
"label": "KlogAcpiNsDevInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not execute arguments for",
"advice": "The ACPI driver failed to initialize methods or op regions during the namespace traversal.",
"label": "KlogAcpiNsExecArgFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI thermal trip point .* changed",
"advice": "The ACPI driver has thrown this exception because of one of the two cases: 1. Either a trip point has becomes invalid when re-evaluating the AML code or, 2. devices listed in _PSL, _ALx or _TZD may have changed and the driver needs to re-bind to the cooling devices of a thermal zone when that happens. This exception probably means the ACPI thermal driver needs to cater for this behaviour and it needs fixing or updating.",
"label": "KlogAcpiThermTripPointChanged"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Cannot find acpi parent",
"advice": "The ACPI driver was attempting to notify a memory device but could not find a parent to the given device handle. This is an internal ACPI driver error and should not occur. ACPI memory hotplug failures may occur because of this failure.",
"label": "KlogAcpiMemHotPlugParentError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "_EJ0 failed",
"advice": "The ACPI driver attempted to power down a memory hot plug device but the ACPI _EJ0 (Eject) control failed which leaves the hotplug memory device in an invalid state.",
"label": "KlogAcpiMemHotPlugEj0Failed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "walk_namespace failed",
"advice": "The ACPI driver failed to traverse the ACPI object namespace to allow it to register any memory hotplug notify handlers. This failure means that ACPI memory hotplug will not work.",
"label": "KlogAcpiMemHotPlugInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to execute _DCK",
"advice": "The ACPI driver executed the _DCK (Dock) control but this failed to complete successfully. This control is executed when an ACPI docking or undocking event is received. This may be because of a fault _DCK control or that the hardware isn't functioning correctly.",
"label": "KlogAcpiDckEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _DOD",
"advice": "The ACPI driver failed to enumerate the ACPI video devices because the _DOD (Enumerate All Devices Attached to the Display Adapter) control failed. This may explain why the video device is not functioning correctly.",
"label": "KlogAcpiDodEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _DOD data",
"advice": "The ACPI control _DOD (Enumerate All Devices Attached to the Display Adapter) returned either a NULL package or not did not return an ACPI_PACKAGE type as expected. This may explain why the video device is not functioning correctly.",
"label": "KlogAcpiDodInvalidData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid GPE 0x",
"advice": "The ACPI driver was requested to get the status of a ACPI General Purpose Event or Fixed Event that did not exist. This is an unexpected driver error.",
"label": "KlogAcpiInvalidGpe"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Evaluating _PRT",
"advice": "The ACPI driver failed to get the PCI Routing Table for a device because the evaluation of _PRT (PCI Routing Table) failed. This will lead to the device not having the IRQ wired up to the correct slot/device/pin. Without this, the device cannot handle interrupts and will fail to work. ",
"label": "KlogAcpiPrtEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Attempted physical table override failed",
"advice": "The ACPI driver attempted to physically map an ACPI table but this failed. This table will not be used and this can lead to unexpected behaviour and loss of functionality.",
"label": "KlogAcpiTablePhysMapFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not acquire Global Lock",
"advice": "The ACPI Global Lock is a mutex that ensures exclusive access to resources controlled by the ACPI driver. This lock failed to be acquired which normally means that the kernel mutex has failed, which should never occur. This is normally considered a kernel bug.",
"label": "KlogAcpiGlobalLockAcquireFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not release Global Lock",
"advice": "The ACPI Global Lock is a mutex that ensures exclusive access to resources controlled by the ACPI driver. This lock failed to be release which normally means that the kernel mutex has failed, which should never occur. This is normally considered a kernel bug.",
"label": "KlogAcpiGlobalLockReleaseFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Expected EISAID is larger than 32 bits:",
"advice": "The ACPI driver gets EISAID larger than 32 bits when converting a numeric EISAID to string representation. It is truncated.",
"label": "KlogAcpiEISAIDTooLarge"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error in acpi_memory_enable_device",
"advice": "ACPI memory hotplug failed to add a memory device, acpi_memory_enable_device() failed. This occurs if the memory block has already been used by the kernel or if add_memory() failed.",
"label": "KlogAcpiMemHotPlugFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Error reading AC Adapter state",
"advice": "The ACPI driver could not read the AC adapter state because the ACPI control _PSR (Power Source) failed to evaluate. This could be because this control did not exist or more probably that it failed to execute because of an error between the firmware and the smart battery.",
"label": "KlogAcpiPsrEvalFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "failed to add I2C device .* from ACPI",
"advice": "Failed to create an I2C device while walking through the ACPI namespace enumerating I2C slave devices behind the adapter.",
"label": "KlogAcpiI2CAddFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot turn wakeup power resources on",
"advice": "The ACPI driver was preparing to wakeup a device by powering on the power resources required for the device but one of these resources failed to power on. See acpi_enable_wakeup_device_power().",
"label": "KlogAcpiPowerWakeupResources"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot turn on wakeup power resources",
"advice": "The ACPI driver was preparing to wakeup a device by powering on the power resources required for the device but one of these resources failed to power on. See acpi_enable_wakeup_device_power().",
"label": "KlogAcpiPowerWakeupResources"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot turn wakeup power resources off",
"advice": "The ACPI driver was preparing to shutdown a wakeup device by powering off the power resources for the device but one of these resources failed to power off. See acpi_disable_wakeup_device_power().",
"label": "KlogAcpiPowerWakeupResources"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot turn off wakeup power resources",
"advice": "The ACPI driver was preparing to shutdown a wakeup device by powering off the power resources for the device but one of these resources failed to power off. See acpi_disable_wakeup_device_power().",
"label": "KlogAcpiPowerWakeupResources"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to evaluate processor object",
"advice": "ACPI Processor() failed to evaluate. ACPI could not gather information on a CPU which will lead to it not being used.",
"label": "KlogAcpiProcessorEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to evaluate processor _UID",
"advice": "ACPI failed to evaluate a processor _UID object (as declared in a Device statement). ACPI could not gather information on a CPU which will lead to it not being used.",
"label": "KlogAcpiProcessorEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Evaluating _TPC",
"advice": "The ACPI driver failed to get the current number of supported CPU throttling T States because the ACPI control _TPC (Throttling Present Capabilities) failed to evaluate.",
"label": "KlogAcpiTpcEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Evaluating _PTC",
"advice": "The ACPI driver failed to get the Processor Throttling Control because the ACPI control _PTC failed to evaluate. This option control defines a processor throttling control interface alternative to the I/O address spaced-based P_BLK throttling control register (P_CNT). Without this the CPU cannot be throttled via this interface.",
"label": "KlogAcpiPtcEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Evaluating _TSS",
"advice": "The ACPI driver failed to get the Throttling Supported States because the ACPI control _TSS failed to evaluate. Processor throttling will not be enabled.",
"label": "KlogAcpiTssEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSS data: freq is zero",
"advice": "The ACPI driver got invalid data from the ACPI control _TSS (Throttling Supported States). One of the CPU throttling frequencies in the _TSS package is zero, which is invalid. Processor throttling will not be enabled.",
"label": "KlogAcpiTssPackageFreqZero"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSS data",
"advice": "The ACPI driver got invalid data from the ACPI control _TSS (Throttling Supported States). Either the package was NULL or the data returned was not of type ACPI_PACKAGE.",
"label": "KlogAcpiTssPackageInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Evaluating _TSD",
"advice": "The ACPI driver could not get the T-State Dependency from the ACPI control _TSD. This means that the CPU will not have any throttling coordination with other CPUs",
"label": "KlogAcpiTsdEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSD data",
"advice": "The ACPI driver got invalid data from the ACPI control _TSD (T-State Dependency). Either the package was NULL or the data returned was not of type ACPI_PACKAGE or the number of elements in the package was incorrect or the package in element zero could not be extracted.",
"label": "KlogAcpiTsdDataInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _PRW",
"advice": "The ACPI driver failed to evaluate the ACPI control _PRW (Power Resources for Wake). As a result, wakeup device management will not function.",
"label": "KlogAcpiPrwEvalFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Extracting _PRW package",
"advice": "The ACPI driver got invalid data from the ACPI control _PRW (Power Resources for Wake). The returned data did not conform to the ACPI specification, see section 7.2.13 of the ACPI 5.0 ACPI specification for more details.",
"label": "KlogAcpiPrwDataInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Notifying BIOS of _CST ability failed",
"advice": "The ACPI driver attempted to notify the firmware (using a System Management Interrupt) that the system had _CST (C-State) ability but this notify command failed. This may lead to unexpected C-State behaviour.",
"label": "KlogAcpiSmiCstFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Evaluating _PIC",
"advice": "The ACPI driver attempted to inform the firmware which method of interrupt routing was being used via the _PIC method, however, this failed to execute. This results in ACPI being disabled.",
"label": "KlogAcpiPicEvalFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Mutex .* is not acquired, cannot release",
"advice": "An attempt to release (unlock) an ACPI related mutex has occurred. This mutex could not be released. This is most probably a bug in the AML code where a Release opcode has been executed that does not match up with an earlier corresponding Mutex opcode. It may also be a bug in the ACPI driver, but this is less likely.",
"label": "KlogAcpiMutexReleaseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Thread .* could not acquire Mutex",
"advice": "A mutex could not be acquired (locked) and the ACPI driver has flagged this up as an exception error. If this occurs when executing a AML Mutex opcode there could be race condition errors if the AML is not checking the return from the Mutex operation and a lot of firmware does omit this check.",
"label": "KlogAcpiMutexAcquireError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to initialize fixed events",
"advice": "The ACPI driver failed to initialize the structure that keeps track of fixed event handlers. The failure occurred when trying to disable one of the 4 fixed events and this causes the ACPI subsystem initialization to fail, which disables ACPI support.",
"label": "KlogAcpiFixedEventInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to initialize general purpose events",
"advice": "The ACPI driver failed to initialize the General Purpose Event (GPE) blocks as defined in the ACPI FADT. This in turn causes the ACPI subsystem initialization to fail, which disables ACPI support.",
"label": "KlogAcpiGpeInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to install System Control Interrupt handler",
"advice": "The ACPI driver failed to install the System Control (SCI) interrupt handler, which has to be working for ACPI to work correctly. This in turn causes the ACPI subsystem initialization to fail, which disables ACPI support.",
"label": "KlogAcpiSciHandlerInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to initialize Global Lock handler",
"advice": "The ACPI driver failed to initialized the Global Lock handler, which is basically a kernel mutex (and should not fail). This in turn causes the ACPI subsystem initialization to fail, which disables ACPI support.",
"label": "KlogAcpiGlobalLockInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No installed handler for fixed event",
"advice": "The ACPI driver failed to dispatch a fixed event because their is no fixed event handler installed for this event. This is an error and the kernel has disabled this event for further interrupts. This could lead to reduced functionality.",
"label": "KlogAcpiNoFixedEventHandler"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Index .* is beyond end of object",
"advice": "The ACPI interpreter could not execute an AML index opcode, the index in the first operand is out of range.",
"label": "KlogAcpiIndexOverflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unexpected notify object type",
"advice": "The ACPI interpreter could not execute a AML notify opcode because the first operand is not a notify object. This is a bug in the firmware.",
"label": "KlogAcpiUnexpectedNotifyObjType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Sleep values out of range: A=.* B=.*",
"advice": "An attempt to transition to a sleep state has occurred with the ACPI sleep type values for the PM controls set greater than the maximum allowed value of 7. This is an illegal value and the system will not be transistioned to this sleep state. ",
"label": "KlogAcpiSleepValuesRangeError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown exception code: 0x",
"advice": "An exception occurred but the exception code was not recognized and the ACPI driver could not find a textual description for this exception. This is most probably a bug in the ACPI driver or ACPICA core.",
"label": "KlogAcpiUnknownExceptionCode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown Reference Count action (0x",
"advice": "An internal ACPI error occurred attempting to update an object reference count. An incorrect action type was provided, expected REF_INCREMENT or REF_DECREMENT, see acpi_ut_update_ref_count().",
"label": "KlogAcpiUnknownRefCountAction"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid type .* for target of Scope operator .*Cannot override",
"advice": "The ACPI interpreter found an invalid type for target of a scope operator, this occurred during the loading of the ACPI tables, see acpi_ds_load2_begin_op().",
"label": "KlogAcpiInvalidTypeScopeOp"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Divide by zero",
"advice": "The ACPI interpreter detected a zero divisor which produce a division by zero error. The AML code is buggy and this will return an undefined value that may cause unexpected behaviour.",
"label": "KlogAcpiAmlDivideByZero"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not release AML Namespace mutex",
"advice": "The ACPI AML interpreter attempted to release the mutex but this failed. The next time interpreter will attempt to acquire this mutex it will fail, however it will continue to execute AML but there will be race conditions occurring.",
"label": "KlogAcpiAmlMutexNotReleased"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not release AML Interpreter mutex",
"advice": "The ACPI AML interpreter attempted to release the mutex but this failed. The next time interpreter will attempt to acquire this mutex it will fail, however it will continue to execute AML but there will be race conditions occurring.",
"label": "KlogAcpiAmlMutexNotReleased"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Could not map memory at 0x.* for length",
"advice": "ACPI could not memory map the Extended BIOS Data Area (EBDA) or upper region 0xE0000-0xFFFFF to search for the ACPI RSDP. This normally results in the RSDP not being found, which means the ACPI tables can't be located and hence ACPI is disabled.",
"label": "KlogAcpiRsdpMemMap"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid zero ID from AcpiOsGetThreadId",
"advice": "A zero thread ID was returned which will break the ACPI driver. This should never happen, since the thread ID is actually the address of the thread descriptor which is never zero.",
"label": "KlogAcpiZeroThreadId"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unknown action (0x",
"advice": "The ACPI engine was expecting to increment, decrement or delete a reference count but instead was given an unknown action to do instead. This is a bug in the ACPI ACPICA code.",
"label": "KlogAcpiRefCountUnknownAction"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Null Op",
"advice": "The ACPI interpreter found a NULL parse opcode and didn't expect to. See acpi_ds_delete_result_if_not_used() or acpi_ds_is_result_used().",
"label": "KlogAcpiNullOp"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unknown parent opcode Op=",
"advice": "The ACPI interpreter found an AML opcode that had an unexpected parent class. This probably indicates an internal ACPI interpreter bug. ",
"label": "KlogAcpiUnknownParentOp"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Time parameter is too large",
"advice": "ACPI Stall() op was requested to wait for more than 255 usec. The ACPI specification states that the maximum should be 100 usec but to accommodate some firmware a maximum of 255 is supported by the kernel.",
"label": "KlogAcpiStallTooLarge"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Evaluating _BCM failed",
"advice": "Could not set the brightness level, the ACPI control _BCM failed to execute correctly.",
"label": "KlogAcpiBcmFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Current brightness invalid",
"advice": "The ACPI video driver set the brightness level using the ACPI control _BCM, however the level used was not a known level (as returned by _BCL).",
"label": "KlogAcpiInvalidBrightness"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Too many duplicates in _BCL package",
"advice": "ACPI method _BCL (Query List of Brightness Control Levels Supported) contains too many duplicated brightness levels in the returned package and this is non-standard.",
"label": "KlogAcpiBclPackageContainsDuplicates"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Found unordered _BCL package",
"advice": "ACPI method _BCL (Query List of Brightness Control Levels Supported) has a maximum brightness value which is not the last value in the returned package. Values returned must be in ascending order.",
"label": "KlogAcpiBclUnorderedPackage"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ACPI Subsystem is already terminated",
"advice": "A request to terminate the ACPI driver but it is already terminated. You should not see this error.",
"label": "KlogAcpiAlreadyTerminated"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Null scope parameter",
"advice": "Failed to push the current scope onto the scope stack, the node was Null, which was not expected. See acpi_ds_scope_stack_push().",
"label": "KlogAcpiNullScopeParameter"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid conversion sub-opcode",
"advice": "The ACPI driver could not convert an AML resource descriptor to a corresponding internal resource descriptor. Refer to acpi_rs_convert_aml_to_resource() or acpi_rs_convert_resource_to_aml().",
"label": "KlogAcpiConversionSupOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid conversion opcode",
"advice": "The ACPI driver could not convert an AML resource descriptor to a corresponding internal resource descriptor. Refer to acpi_rs_convert_aml_to_resource() or acpi_rs_convert_resource_to_aml().",
"label": "KlogAcpiConversionSupOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No SMI_CMD in FADT, mode transition failed",
"advice": "ACPI FADT SMI_CMD is zero, with ACPI 2.0 this means that the system cannot transition to/from ACPI mode.",
"label": "KlogAcpiFadtSmiCmdZero"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No ACPI mode transition supported in this system (enable/disable both zero)",
"advice": "ACPI FADT ACPI_ENABLE is zero and ACPI_DISABLE is set, ACPI 2.0 this means enabling or disabling is not supported and the system cannot transition to ACPI mode.",
"label": "KlogAcpiNoModeTransitionSupport"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Found a grandchild.*P=.*C=",
"advice": "An error occurred in the ACPI driver, acpi_ns_delete_children() was trying to delete children objects and discovered that one of these had children objects of it's own, which should not happen.",
"label": "KlogAcpiObjectGrandchild"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Cannot assign type .* to .*must be type Int/Str/Buf",
"advice": "ACPI execution run time error: Type assignment was illegal, acpi_ex_resolve_object() was trying assign a type to a different type which is illegal.",
"label": "KlogAcpiTypeAssign"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Store into an unresolved Alias object",
"advice": "ACPI execution run time error: The ACPI driver has been asked to resolve an object of type ACPI_TYPE_LOCAL_ALIAS or ACPI_TYPE_LOCAL_METHOD_ALIAS but this should not occur as these should have been resolved earlier. See function acpi_ex_resolve_object() for more details.",
"label": "KlogAcpiUnresolveAliasObject"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown AML opcode 0x",
"advice": "ACPI execution run time error: The ACPI interpreter has reached an opcode that is unknown, this normally is a bug in the underlying AML code either because of badly written AML code or the compiler has produced code that is incorrect or the ACPI interpreter does not support this valid opcode. ",
"label": "KlogAcpiUnknownAmlOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid AML Opcode: 0x",
"advice": "ACPI execution run time error: The ACPI interpreter has reached an opcode that is unknown, this normally is a bug in the underlying AML code either because of badly written AML code or the compiler has produced code that is incorrect or the ACPI interpreter does not support this valid opcode. ",
"label": "KlogAcpiUnknownAmlOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Found unknown opcode .* at AML address .* offset",
"advice": "ACPI execution run time error: The ACPI interpreter has reached an opcode that is unknown, this normally is a bug in the underlying AML code either because of badly written AML code or the compiler has produced code that is incorrect or the ACPI interpreter does not support this valid opcode. ",
"label": "KlogAcpiUnknownAmlOpcode"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "BCD digit too large (not decimal): 0x",
"advice": "ACPI execution run time error: AML opcode AML_FROM_BCD_OP (0x5b28) contains a BCD digit value that is greater than 9 and is out of range for a Binary Coded Decimal digit.",
"label": "KlogAcpiBcdDigitTooLarge"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Integer too large to convert to BCD",
"advice": "ACPI execution run time error: AML opcode AML_TO_BCD_OP (0x5b29) has been requested to convert an integer into a Binary Coded Decimal value that is too large. An overflow has been caught and it is possible that unexpected execution behaviour will occur.",
"label": "KlogAcpiToBcdOverflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "obsolete and not implemented",
"advice": "ACPI execution run time error: Execution of AML_SHIFT_LEFT_BIT_OP (0x5b11) or AML_SHIFT_RIGHT_BIT_OP (0x5b10) were ignored, these are obsolete AML opcodes and are not implemented in the ACPI interpreter. Unexpected execution behaviour will occur.",
"label": "KlogAcpiOpObsolete"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Operand must be Buffer/Integer/String/Package - found type",
"advice": "ACPI execution run time error: Execution of AML_SIZE_OF_OP with an operand that is not a buffer, integer, string or package has occurred. This will result in unexpected behaviour. This is a bug in the AML.",
"label": "KlogAcpiOpTypeBad"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unknown Index TargetType 0x",
"advice": "ACPI execution run time error: Execution of AML_DEREF_OF_OP (0x83) with an illegal target index operator that was not a buffer or a package type.",
"label": "KlogAcpiUnknownIndexTargetType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Unknown class in reference",
"advice": "ACPI execution run time error: Execution of AML_DEREF_OF_OP (0x83) with an illegal operand reference class.",
"label": "KlogAcpiUnknownIndexTargetType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "apm.*an event queue overflowed",
"advice": "More then 20 APM events were queued up which is unexpected. The queue was not being drained quickly by a reading process (perhaps it is not running).",
"label": "KlogApmEventQueueOverflow"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "apm.*passed bad filp",
"advice": "A read of the APM events was performed by a reading process with an unrecognised file pointer. This should not happen.",
"label": "KlogApmReadBadFileptr"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "apm.*filp not in user list",
"advice": "An attempt to release a APM reader occurred using an unrecognised file pointer. This should not happen.",
"label": "KlogApmReleaseBadFileptr"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "apm.*cannot allocate struct of size %d bytes",
"advice": "An attempt to open failed, out of memory. APM events cannot be read.",
"label": "KlogApmOpenNoMemory"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "apm.*disabled - Unable to start kernel thread",
"advice": "Cannot start kernel APM thread, APM handling will be disabled.",
"label": "KlogApmKernelThreadFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PnPBIOS.*ESCD size reported by BIOS escd_info call is too great",
"advice": "The ESCD size was greater than a sane size of 32K.",
"label": "KlogPnpBiosEscdSize"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PnPBIOS.*ESCD size reported by BIOS read_escd call is too great",
"advice": "The ESCD size was greater than a sane size of 32K.",
"label": "KlogPnpBiosEscdSize"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "PnPBIOS.*Disabled by ACPI PNP",
"advice": "The PnPBIOS driver was disabled because PnP support is provided by the ACPI driver.",
"label": "KlogPnpBiosDisabled"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PnPBIOS.*",
"advice": "The PnPBIOS driver has detected an issue that fwts does not know about.",
"label": "KlogPnpBiosError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Node number .* is out of sequence following node .* Aborting.",
"advice": "Device node numbers are out of sequence.",
"label": "KlogPnpBiosDevNodeSeqError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PCI: BIOS BUG #",
"advice": "A call to the PCI BIOS32 service routine (with service signature $PCI) has returned a bad status or an illegal PCI signature. The kernel will disable the use of the PCI BIOS.",
"label": "KlogBios32PciFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "too many entries; ignoring ",
"advice": "Legacy E820 BIOS has a limit of 128 entries in the E820 memory map but the firmware seems to have more than this. For EFI NUMA hardware, the limit is 128 + 3 * maximum number of nodes. The kernel has ignore the extra entries. This could lead to regions of memory being used by the kernel when in fact is should be reserved and this can lead to unexpected behaviour.",
"label": "KlogE820TooManyEntries"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Ooops! Too many entries in the memory map!",
"advice": "Legacy E820 BIOS has a limit of 128 entries in the E820 memory map but the firmware seems to have more than this. For EFI NUMA hardware, the limit is 128 + 3 * maximum number of nodes. The kernel has ignore the extra entries. This could lead to regions of memory being used by the kernel when in fact is should be reserved and this can lead to unexpected behaviour.",
"label": "KlogE820TooManyEntries"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "MTRR.*CPU.*SYSCFG.*MtrrFixDramModEn.*not cleared by BIOS, clearing this bit",
"advice": "The firmware is expected to clear MtrrFixDramModEn bit, see for example BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD Opteron Processors (26094 Rev. 3.30 February 2006), section 13.2.1.2 SYSCFG Register. The MtrrFixDramModEn bit should be set 1 during firmware initialization of the fixed MTRRs, then cleared to 0 for operation. Hence the kernel has detected and worked around this fault.",
"label": "KlogMtrrFixDramModEnNotClear"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "MTRR.*CPU.*Writing MSR .* to .* failed",
"advice": "Writing to a MTRR MSR has failed. The kernel cannot do much about this and has ignored the failure.",
"label": "KlogMtrrWriteMsrFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "acpi_request_vector.*invalid interrupt type",
"advice": "An attempt to request an interrupt vector greater than 256 (ACPI_MAX_PLATFORM_INTERRUPTS) has occurred and will be rejected.",
"label": "KlogAcpiIa64RequestBadVector"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Can't find MADT",
"advice": "Could not find the ACPI MADT. The kernel could not find this table so it could determine how many CPUs the system had. The machine will boot with just one CPU which may be the incorrect number of CPUs.",
"label": "KlogAcpiMadtMissing"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Error parsing MADT - no LAPIC entries",
"advice": "The ACPI MADT could not be parsed to determine the number of Local APIC entries. This may lead to sub-optimal configuration of the machine.",
"label": "KlogAcpiMadtLapicParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Error parsing LAPIC address override entry",
"advice": "The ACPI MADT could not be parsed to determine the Local APIC override entry.",
"label": "KlogAcpiMadtLapiceOverrideParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Error parsing LAPIC NMI entry",
"advice": "The ACPI MADT could not be parsed to determine the Local APIC NMI entry.",
"label": "KlogAcpiMadtLapicNmiParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Error parsing MADT.*no IOSAPIC entries",
"advice": "The ACPI MADT could not be parsed to find the IOSAPIC entries.",
"label": "KlogAcpiMadtIosapicParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Error parsing platform interrupt source entry",
"advice": "The ACPI MADT could not be parsed to find the platform interrupt source entry.",
"label": "KlogAcpiMadtPlatIntSrcParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Can't find FADT",
"advice": "The ACPI Fixed ACPI Description Table (FADT) is missing and so the kernel cannot determine if the legacy keyboard controller is present. It cannot also determine the SCI_INT interrupt line which is used for ACPI events, such as the power and sleep buttons. If the SCI_INT is not on a legacy interrupt then it needs to be specified in the FADT. ",
"label": "KlogAcpiFadtMissing"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Cannot create",
"advice": "The ACPI driver attempted to create an entry in /proc/acpi but failed. This should not happen and is a kernel bug.",
"label": "KlogAcpiProcfsCreateFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Create sysfs link",
"advice": "The ACPI driver attempted to create a sysfs link for a device and this failed. This should not happen and is a kernel bug.",
"label": "KlogAcpiSysfsLinkCreateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error updating fan power state",
"advice": "Failed to update the fan power state when coming out of resume. The call to acpi_bus_update_power() failed even though the fan device was valid.",
"label": "KlogAcpiFanResumeUpdate"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "does not support this state",
"advice": "A request to suspend the machine was aborted because it was asked to transition to a sleep state that is not supported by the ACPI driver or this machine.",
"label": "KlogAcpiUnsupportedSleepState"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Hardware changed while hibernated, cannot resume",
"advice": "The FACS hardware signature has changed when coming out of hibernation. The kernel has concluded that the machine has changed and therefore won't commit to resuming from hibernate.",
"label": "KlogAcpiS4ResumeBadFacsSignature"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Device don't exist, dropping EJECT",
"advice": "A processor hotplug notify eject request event was rejected because the device does not seem to exist.",
"label": "KlogAcpiHotPlugEjectMissingDevice"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Driver data is NULL, dropping EJECT",
"advice": "A processor hotplug notify eject request event was rejected because the device data is NULL.",
"label": "KlogAcpiHotplugEjectNullDeviceData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid reference to IOAPIC pin",
"advice": "The IOAPIC pin was invalid, it exceeded the maximum expected pin reference value (MP_MAX_IOAPIC_PIN 127).",
"label": "KlogAcpiIoApicPinRefInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Error parsing IOAPIC entry",
"advice": "Failed to parse the ACPI MADT, the number of IOAPIC entries found was less than zero, which probably means the MADT is broken.",
"label": "KlogAcpiMadtParseError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "No IOAPIC entries present",
"advice": "The ACPI MADT was expected to contain at least one IOAPIC entry, however, none were found. Cannot enumerate the IOAPICs.",
"label": "KlogAcpiMadtNoIoApicEntry"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error parsing interrupt source overrides entry",
"advice": "Could not parse the ACPI MADT to determine the interrupt override for the SCI. This could lead to unexpected behaviour.",
"label": "KlogAcpiMadtIrqOverrideParseError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Error parsing NMI SRC entry",
"advice": "Could not parse the ACPI MADT to determine the NMI SRC entry. This could lead to unexpected behaviour.",
"label": "KlogAcpiMadtNmiSrcEntryParseError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "pci_create_slot returned",
"advice": "A PCI slot could not be register because a call to pci_create_slot() failed.",
"label": "KlogAcpiPciSlot"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "walk_p2p_bridge failure",
"advice": "Traversing the PCI root bridge failed because of an error walking the P2P bridge.",
"label": "KlogAcpiPciSlot"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "register_slot failure",
"advice": "Adding a PCI slot failed because traversing the PCI root bridge failed.",
"label": "KlogAcpiPciSlot"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_PRS resource type .* isn't an IRQ",
"advice": "The ACPI _PRS resource type was expected to be an IRQ type and was not.",
"label": "KlogAcpiPciLinkPrsIrq"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_CRS resource type 0x%x isn't an IRQ",
"advice": "The ACPI _CRS resource type was expected to be an IRQ type and was not.",
"label": "KlogAcpiPciLinkCrsIrq"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to read status",
"advice": "A query of _STA to get the bus status failed and the current link status is unknown.",
"label": "KlogAcpiPciLinkSta"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_CRS returned 0",
"advice": "The query of the bus status failed because the _CRS controlled returned IRQ 0, which was not expected.",
"label": "KlogAcpiPciLinkCrsIrqZero"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid Resource_type",
"advice": "A PCI link set failed because the link IRQ resource type is invalid.",
"label": "KlogAcpiPciLinkIrqResourceInvalid"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to set IRQ for",
"advice": "An attempt to enabled the link device failed.",
"label": "KlogAcpiPciLinkFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid link device",
"advice": "Unable to allocate an IRQ failed because the link device is invalid.",
"label": "KlogAcpiPciLinkDeviceInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid link context",
"advice": "Unable to allocate an IRQ failed because the link context was invalid (NULL).",
"label": "KlogAcpiPciLinkContextNull"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Invalid index",
"advice": "Support for multiple index IRQ entries per link device is not yet implemented.",
"label": "KlogAcpiPciLinkMultipleIrqEntries"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Link active IRQ is 0",
"advice": "Unable to allocate an IRQ failed because the active IRQ is 0, which is wrong.",
"label": "KlogAcpiPciLinkActiveIrqZero"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Link isn't initialized",
"advice": "An attempt to free the IRQ of a link failed because the link was not initialized.",
"label": "KlogAcpiPciLinkNotInitialized"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Evaluating processor object",
"advice": "An error occurred evaluating the ACPI Processor() object, ACPI CPU control for this CPU broken.",
"label": "KlogAcpiProcessorFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Evaluating processor _UID",
"advice": "An error occurred evaluating an ACPI CPU _UID, ACPI CPU control for this CPU is broken.",
"label": "KlogAcpiProcessorBadUid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid PBLK length",
"advice": "The Processor Register Block data is not the expected size, ACPI control of this CPU will not occur.",
"label": "KlogAcpiProcessorPblkBad"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Processor driver could not be attached",
"advice": "An attempt to add a processor to the system failed in acpi_processor_add(), the processor driver's .probe failed calling device_attach(). The CPU cannot be added to the system under ACPI control.",
"label": "KlogAcpiProcessorNotAttached"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PSS data",
"advice": "Failed to get ACPI performance states from the _PSS control, buffer was either NULL or not an ACPI package.",
"label": "KlogAcpiPssFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid BIOS _PSS frequency found for processor",
"advice": "CPU frequency in MHz as supplied by _PSS control cannot be stored in a 32 bit unsigned integer, overflow error.",
"label": "KlogAcpiPssFreqTooBig"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No valid BIOS _PSS frequency found for processor",
"advice": "One of the CPUs did not have a valid _PSS frequency defined. Cannot fetch _PSS levels for this CPU.",
"label": "KlogAcpiPssNotFound"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PSD data",
"advice": "The ACPI _PSD control returned a pointer that was NULL or not an ACPI package or did not have 1 item in the package or the item could not be fetched out of the package. P-State dependencies cannot be evaluated, machine may perform sub-optimally.",
"label": "KlogAcpiPsdBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown _PSD:num_entries",
"advice": "The number of _PSD entries should be 5 but a different count was returned. The P-State dependencies cannot be evaluated, machine may perform sub-optimally.",
"label": "KlogAcpiPsdBadCount"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown _PSD:revision",
"advice": "The _PSD revision should be 0 but a different version was returned. P-State dependencies cannot be evaluated, machine may perform sub-optimally.",
"label": "KlogAcpiPsdBadRevision"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PSD:coord_type",
"advice": "The _PSD coordination type was invalid, it should be SW_ALL, SW_ANY or HW_ALL. P-State dependencies cannot be evaluated, machine may perform sub-optimally.",
"label": "KlogAcpiPsdBadCoordType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to switch the brightness",
"advice": "The ACPI video brightness for the LCD could not be set because _BCM failed.",
"label": "KlogAcpiVideoBcmFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _DOD data in element",
"advice": "The ACPI _DOD control returned an element that was not an ACPI integer as expected. This element will be ignored, which could lead to reduced functionality.",
"label": "KlogAcpiVideoDodFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _DDC data",
"advice": "The ACPI _DDC control is returning either a NULL buffer pointer or data that is not an ACPI buffer. The Extended Display Identification Data (EDID) structure that represents the display output device could not be fetched. This may affect video output.",
"label": "KlogAcpiVideoDdcFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _BCL data",
"advice": "The ACPI _BCL control is returning either a NULL buffer pointer or data that is not an ACPI package. LCD brightness level queries will not work.",
"label": "KlogAcpiVideoBclFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Oops, 'acpi_handle' corrupt",
"advice": "Failed to unbind a device, the ACPI handle was corrupt.",
"label": "KlogAcpiHandleCorrupt"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Can't use platform_notify",
"advice": "Cannot add the ACPI platform notifiers, they are already registered. This should not happen.",
"label": "KlogAcpiPlatformNotify"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:Error in acpi_memory_enable_device",
"advice": "Adding a hotplug memory device failed because.",
"label": "KlogAcpiHotPlugAddMemDeviceFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_INFO",
"pattern": "memory_hp:Disable memory device",
"advice": "An ACPI notify eject request occurred to disable a memory device.",
"label": "KlogAcpiHotPlugNotifyDisableOkay"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:Driver Data is NULL",
"advice": "An ACPI notify eject request failed because the device data is NULL.",
"label": "KlogAcpiHotPlugNotifyEjectDataNull"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Device doesn't exist",
"advice": "An ACPI notify eject request failed because the device does not exist.",
"label": "KlogAcpiHotPlugNotifyEjectDeviceNotExist"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:Cannot enable memory device",
"advice": "Memory device notify failed because it could not enabled the memory device.",
"label": "KlogAcpiHotPlugEnableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:Cannot find driver data",
"advice": "Memory device notify failed because it could not find the relevant driver data for this device.",
"label": "KlogAcpiHotPlugDeviceNotify"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:add_memory failed",
"advice": "Failed to add memory device, add_memory() failed for some reason.",
"label": "KlogAcpiHotPlugAddMemoryFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "memory_hp:get_device_resources failed",
"advice": "The devices resources could not be determined from the relevant ACPI _CRS control and so the memory device could not be enabled.",
"label": "KlogAcpiHotPlugCrsFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Fatal opcode executed",
"advice": "An ACPI AML fatal opcode was executed and the kernel has trapped this signal. It could be because of faulty control method code.",
"label": "KlogAcpiFatalOpcodeSignal"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Call to queue_work() failed.",
"advice": "Failed to queue up AML exec work on CPU 0. This results in ACPI control code not being executed which could lead to unexpected behaviour.",
"label": "KlogAcpiQueueWorkFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "acpi_os_get_timer() TBD",
"advice": "Support for the 64 bit ACPI AML timer operand is not implemented, this will be emulated and may affect AML code that relies on accurate timers.",
"label": "KlogAcpiGetTimerNotImplemented"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SCI .* allocation failed",
"advice": "Failed to install an ACPI SCI interrupt handler because the the IRQ allocation failed.",
"label": "KlogAcpiSciIrqAllocError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "SCI .*ACPI GSI .* not registered",
"advice": "Failed to install an ACPI SCI interrupt handler because the Global System Interrupt (GSI) is not registered.",
"label": "KlogAcpiSciGsiError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown or unused hardware error source type: .* for hardware error source:",
"advice": "The ACPI Hardware Error Source Table (HEST) driver parsed the hardware error sources, but got the hardware error sources.",
"label": "KlogAcpiHestHWSourceError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Table contents overflow for hardware error source",
"advice": "The ACPI Hardware Error Source Table (HEST) driver parsed the hardware error sources, but got the table contents overflow.",
"label": "KlogAcpiHestContentsOverflow"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Duplicated hardware error source ID",
"advice": "The ACPI Hardware Error Source Table (HEST) driver parsed the hardware error sources, but got the duplicated hardware error source ID.",
"label": "KlogAcpiHestDuplicateID"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "HEST: Failed to get table",
"advice": "The ACPI Hardware Error Source Table (HEST) found the table, but it cannot get the table for some format exceptions.",
"label": "KlogAcpiHestGetTableFail",
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "System description tables not found",
"advice": "The EFI ACPI20 or ACPI RSDP pointers were invalid, so the kernel cannot find any of the ACPI tables. ACPI support will be disabled.",
"label": "KlogAcpiEfiRsdpError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid EFI RTC value: write of .* to EFI RTC failed",
"advice": "Failed to update the EFI Real Time Clock (RTC), the provided time was not a valid time and so the EFI RTC was not updated.",
"label": "KlogAcpiEfiRtcWriteFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "acpi_memory_enable_device() error",
"advice": "ACPI memory hotplug failed to add an ACPI memory device to the system. This error can occur if the memory block has already been used by the kernel or if the ACPI memory bind failed.",
"label": "KlogAcpiMemEnableDevice"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Vendor .* System .* Revision .* has a known ACPI BIOS problem",
"advice": "The kernel has recognised that this particular version of the firmware has known ACPI issues and so ACPI support will be disabled. Reduced functionality will occur.",
"label": "KlogAcpiBlackListed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to register for device notifications",
"advice": "The ACPI device notify handlers failed to be installed and so ACPI support with be disabled.",
"label": "KlogAcpiNotifyHandlerInstallFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to initialize ACPI objects",
"advice": "The ACPI objects failed to initialize and so ACPI support with be disabled.",
"label": "KlogAcpiObjectsFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to register for system notifications",
"advice": "The ACPI system nofifications failed to register and so ACPI support with be disabled.",
"label": "KlogAcpiSysNotificationsRegFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to start the ACPI Interpreter",
"advice": "The ACPI interpreter failed to start up correctly and so ACPI support with be disabled.",
"label": "KlogAcpiInterpreterFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to enable ACPI",
"advice": "The ACPI subsystem failed to be enabled and so ACPI support with be disabled.",
"label": "KlogAcpiEnableFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to load the System Description Tables",
"advice": "The ACPI driver was unabled to load the ACPI tables and so ACPI support will be disabled.",
"label": "KlogAcpiLoadFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to initialize the ACPI Interpreter",
"advice": "The ACPI interpreter could not be initialized and so ACPI support will be disabled.",
"label": "KlogAcpiInitFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unable to reallocate ACPI tables",
"advice": "The kernel count not reallocate the ACPI tables into memory from firmware and so ACPI support will be disabled.",
"label": "KlogAcpiReallocateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "can't evaluate _SEG",
"advice": "The _SEG ACPI control could not be evaluated. This will stop certain PCI root bridges from being added and enabled on the computer.",
"label": "KlogAcpiSegFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "can't evaluate _BBN",
"advice": "The _BBN ACPI control could not be evaluated. This will stop certain PCI root bridges from being added and enabled on the computer.",
"label": "KlogAcpiSegFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Bus .*:.* not present in PCI namespace",
"advice": "The bus could not be found in the PCI namespace. This will stop certain PCI root bridges from being added and enabled on the computer.",
"label": "KlogAcpiPciScanFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "_DSW execution failed",
"advice": "The ACPI control _DSW (Device Sleep Wake) failed to execute, this may impact on the ability to enable or disable the wake capabilities of a device in the computer.",
"label": "KlogAcpiDswFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "_PSW execution failed",
"advice": "The ACPI control _PSW (Power State Wake) failed to execute, this may impact on the ability to enable or disable the wake capabilities of a device in the computer.",
"label": "KlogAcpiPswFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Transition power state",
"advice": "Failed to power on or shutdown a wakeup device using _PSW or _DSW control methods.",
"label": "KlogAcpiSuspend"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Fail in evaluating the _REG object of EC device",
"advice": "The _REG object for the Embedded Controller Device could not be evaluated, however the kernel will ignore this and try to install the handler for the Embedded Controller.",
"label": "KlogAcpiEcBadReg"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to undock",
"advice": "An undock event was requested but the machine still seems to be docked.",
"label": "KlogAcpiDockCannotUndock"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unable to dock",
"advice": "A dock notify event was handled but the machine still seems to be undocked.",
"label": "KlogAcpiDockCannotDock"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown dock event",
"advice": "A dock notify event was handled, but the type of notify event was not recognised.",
"label": "KlogAcpiDockEvent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": ".* encountered error .*",
"advice": "An error occurred when trying to add a new dock station device.",
"label": "KlogAcpiDockAdd"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "More than one Lid device found",
"advice": "Failed to add a Lid device because one already exists. The kernel does not support more than one Lid device.",
"label": "KlogAcpiLidMany"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Unsupported hid",
"advice": "The Lid Hardware ID (HID) is one that the kernel does not recognise and so the Lid device was not added to the system. This can explain why the Lid does not work.",
"label": "KlogAcpiLidBadHid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "device is NULL",
"advice": "The kernel count not add a container because the device associated with this was NULL, which is unexexpected.",
"label": "KlogAcpiContainer"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "wakeup header does not match",
"advice": "The ACPI suspend wakeup header did not contain the expected header value so the kernel had to abort the suspend. This can happen if the data is corrupted.",
"label": "KlogAcpiSuspendHeader"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "not enough elements in _CST",
"advice": "_CST returned either a NULL buffer or a type that wasn't an ACPI package or less than 2 elements in the package. The kernel could not evaluate the CPU supported C states supported, meaning that the machine will not run optimally.",
"label": "KlogAcpiCstElements"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "count given by _CST is not valid",
"advice": "_CST returned an invalid number of elements, the package a different number of C states to the number of C states that _CST reported. The kernel could not evaluate the CPU supported C states supported, meaning that the machine will not run optimally.",
"label": "KlogAcpiCstCount"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No return object",
"advice": "An ACPI evaluate for a reference returned a buffer of zero length or a NULL buffer pointer.",
"label": "KlogAcpiEvalReferenceBadBuffer"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Expecting a [Package], found type",
"advice": "An ACPI evaluate for a reference did not return a ACPI package as expected.",
"label": "KlogAcpiEvalReferenceNotPackage"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "[Package] has zero elements",
"advice": "An ACPI evaluate for a reference returned an illeage package of zero elements.",
"label": "KlogAcpiEvalReferencePackageZeroElements"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Expecting a [Reference] package element, found type",
"advice": "An ACPI evaluate for a reference returned contained an element that was not a reference type.",
"label": "KlogAcpiEvalReferencePackageElementType"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "error obtaining _EC",
"advice": "The ACPI Embedded Controller Offset Query Control Method _EC failed to evaluate. It is either missing or broken and means the kernel could not add a SMBUS host controller.",
"label": "KlogAcpiEcFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "host controller is not configured",
"advice": "The kernel count not issue a SMBUS transaction because the host controller was not configured. See acpi_smbus_transaction()",
"label": "KlogSmbusHostController"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Error attaching device data",
"advice": "The kernel could not register a thermal zone because acpi_attach_data() failed for some reason. The machine may not be able to optimally cool itself and may have overheating issues because of this error.",
"label": "KlogAcpiThermZoneAttachFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSS data: freq is zero",
"advice": "The _TSS has returned a zero frequency setting in one or more of the package elements.",
"label": "KlogAcpiTssZeroFrequency"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSS data",
"advice": "The _TSS has returned a NULL data pointer or data which isn't an ACPI package.",
"label": "KlogAcpiTssBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown _TSD:num_entries",
"advice": "The number of entries in the throlling domain information was not 5.",
"label": "KlogAcpiTsdIllegalNumEntries"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown _TSD:revision",
"advice": "The expected TSD revision was not 0.",
"label": "KlogAcpiTsdBadRevision"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "HARDWARE addr space,NOT supported yet",
"advice": "The CPU does not seem to support the MSR_IA32_THERM_CONTROL MSR.",
"label": "KlogAcpiUnsupportedThermControlMsr"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Unknown addr space",
"advice": "Could not read the hardware specific throttling status, the status register space ID was not a system I/O space or a fixed hardware space.",
"label": "KlogAcpiThrottleStatusBadRead"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _TSD data",
"advice": "The _TSD has returned data which isn't valid, either a NULL data pointer or data which isn't an ACPI package has been returned.",
"label": "KlogAcpiTsdBadData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PTC control register",
"advice": "The _PTC control register bit widths or bit offsets are incorrect.",
"label": "KlogAcpiPtcControlRegisterInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PTC status register",
"advice": "The _PTC status register bit widths or bit offsets are incorrect.",
"label": "KlogAcpiPtcStatusRegisterInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PTC data (status_register)",
"advice": "The _PTC status register data (element 1 of the package) was either NULL or too small.",
"label": "KlogAcpiPtcDataStatusRegister"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PTC data (control_register)",
"advice": "The _PTC control register data (element 0 of the package) was either NULL or too small.",
"label": "KlogAcpiPtcDataControlRegister"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Invalid _PTC data",
"advice": "_PTC did not return a package of two elements, expected a two element package containing buffers for the control and status register.",
"label": "KlogAcpiPtcDataBad"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to create sysfs link 'thermal_cooling'",
"advice": "sysfs_create_link() failed to create the thermal 'thermal_cooling' sysfs entry.",
"label": "KlogAcpiThermalThermalCoolingSysfs"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Failed to create sysfs link 'device'",
"advice": "sysfs_create_link() failed to create the thermal 'device' sysfs entry.",
"label": "KlogAcpiThemalDeviceSysfs"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Setting initial power state",
"advice": "The call to acpi_bus_update_power() in acpi_fan_add() failed while adding a new fan device.",
"label": "KlogAcpiFanAddFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "EC.*input buffer is not empty, aborting transaction",
"advice": "The ACPI Embedded Controller (EC) driver attempted to perform a read or write transaction but had to abort because the EC was still busy and the input buffer was not emptied within 500ms. Normally this indicates an EC firmware fault. One can try increasing the delay using the acpi.ec_delay kernel parameter or writing to /sys/module/acpi/parameters/ec_delay - however this generally does not help much if the EC firmware is buggy.",
"label": "KlogAcpiEcInputBufferIsNotEmpty"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "ENERGY_PERF_BIAS.*Set to 'normal'.* was 'performance'",
"advice": "This is not exactly a failure but a warning from the kernel. The MSR_IA32_ENERGY_PERF_BIAS was initialized and defaulted to a high performance bias setting. The kernel has detected this and changed it down to a 'normal' bias setting.",
"label": "KlogEnergyPerfBiasSetToNormal"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "pnp.*can't evaluate _CRS: 12311",
"advice": "The _CRS object could not be evaluated because an invalid resource type has been returned. This can lead to misconfigured PNP hardware and may render a system unbootable.",
"label": "KlogPnpCrsInvalidResourceType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "pnp.*can't evaluate _CRS:",
"advice": "The _CRS object could not be evaluated, the error code is an ACPI error return code (see include/acpi/acexecp.h in the linux source, this is composed of bottom 12 bits of an error number and upper 4 bits of an AE_CODE_* code. Typically, _CRS evaluation errors can lead to misconfigured PNP hardware and may render a system unbootable.",
"label": "KlogPnpCrsCannotEvaluate"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "dell_wmi:.*Received unknown WMI event",
"advice": "The Dell WMI driver has received an unknown WMI event. The driver should handle this new event or the firmware is reporting an incorrect and unknown event.",
"label": "KlogDellWmiReceivedUnknownWMIEvent"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "dell_wmi:.*bad event status 0x",
"advice": "The Dell WMI driver has received a bad event status. This should be investigated further.",
"label": "KlogDellWmiBadEventStatus"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "asus_wmi:.*Unknown key.*pressed",
"advice": "The ASUS WMI driver has received an unknown key event. The driver should handle this new key event or the firmware is reporting an incorrect and unknown event.",
"label": "KlogAsusWmiUnknownKeypressed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "hp_wmi:.*bad event status 0x",
"advice": "The HP WMI driver has received a bad event status. This should be investigated further.",
"label": "KlogHpWmiBadEventStatus"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "hp_wmi:.*Unknown response received",
"advice": "The HP WMI driver has received a return object that was not of type ACPI_BUFFER. The driver needs to be updated to handle this new return type or there is a bug in the WMI mechanism on this machine.",
"label": "KlogHpWmiUnknownResponseReceived"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "hp_wmi:.*Unknown buffer length",
"advice": "The HP WMI driver has received a return buffer that was not the expected size of 8 or 16 bytes. This is probably a bug in the WMI mechanism on this machine.",
"label": "KlogHpWmiUnknownBufferLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "hp_wmi:.*Unknown key code - 0x",
"advice": "The HP WMI driver has received a key code that it does not recognise. The driver needs to be updated to handle this new key code.",
"label": "KlogHpWmiUnknownKeyCode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "hp_wmi:.*Unknown event_id",
"advice": "The HP WMI driver has received an event ID that it does not recognise. The driver needs to be updated to handle this new event ID.",
"label": "KlogHpWmiUnknownEventId"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "msi_wmi:.*Unknown key pressed",
"advice": "The MSI WMI driver has received a key code that it does not recognise. The driver needs to be updated to handle this new key code.",
"label": "KlogMsiWmiUnknownKeyPressed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*Handling Garbled _PRT entry",
"advice": "BIOS has a garbled _PRT entry; source_name and source_index swapped.",
"label": "KlogAcpiHandlingGarbledPrtEntry"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "Invalid _PCT data",
"advice": "The ACPI _PCT data is invalid.",
"label": "KlogInvalidPctData"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*ACPI path has too many parent prefixes",
"advice": "A path to an ACPI object has too many ^ parent prefixes and references passed the top of the root node. Please check AML for all ^ prefixed ACPI path names.",
"label": "KlogAcpiPathTooManyParentPrefixes"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "A valid RSDP was not found",
"advice": "An ACPI compatible system must provide an RSDP (Root System Description Pointer). This structure provides the physical address of the RSDT and XSDT. Since this could not be found, the ACPI driver has had to disable ACPI support.",
"label": "KlogAcpiValidRsdpNotFound"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Cannot release Mutex",
"advice": "Attempted to release of a Mutex that was not previous acquired. This needs fixing as it could lead to race conditions when operating on a resource that needs to be proteced by a Mutex.",
"label": "KlogAcpiCannotReleaseMutex"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Could not disable .* event",
"advice": "",
"label": "KlogAcpiCouldNotDisableEvent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Could not enable .* event",
"advice": "",
"label": "KlogAcpiCouldNotEnableEvent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Namespace lookup failure, AE_ALREADY_EXISTS",
"advice": "",
"label": "KlogAcpiNamespaceLookupFailure"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*_SB_._OSC.*AE_AML_BUFFER_LIMIT",
"advice": "Section 6.2.10.2 of V4.0a of the ACPI specification states that the _OSC Method should be passed an 8 byte buffer of 2 x 32 DWORDs, however it appears that the method is possibly trying to access data outside this buffer. This is a bug in the _OSC method.",
"label": "KlogAcpiSbOscAeAmlBufferLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*pci.*ACPI _OSC request failed.*returned control mask",
"advice": "The _OSC method evaluation failed, which will result in disabling PCIe functionality, for example, the Linux kernel has to disable Active State Power Management (ASPM) which means that PCIe power management is not optimally configured.",
"label": "KlogPciAcpiOscRequestFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_OSC invalid UUID",
"advice": "The _OSC method indicates it has been passed an invalid UUID, see section 6.2.10 _OSC (Operating System Capabilities) of the ACPI specification for more details. Note that it has been observed on some systems that this error is returned because the _OSC has evaluated incorrectly and it returns with an incorrect error setting the OSC invalid UUID error bit.",
"label": "KlogOscInvalidUuid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_OSC invalid revision",
"advice": "The _OSC method indicates it has been passed an invalid revision number, see section 6.2.10 _OSC (Operating System Capabilities) of the ACPI specification for more details. Note that the revision level is specific to the given UUID.",
"label": "KlogOscInvalidRevision"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_OSC request failed",
"advice": "The _OSC method evaluation failed for some unknown reason. This could be that the data passed to it was incorrect or that the method itself is broken. See section 6.2.10 _OSC (Operating System Capabilities) of the ACPI specification for more details.",
"label": "KlogOscRequestFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_OSC request failed",
"advice": "The _OSC method evaluation failed for some unknown reason. This could be that the data passed to it was incorrect or that the method itself is broken. See section 6.2.10 _OSC (Operating System Capabilities) of the ACPI specification for more details.",
"label": "KlogOscRequestFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Field.*exceeds Buffer",
"advice": "The field exceeds the allocated buffer size. This can lead to unexpected results when fetching data outside this region.",
"label": "KlogAcpiFieldexceedsBuffer"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Illegal I\/O port address\/length above 64K",
"advice": "A port address or length has exceeded the maximum allowed 64K address limit. This will lead to unpredicable errors.",
"label": "KlogAcpiIllegalIOAbove64K"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Incorrect return type",
"advice": "An ACPI Method has returned an unexpected and incorrect return type.",
"label": "KlogAcpiIncorrectReturnType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Needed .*\\[Buffer\/String\/Package\\], found \\[Integer\\]",
"advice": "An ACPI Method has returned an Integer type when a Buffer, String or Package was expected.",
"label": "KlogAcpiNeededBufferOrStringOrPackage"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Needed .*\\[Reference\\], found \\[Device\\]",
"advice": "An ACPI Method has returned an Device type when a Reference type was expected.",
"label": "KlogAcpiNeededReference"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*No handler for Region.*SystemCMOS",
"advice": "An attempt to dispatch an address space or operation region access to CMOS memory has failed because the Linux kernel does not yet have a CMOS handler. This may have little or no detrimental effect, however it is worth examining the AML to see what kind of access is occurring to see if the firmware really requires CMOS access. For example, recent firmware may implement Peak Shift, which requires access CMOS memory and this can trigger this error.",
"label": "KlogAcpiNoHandlerForRegion"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No handler for Region",
"advice": "ACPI attempted to read or write to a region however the ACPI driver does not have a handler implemented for this particular region space. The read/write will fail and undefined behaviour will occur.",
"label": "KlogAcpiNoHandlerForRegion"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Region SystemCMOS.* has no handler",
"advice": "An attempt to read or write a single field to a CMOS Operation Region has failed because the Linux kernel does not yet have a CMOS handler. This may have little or no detrimental effect, however it is worth examining the AML to see what kind of access is occurring to see if the firmware really requires CMOS access. For example, recent firmware may implement Peak Shift, which requires access CMOS memory and this can trigger this error.",
"label": "KlogAcpiRegionHasNoHandler"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Region .* has no handler",
"advice": "",
"label": "KlogAcpiRegionHasNoHandler"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Missing expected return value",
"advice": "The ACPI Method did not return a value and was expected too. This is a bug and needs fixing.",
"label": "KlogAcpiMissingExpectedReturnValue"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Package List length.*larger than.*truncated",
"advice": "A Method has returned a Package List that was larger than expected.",
"label": "KlogAcpiPackageListLargerThanExpected"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Found unknown opcode",
"advice": "An illegal AML opcode has been found and is ignored. This indicates either badly compiled code or opcode corruption in the DSDT or SSDT tables or a bug in the ACPI execution engine. Recommend disassembing using iasl to find any offending code.",
"label": "KlogAcpiFoundUnknownOpcode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Warning.*Detected an unsupported executable opcode",
"advice": "An illegal AML opcode has been found and is ignored. This indicates either badly compiled code or opcode corruption in the DSDT or SSDT tables or a bug in the ACPI execution engine. Recommend disassembing using iasl to find any offending code.",
"label": "KlogAcpiDetectedUnsupportedOpCode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "bios32_service.*not present",
"advice": "The BIOS has found a BIOS32 Service Directory but the BIOS has returned error 0x80 on calling the service, which indicates that the requested service has not been implemented in the firmware.",
"label": "KlogBios32ServiceNotPresent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "bios32_service.*BIOS bug",
"advice": "The BIOS has found a BIOS32 Service Directory but the BIOS has returned an error on calling the service, which is unexpected and usually means the firmware is broken.",
"label": "KlogBios32ServiceBiosBug"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PCI: Error.*when fetching IRQ routing table",
"advice": "The BIOS has been interrogated for the PCI IRQ routing table but the BIOS returned an error.",
"label": "KlogPciFetchingIRQRoutingTable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.*Denied AML access to port",
"advice": "AML code was accessing an I/O port that was banned from accesses. Ports 0x20-0x21 (PIC0), 0xa0-0xa1 (PIC1), 0x4d0-0x4d1 (ELCR) are always banned. For _OSI() greater or equal to 'Windows 2001' (Windows XP) ports 0x00-0x0f (DMA), 0x40-0x43 (PIT1), 0x48-0x4b (PIT2), 0x70-0x71 (RTC), 0x81-0x83 (DMA1), 0x87 (DMA1L), 0x89-0x8b (DMA2), 0x8f (DMA2L), 0x90-0x91 (ARBC), 0x93-0x94 (SETUP), 0x96-0x97 (POS), 0xc0-0xdf (ISA DMA) and 0xcf8-0xcff (PCI config) are banned. Since the AML code has been banned from accessing these ports you will get undefined behaviour and the AML code should be fixed.",
"label": "KlogAcpiDeniedAmlAccessToPort"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method parse\/execution failed.*AE_AML_NO_RETURN_VALUE",
"advice": "The ACPI Method was expected to return a value and did not.",
"label": "KlogAcpiMethodNoReturnValue"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method parse/execution failed.*EC.*AE_TIME",
"advice": "The ACPI driver encountered an error executing some ACPI AML code which originated from the Embedded Controller (EC) timing out while waiting for a transaction to complete. This could indicate that either EC interrupts are being disabled or that the EC has temporarily gone offline or locked up, so this could be a kernel error or more probably a bug in the EC firmware. See the kernel driver drivers/acpi/ec.c. One can increase EC timeouts using the kernel parameter ec_delay to specify the timeout in milliseconds, the default is 500.",
"label": "KlogAcpiEcTimeout"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method parse/execution failed.*AE_TIME",
"advice": "The ACPI driver encountered an error executing some ACPI AML code which originated from a device timing out.",
"label": "KlogAcpiTimeout"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_ALREADY_EXISTS",
"advice": "",
"label": "KlogAcpiObjectAlreadyExists"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_INVALID_TABLE_LENGTH",
"advice": "The ACPI Method returned a table of the incorrect length. This can lead to unexpected results.",
"label": "KlogAcpiInvalidTableLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*_SRS.*AE_AML_BUFFER_LIMIT",
"advice": "Method failed: ResourceSourceIndex is present but ResourceSource is not. This is a common issue from a particular BIOS vendor, the _SRS (Set Resource Settings) optional control takes a byte stream argument that specifies a new resource allocation for a device. The resource descriptors in the byte stream argument must be specified exactly as listed by _CRS. However, in this case _SRS has been passed a byte stream that is too short and attempted to access bytes outside the buffer causing this error. This is a firmware bug that needs to be fixed.",
"label": "KlogAcpiBufferLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_AML_BUFFER_LIMIT",
"advice": "Generally this error occurs because of access outside of a buffer. This occurs for several reasons: a) A field does not fit within the current length of a buffer, b) an ACPI table load did not fit into a buffer, c) An attempt to convert a buffer into an integer failed because the buffer was zero sized, d) a SMBus/IPMI/GenericSerialBus write failed because the buffer was too small, e) An index into a buffer was too long and fell outside the buffer.",
"label": "KlogAcpiBufferLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*_PTS.*AE_NOT_EXIST",
"advice": "The kernel has attempted to execute the _PTS (Prepare to Suspend) control but it has not been implemented on this platform. Section 6.1 of the ACPI specification states: 'The _PTS control method provides the BIOS a mechanism for performing some housekeeping, such as writing the sleep type value to the embedded controller, before entering the system sleeping state'. Hence _PTS is provided for the firmware to do housekeeping and therefore does not appear to be mandatory. In this case, the platform seems to have omitted _PTS because it may not need it. Unfortunately the kernel complains about this not existing. This is most probably not an error.",
"label": "KlogAcpiObjectDoesNotExist"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_NOT_EXIST",
"advice": "The ACPI interpreter failed to execute or parse some AML because a object or control did not exist. This normally occurs because of buggy firmware and may lead to unexpected behaviour or loss of functionality.",
"label": "KlogAcpiObjectDoesNotExist"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_NOT_FOUND",
"advice": "",
"label": "KlogAcpiObjectNotFound"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_LIMIT",
"advice": "",
"label": "KlogAcpiExecLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_AML_OPERAND_TYPE",
"advice": "",
"label": "KlogAcpiOperandType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_TIME",
"advice": "",
"label": "KlogAcpiTimeOut"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_AML_PACKAGE_LIMIT",
"advice": "",
"label": "KlogAcpiPackageLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_OWNER_ID_LIMIT",
"advice": "Method failed to allocate owner ID.",
"label": "KlogAcpiOwnerIdLimit"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Method (execution|parse\/execution) failed.*AE_AML_MUTEX_NOT_ACQUIRED",
"advice": "A Mutex acquire failed, which could possibly indicate that it was previously acquired and not released, or a race has occurred. Some AML code fails to miss Mutex acquire failures, so it is a good idea to verify all Mutex Acquires using the syntaxcheck test.",
"label": "KlogAcpiMutexNotAcquired"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method parse/execution failed",
"advice": "The ACPI driver encountered a parse or execution error on some ACPI AML code. This is unexpected and normally indicates that there is a bug in the compiled AML code. It could be a programming fault or an AML compiler issue. See acpi_ps_parse_aml().",
"label": "KlogAcpiParseExecAmlFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*SMBus or IPMI write requires Buffer of",
"advice": "An incorrect SMBus or IPMI write buffer size was used.",
"label": "KlogAcpiIncorrectWriteBufferSize"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI (Warning|Error).*Evaluating .* failed",
"advice": "Executing the ACPI Method ended in an execution failure. This needs investigating.",
"label": "KlogAcpiEvaluationFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Optional field.*has zero address or length",
"advice": "An ACPI table contains Generic Address Structure that has an address that is incorrectly set to zero, or a zero length. This needs to be fixed. ",
"label": "KlogAcpiOptionalFieldZeroAddressOrLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI (Warning|Error).*two DSDT tables",
"advice": "The FADT table contains a mismatch between the 32 bit pointer (DSDT) and 64 bit pointer (X_DSDT) pointer to the FACS table. Section 5.2.9 of version 4.0a of the ACPI specification states that X_DSDT should be zero if DSDT is defined, or DSDT should be zero if X_DSDT is zero. With two different pointers defined, the kernel has to make a choice, and opts for the 32 bit pointer. Because these pointers are different, it suggests either one of them is incorrect, or different 32 bit and 64 bit DSDT tables are present in your system, which is NOT complaint with the ACPI specification. The kernel has to make a choice and opts for the 32 bit DSDT.",
"label": "KlogAcpiTwoDsdt"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI (Warning|Error).*two FACS tables",
"advice": "The FADT table contains a mismatch between the 32 bit pointer (FIRMWARE_CTRL) and 64 bit pointer (X_FIRMWARE_CTRL) pointer to the FACS table. Section 5.2.9 of version 4.0a of the ACPI specification states that X_FIRMWARE_CTRL should be zero if FIRMWARE_CTRL is defined, or FIRMWARE_CTRL should be zero if X_FIRMWARE_CTRL is zero. With two different pointers defined, the kernel has to make a choice, and opts for the 32 bit pointer. Because these pointers are different, it suggests either one of them is incorrect, or different 32 bit and 64 bit FACS tables are present in your system, which is NOT complaint with the ACPI specification. The kernel has to make a choice and opts for the 32 bit FIRMWARE_CTRL.",
"label": "KlogAcpiTwoFacs"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "32/64X address mismatch in.*, using 32",
"advice": "The FADT table contains a mismatch between a 32 bit pointer and a 64 bit Generic Address pointer. Because these pointers are different, it suggests either one of them is incorrect. If a non-null 32 bit pointer exists, then the kernel will opt for this in preference to the 64 bit pointer even though this is not in accordance to the ACPI specification.",
"label": "KlogAcpi32Bit64BitAddressMismatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI (Warning|Error).*32\/64.*(length|address) mismatch in.*tbfadt",
"advice": "The FADT table contains Generic Address Structure that has a mismatch between the 32 bit and 64 bit versions of an address. This should be fixed so there are no mismatches. ",
"label": "KlogAcpi32Bit64BitAddressMismatchInFadt"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI (Warning|Error).*32\/64.*(length|address) mismatch in",
"advice": "A table contains Generic Address Structure that has a mismatch between the 32 bit and 64 bit versions of an address. This should be fixed so there are no mismatches. ",
"label": "KlogAcpi32Bit64BitAddressMismatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Return Package type mismatch",
"advice": "ACPI AML interpreter executed a Method that returned a package with incorrectly typed data. The offending method needs to be fixed.",
"label": "KlogAcpiReturnPackageTypeMismatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Return Package has no elements",
"advice": "ACPI AML interpreter executed a Method that returned a package with no elements inside it. This is most probably a bug in the Method and needs to be fixed.",
"label": "KlogAcpiReturnPackageZeroElements"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Return Package is too small",
"advice": "ACPI AML interpreter executed a Method that returned a package with too few elements inside it. This is most probably a bug in the Method and needs to be fixed.",
"label": "KlogAcpiReturnPackageTooSmall"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "ACPI Warning.*Incorrect checksum in table",
"advice": "The ACPI table listed above has an incorrect checksum, this could be a BIOS bug or due to table corruption.",
"label": "KlogAcpiIncorrectTableChecksum"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*_BQC returned an invalid level",
"advice": "Method _BQC (Brightness Query Current) returned an invalid display brightness level.",
"label": "KlogAcpiBqcReturnedInvalidLevel"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Could not enable fixed event",
"advice": "",
"label": "KlogAcpiCannotEnableFixedEvent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Return type mismatch",
"advice": "The ACPI Method returned an incorrect type, this should be fixed.",
"label": "KlogAcpiReturnTypeMismatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Parameter count mismatch",
"advice": "The ACPI Method was executing with a different number of parameters than the Method expected. This should be fixed.",
"label": "KlogAcpiParameterCountMistmatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Insufficient arguments",
"advice": "The ACPI Method has not enough arguments as expected. This should be fixed.",
"label": "KlogAcpiInsufficientArguments"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Package has no elements",
"advice": "The ACPI Method returned a package with no elements in it, and some were expected. This should be fixed.",
"label": "KlogAcpiPackageHasNoElements"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Converted Buffer to expected String",
"advice": "Method returned a Buffer type instead of a String type and ACPI driver automatically converted it to a String. It is worth fixing this in the DSDT or SSDT even if the kernel fixes it at run time.",
"label": "KlogAcpiConvertedBufferToString"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Return Package type mismatch at index",
"advice": "The ACPI Method returned a package that contained data of the incorrect data type. This data type needs fixing.",
"label": "KlogAcpiReturnPackageTypeMismatch"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Invalid length for.*fadt",
"advice": "This item in the FADT is the incorrect length. Should be corrected.",
"label": "KlogAcpiFadtInvalidLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "ACPI Warning.*FADT .*revision 5.* is longer than ACPI 2.*0 version",
"advice": "The kernel has not supported ACPI version 5.0, it truncated the FADT back to ACPI2.0 size and ignored the extra ACPI5.0 settings.",
"label": "KlogAcpiFadtTruncatedLength"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning.*Invalid throttling state",
"advice": "",
"label": "KlogAcpiInvalidThrottlingState"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": "ACPI Warning: SystemMemory range 0x.*-0x.* conflicts with",
"advice": "A resource conflict between an ACPI OperationRegion and a native driver has been detected. By default the kernel will use a strict policy and will not allow this region to conflict and -EBUSY will be returned to the caller that was trying to allocate the already claimed region. If an ACPI driver is available for this device then this should be used instead of a native driver, so disabling the native driver may help. One can specify kernel boot parameter acpi_enforce_resources=lax to disable these checks but it may lead to random problems and system instability. Alternatively, one can specify acpi_enforce_resources=no and ACPI Operation Region resources will not be registered.",
"label": "KlogAcpiSystemMemoryConflict"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Warning",
"advice": "ACPI AML interpreter has found some non-conforming AML code. This should be investigated and fixed.",
"label": "KlogAcpiBadAmlCode"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI.*BIOS bug: multiple APIC\/MADT found, using",
"advice": "The kernel has detected more than one ACPI Multiple APIC Description Table (MADT) (these tables have the \"APIC\" signature). There should only be one MADT and the kernel will by default select the first one. However, one can override this and select the Nth MADT using acpi_apic_instance=N.",
"label": "KlogAcpiMultipleApicMadtFound"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: ACPI.*Invalid physical address in GAR",
"advice": "ACPI Generic Address is invalid",
"label": "KlogAcpiInvalidPhysicalAddress"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: powernow-k8.*(No PSB or ACPI _PSS objects|No compatible ACPI _PSS|Your BIOS does not provide ACPI _PSS objects)",
"advice": "The _PSS object (Performance Supported States) is an optional object that indicates the number of supported processor performance states. The powernow-k8 driver source states: If you see this message, complain to BIOS manufacturer. If he tells you \"we do not support Linux\" or some similar nonsense, remember that Windows 2000 uses the same legacy mechanism that the old Linux PSB driver uses. Tell them it is broken with Windows 2000. The reference to the AMD documentation is chapter 9 in the BIOS and Kernel Developer's Guide, which is available on www.amd.com.",
"label": "KlogAcpiAmdK8ExpectedPssObjects"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: powernow-k8.*Try again with latest",
"advice": "",
"label": "KlogAcpiTryNewAmdFirmware"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: ACPI.*Invalid bit width in GAR",
"advice": "ACPI Generic Address width must be 8, 16, 32 or 64",
"label": "KlogAcpiGarInvalidBitWidth"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: ACPI.*Invalid address space type in GAR",
"advice": "ACPI Generic Address space type must be system memory or system IO space.",
"label": "KlogAcpiGarInvalidAddressType"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: ACPI.*no secondary bus range in _CRS",
"advice": "_CRS Method should return a secondary bus address for the status\/command port. The kernel is having to guess this based on the _BBN or assume it's 0x00-0xff.",
"label": "KlogAcpiCrsSecondaryBusRangeMissing"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: ACPI.*Invalid BIOS _PSS frequency",
"advice": "_PSS (Performance Supported States) package has an incorrectly define core frequency (first DWORD entry in the _PSS package).",
"label": "KlogAcpiInvalidPssFrequency"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_LOW",
"pattern": "No _BQC method",
"advice": "_BQC (Brightness Query Current level) seems to be missing. This method returns the current brightness level of a built-in display output device.",
"label": "KlogAcpiMissingBqc"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "\\[Firmware Bug\\]: ACPI.*brightness control misses _BQC function",
"advice": "_BQC (Brightness Query Current level) seems to be missing. This method returns the current brightness level of a built-in display output device.",
"label": "KlogAcpiMissingBqc"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "BIOS needs update for CPU frequency support",
"advice": "Having _PPC but missing frequencies (_PSS, _PCT) is a good hint that the BIOS is older than the CPU and does not know the CPU frequencies.",
"label": "KlogAcpiMissingPssPct"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "\\[Firmware Bug\\]: ERST.*ERST table is invalid",
"advice": "The Error Record Serialization Table (ERST) seems to be invalid. This normally indicates that the ERST table header size is too small, or the table size (excluding header) is not a multiple of the ERST entries.",
"label": "KlogAcpiErstInvalid"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Invalid critical threshold",
"advice": "ACPI _CRT (Critical Trip Point) is returning a threshold lower than zero degrees Celsius which is clearly incorrect.",
"label": "KlogAcpiCrtInvalidThreshold"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "No valid trip found",
"advice": "No valid ACPI _CRT (Critical Trip Point) was found.",
"label": "KlogAcpiNoValidCrt"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "_BCQ is used instead of _BQC",
"advice": "ACPI Method _BCQ was defined (typo) instead of _BQC - this should be fixed.however the kernel has detected this and is working around this typo.",
"label": "KlogAcpiBcqInsteadOfBqc"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "MPTABLE: bad signature",
"advice": "The MultiProcessor table has an incorrect signature, it should be PCMP. The kernel cannot trust the table and has disabled SMP support.",
"label": "KlogBiosMptableBadSignature"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "MPTABLE: checksum error",
"advice": "The MultiProcessor table has an incorrect checksum. The kernel cannot trust the table and has disabled SMP support.",
"label": "KlogBiosMptableChecksumError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "MPTABLE: bad table version",
"advice": "The MultiProcessor table has an incorrect version. It should be 0x01 or 0x04 (for versions 1.1 and 1.4 respectively). The kernel cannot trust the table and has disabled SMP support.",
"label": "KlogBiosMptableBadVersion"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "MPTABLE: null local APIC address",
"advice": "The MultiProcessor table contains a NULL Local APIC address but the Local APIC address must be defined. The kernel has disabled SMP support.",
"label": "KlogBiosMptableNullLapicAddress"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "MPTABLE: no processors registered",
"advice": "The MultiProcessor table contains no Processor Entry Fields, and hence there are no CPUs defined. The kernel has no option but to disable SMP support.",
"label": "KlogBiosMptableNoProcessors"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "BIOS bug.*no explicit IRQ entries.*using default mptable",
"advice": "The MultiProcessor table contains no IRQ Entry Fields, and hence there are no IRQs defined. The table is broken and should be fixed. The kernel will set up the low 16 IO-APIC pins to the ISA defaults in the hope the machine may work.",
"label": "KlogBiosMptableNoIRQentries"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "BIOS bug.*timer not connected to IO-APIC",
"advice": "The BIOS is reporting the ExtINTA I/O APIC input from the cascaded 8259A as the timer interrupt input. The kernel has detected just one pin, so it has to check the timer directly and through the 8259A because of the broken BIOS reporting.",
"label": "KlogBiosTimerNotConnectedtoIoApic"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "BIOS bug,.*IO-APIC.*ID is.*in the MPC table.*",
"advice": "The IO-APIC id in the MPC table is wrong and the kernel has detected this and attempted to fix it. The MPC table in the firmware needs to be fixed.",
"label": "KlogBiosIoApicInMpcTable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "BIOS bug,.*IO-APIC.*ID is already used!",
"advice": "The IO-APIC id has been defined more than once in the MPC table, which is a firmware bug and should be fixed. The kernel has detected this and skopped this duplication to avoid stuck on smp_invalidate_needed IPI wait' messages.",
"label": "KlogBiosIoApicIdAlreadyUsed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "WARNING.*BIOS bug.*CPU MTRRs don't cover all of memory, losing",
"advice": "The Memory Type Range Registers (MTRRs) which define memory caching policy are misconfigued by the BIOS and don't appear to cover all available physical memory. The kernel has detected this and has reduced the amount of memory available to be safe. Either check that the BIOS memory caching options are set correctly or contact your BIOS vendor to get this fixed.",
"label": "KlogBiosCpuMtrrMisconfigured"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "mtrr:.*no more MTRRs available",
"advice": "A device driver has tried to allocate a Memory Type Range Register (MTRR) to optimially configure a caching policy on a memory region but there are no more free MTRRs available. Generally the firmware should allow for one or two free MTRRs for drivers to allocate. The system will have a sub-optimally configured memory region and this may severely impact on performance.",
"label": "KlogBiosNoMoreMtrrsAvailable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "[drm].*MTRR allocation failed.*Graphics performance may suffer",
"advice": "The DRM driver has tried to allocate a Memory Type Range Register (MTRR) but there are no more free MTRRs available. The system will have a sub-optimally configured graphics memory region and this may severely impact on graphics rendering throughput and performance. The firmware should allow for one or two free MTRRs, but it hasn't, which is probably a firmware bug.",
"label": "KlogBiosMtrrAllocationFailed"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "mtrr:.*your BIOS has configured an incorrect mask, fixing it",
"advice": "The Memory Type Range Registers (MTRRs) which define memory caching policy are misconfigued by the BIOS. In this case, the mask is incorrectly set and the kernel has detected this and worked around the firmware bug.",
"label": "KlogBiosMtrrIncorrectMask"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "mtrr:.*your CPUs had inconsistent fixed MTRR settings",
"advice": "The fixed Memory Type Range Registers (MTRRs) which define memory caching policy are not consistent across all CPUs which is a firmware bug. The kernel has worked around this bug, but it may be worth getting the BIOS vendor to fix this.",
"label": "KlogBiosMtrrsInconsistentAcrossCPUs"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "mtrr:.*your CPUs had inconsistent variable MTRR settings",
"advice": "The variable Memory Type Range Registers (MTRRs) which define memory caching policy are not consistent across all CPUs which is a firmware bug. The kernel has worked around this bug, but it may be worth getting the BIOS vendor to fix this.",
"label": "KlogBiosMtrrsInconsistentAcrossCPUs"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "mtrr:.*your CPUs had inconsistent MTRRdefType settings",
"advice": "The Memory Type Range Registers (MTRRs) which define memory caching policy do not have a MTRRdefType consistently set across all CPUs which is a firmware bug. The kernel has worked around this bug, but it may be worth getting the BIOS vendor to fix this.",
"label": "KlogBiosMtrrDefTypeIncosistent"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "mtrr:.*base.*is not 4 MiB aligned",
"advice": "The Memory Type Range Registers (MTRRs) for Intel PPro CPUs with stepping < 8 must be 4 MiB aligned and not touch 0x70000000 -> 0x7003FFFF. This BIOS misconfiguration and should be fixed.",
"label": "KlogBiosMtrrNot4MbAligned"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITIICAL",
"pattern": "mtrr:.*writable mtrr between 0x70000000 and 0x7003FFFF may hang the CPU",
"advice": "The Memory Type Range Registers (MTRRs) for Intel PPro CPUs with stepping < 8 must not touch region 0x70000000 -> 0x7003FFFF. This BIOS misconfiguration may hang the CPU and should be fixed.",
"label": "KlogBiosMtrrMayHangCPU"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "mtrr:.*base.*is not aligned on a size.*boundary",
"advice": "The Memory Type Range Registers (MTRRs) must be correctly aligned. This BIOS misconfiguration and should be fixed.",
"label": "KlogBiosMtrrNotAlignedCorrectly"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_LOW",
"pattern": ".*defines _DOD but not _DOS",
"advice": "ACPI Method _DOD (Enumerate all devices attached to display adapter) is defined but we should also have _DOS (Enable\/Disable output switching) defined but it's been omitted.",
"label": "KlogAcpiDodWithNoDos"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "WARNING:.*bogus zero IO-APIC address found in MPTABLE",
"advice": "An IO-APIC address of zero has been found in the MPTABLE and is thus treated as misconfigured or bogus. I/O APIC support has been disabled. This is considered a firmware bug and the MPTABLE needs to be fixed.",
"label": "KlogAcpiBogusIoApicInMptable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "WARNING:.*Bogus.*APIC address found in table",
"advice": "An IO-APIC address of zero has been found in the MPTABLE and is thus treated as misconfigured or bogus. I/O APIC support has been disabled. This is considered a firmware bug and the MPTABLE needs to be fixed.",
"label": "KlogAcpiBogusIoApicInMptable"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]:.*Duplicate ACPI video bus",
"advice": "Try video module parameter video.allow_duplicates=1 if the current driver doesn't work.",
"label": "KlogAcpiDuplicateAcpiVideoBus"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]:.*PCI.*MMCONFIG.*not reserved in ACPI motherboard resources",
"advice": "It appears that PCI config space has been configured for a specific device but does not appear to be reserved by the ACPI motherboard resources.",
"label": "KlogAcpiMmconfigNotReserved"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "\\[Firmware Bug\\]: PCI.*not reserved in ACPI motherboard resources",
"advice": "PCI firmware bug. Please see the kernel log for more details.",
"label": "KlogPciNotReserved"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_INFO",
"pattern": "\\[Firmware Bug\\]:.*_OSI.*Linux.*ignored",
"advice": "This is not exactly a failure mode but a warning from the kernel. The _OSI() method has implemented a match to the 'Linux' query in the DSDT and this is redundant because the ACPI driver matches onto the Windows _OSI strings by default.",
"label": "KlogAcpiOsiLinuxIgnored"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "\\[Firmware Bug\\]: ACPI:",
"advice": "ACPI driver has detected an ACPI bug. This generally points to a bug in an ACPI table. Examine the kernel log for more details.",
"label": "KlogAcpiFirmwareError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "cpu .* try to use APIC.* for vector .*, but the register is already in use for vector .* on another cpu",
"advice": "The local vector table (LVT) offsets that provided by firmware have conflicts, the assignment to the same offset causes the second APIC setup failed.",
"label": "KlogLVTOffsetAssignConflict"
}, {
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "cpu .* try to use APIC.* for vector .*, but the register is already in use for vector .* on this cpu" ,
"advice": "The local vector table (LVT) offsets that provided by firmware have conflicts, the assignment to the same offset causes the second APIC setup failed.",
"label": "KlogLVTOffsetAssignConflict"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "\\[Firmware Bug\\]:.*",
"advice": "The kernel has detected a Firmware bug in the BIOS or ACPI which needs investigating and fixing.",
"label": "KlogAcpiFirmwareError"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PCI.*BIOS Bug:",
"advice": "",
"label": "KlogBiosBug"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error.*Namespace lookup failure, AE_NOT_FOUND",
"advice": "The kernel has detected an error trying to execute a method and it cannot find an object. This indicates a bug in the DSDT or SSDT AML code.",
"label": "KlogAcpiNamespaceLookupFailure"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Could not resolve symbol.*, AE_NOT_FOUND",
"advice": "While evaluating one object, ACPI could not find another object that was being referenced. This indicates a bug in the DSDT or the SSDTs.",
"label": "KlogAcpiNamespaceLookupFailure"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ACPI Error.+psparse",
"advice": "The ACPI engine has failed to execute some AML. The error message above lists the method that caused this error.",
"label": "KlogAcpiParseOrExecFailure"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "ACPI Error",
"advice": "The kernel has most probably detected an error while executing ACPI AML. The error lists the ACPI driver module and the line number where the bug has been caught and the method that caused the error.",
"label": "KlogAcpiExecFailure"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "No object was returned from",
"advice": "The ACPI interpreter was requested to evaluate an ACPI namespace object and was expecting an ACPI object to be returned, but nothing was returned. This appears to be an ACPI AML bug.",
"label": "KlogAcpiEvalObjNoObjReturned"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Method execution failed",
"advice": "Execution of an ACPI AML method failed. This is normally a bug in the ACPI AML code",
"label": "KlogAcpiExecFailure"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "\\*\\*\\* Error.*Method execution failed.*AE_AML_METHOD_LIMIT",
"advice": "ACPI method reached maximum reentrancy limit of 255 - infinite recursion in AML in DSTD or SSDT",
"label": "KlogAcpiRecursionTooDeep"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "\\*\\*\\* Error.*Method reached maximum reentrancy limit",
"advice": "ACPI method has reached reentrancy limit, this is a recursion bug in the AML.",
"label": "KlogAcpiRecursionTooDeep"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "Return object type is incorrect",
"advice": "Return object type is not the correct type, this is an AML error in the DSDT or SSDT. See also acpi_ut_evaluate_object().",
"label": "KlogAcpiReturnObjectTypeIncorrect"
}
],
"pm_error_warning_patterns":
[
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Failed to prepare device",
"advice": "dpm_prepare() failed to prepare all non-sys devices for a system PM transition. The device should be listed in the error message.",
"label": "PmFailedToPrepareDevice"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Some devices failed to power down",
"advice": "dpm_suspend_noirq failed because some devices did not power down ",
"label": "PmDevicesFailedToPowerDown"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Some system devices failed to power down",
"advice": "sysdev_suspend failed because some system devices did not power down.",
"label": "PmSystemDevicesFailedToPowerDown"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Error",
"advice": "",
"label": "PmError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Some devices failed to power down",
"advice": "",
"label": "PmDevicesFailedToPowerDown"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Restore failed, recovering",
"advice": "A resume from hibernate failed when calling hibernation_restore()",
"label": "PmResumeFromHibernateFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Resume from disk failed",
"advice": "",
"label": "PmResumeFromDiskFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Not enough free memory",
"advice": "There was not enough physical memory to be able to generate a hibernation image before dumping it to disc.",
"label": "PmNotEnoughFreeMemory"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Memory allocation failed",
"advice": "swusp_alloc() failed trying to allocate highmem and failing that non-highmem pages for the suspend image. There is probably just not enough free physical memory available.",
"label": "PmMemoryAllocationFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Image mismatch",
"advice": "Mismatch in kernel version, system type, kernel release version or machine id between suspended kernel and resumed kernel.",
"label": "PmKernelMismatch"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Some devices failed to power down",
"advice": "",
"label": "PmDevicesFailedToPowerDown"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Some devices failed to suspend",
"advice": "",
"label": "PmDevicesFailedToSuspend"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PM: can't read",
"advice": "Testing suspend cannot read RTC",
"label": "PmCannotReadRealTimeClock"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PM: can't set",
"advice": "Testing suspend cannot set RTC",
"label": "PmCannotSetRealTimeClock"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: suspend test failed, error",
"advice": "",
"label": "PmSuspendTestFailed"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: can't test ",
"advice": "",
"label": "PmCannotTest"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PM: no wakealarm-capable RTC driver is ready",
"advice": "",
"label": "PmNoWakeAlarmRealTimeClock"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Adding page to bio failed at",
"advice": "An attempt to write the hibernate image to disk failed because a write BIO operation failed. This is usually a result of some physical hardware problem.",
"label": "PmPhysicalDiskWriteError"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Swap header not found",
"advice": "An attempt to write a hibernate image to disk failed because a valid swap device header could not be found. Make sure there is a formatted swap device on the machine and it is added using swapon -a.",
"label": "PmSwapHeaderNotFound"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Cannot find swap device",
"advice": "An attempt to write a hibernate image to disk failed because the swap device could not be found. Make sure there is a formatted swap device on the machine and it is added using swapon -a.",
"label": "PmCannotFindSwapDevice"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PM: Not enough free swap",
"advice": "Hibernate failed because the swap partition was probably too small.",
"label": "PmNotEnoughFreeSwap"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Image device not init",
"advice": "",
"label": "PmImageDeviceNotInitialised"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "PM: Please power down manually",
"advice": "",
"label": "PMPowerDownManually"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "check_for_bios_corruption",
"advice": "The BIOS seems to be corrupting the first 64K of memory when doing suspend\/resume. Setting bios_corruption_check=0 will disable this check.",
"label": "PmBiosCorruptFirst64K"
},
{
"compare_mode": "regex",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "WARNING: at.*hpet_next_event",
"advice": "Possibly an Intel I\/O controller hub HPET Write Timing issue: A read transaction that immediately follows a write transaction to the HPET TIMn_COMP Timer 0 (108h), HPET MAIN_CNT (0F0h), or TIMn_CONF.bit 6 (100h) may return an incorrect value. This is known to cause issues when coming out of S3.",
"label": "PmHpetWriteTimingIssue"
},
{
"compare_mode": "string",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "BUG: soft lockup.*stuck for 0s",
"advice": "Softlock errors that occur when coming out of S3 may be tripped by TSC warping. It may be worth trying the notsc kernel parameter and repeating S3 tests to see if this solves the problem.",
"label": "PmProcessSoftLockup"
}
]
}
data/olog.json 0000664 0000000 0000000 00000112202 14553406764 0013636 0 ustar 00root root 0000000 0000000 {
"olog_error_warning_patterns": [
{
"advice": "Compatible secureboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
"compare_mode": "regex",
"label": "SecureBootNotCompatible",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* FAILED, /ibm,secureboot not compatible."
},
{
"advice": "Hash algorithm invalid, secureboot containers version 1 requires sha512. If you're running the latest POWER firmware, so probably there is a bug in the device tree received from hostboot.",
"compare_mode": "regex",
"label": "HashAlgoInvalid",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_LOW",
"pattern": "secureboot init FAILED, hash-algo=.* not supported"
},
{
"advice": "Compatible CVC driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
"compare_mode": "regex",
"label": "CVCNotCompatible",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* FAILED, /ibm,secureboot not compatible."
},
{
"advice": "STB_DEBUG should not be enabled in production. PCR read operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
"compare_mode": "regex",
"label": "STBPCRReadFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
},
{
"advice": "TPM node already registered. The same node is being registered twice or there is a tpm node duplicate in the device tree",
"compare_mode": "regex",
"label": "TPMAlreadyRegistered",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "tpm[0-9]+ already registered"
},
{
"advice": "linux,sml-base property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
"compare_mode": "regex",
"label": "TPMSmlBaseNotFound",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
},
{
"advice": "linux,sml-size property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
"compare_mode": "regex",
"label": "TPMSmlSizeNotFound",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
},
{
"advice": "Hostboot creates and adds entries to the event log. The failed init function is part of hostboot, but the source code is shared with skiboot. If the hostboot TpmLogMgr code (or friends) has been updated, the changes need to be applied to skiboot as well.",
"compare_mode": "regex",
"label": "TPMInitEventLogFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "eventlog init failed: tpm[0-9]+ rc=[0-9]+"
},
{
"advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
"compare_mode": "regex",
"label": "STBAddEventFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* -> evLog[0-9]+ FAILED: pcr[0-9]+ evType=0x[0-9a-f]+ rc=[0-9]+"
},
{
"advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
"compare_mode": "regex",
"label": "STBPCRExtendFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
},
{
"advice": "Compatible trustedboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
"compare_mode": "regex",
"label": "TrustedBootNotCompatible",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "trustedboot init FAILED, '.*' node not compatible."
},
{
"advice": "This is a bug in the trustedboot_measure() caller, which is passing an unknown resource_id.",
"compare_mode": "regex",
"label": "ResourceNotMeasuredUnknown",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "resource NOT MEASURED, resource_id=[0-9]+ unknown"
},
{
"advice": "This is a bug. The resource cannot be measured because it is not mapped to a PCR in the resources[] array.",
"compare_mode": "regex",
"label": "ResourceNotMappedToPCR",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* NOT MEASURED, it's not mapped to a PCR"
},
{
"advice": "This is a bug. The trustedboot_measure() caller provided a NULL container.",
"compare_mode": "regex",
"label": "ResourceNotMeasuredNull",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".* NOT MEASURED, it's null"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReadCmdReady",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to read sts.commandReady, rc=[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMWriteCmdReady",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to write sts.commandReady, rc=[0-9]+"
},
{
"advice": "The command ready bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
"compare_mode": "regex",
"label": "TPMCmdReadyTimeout",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: timeout on sts.commandReady, delay > [0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReadFifoStatus",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to read fifo status: mask [0-9a-f]+, expected [0-9a-f]+, rc=[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReadDataAvail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to read sts.dataAvail, rc=[0-9]+"
},
{
"advice": "The data avail bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
"compare_mode": "regex",
"label": "TPMDataAvailBitTimeout",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: timeout on sts.dataAvail, delay=[0-9]+/[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReadBurstCount",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to read sts.burstCount, rc=[0-9]+"
},
{
"advice": "The burstcount bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
"compare_mode": "regex",
"label": "TPMBurstCountTimeout",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: timeout on sts.burstCount, delay=[0-9]+/[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMWriteFifo",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to write fifo, count=[0-9]+, rc=[0-9]+"
},
{
"advice": "The write to the TPM FIFO overflowed, the TPM is not expecting more data. This indicates a bug in the TPM device driver.",
"compare_mode": "string",
"label": "TPMWriteFifoNotExpecting",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: write FIFO overflow, not expecting more data"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMWriteFifoLastByte",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to write fifo (last byte), count=[0-9]+, rc=[0-9]+"
},
{
"advice": "The write to the TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
"compare_mode": "string",
"label": "TPMWriteFifoExpecting",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "TPM: write FIFO overflow, expecting more data"
},
{
"advice": "The read from TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
"compare_mode": "regex",
"label": "TPMReadFifoOverflow",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: overflow on fifo read, c=[0-9]+, bc=[0-9]+, bl=[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReadFifo",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to read fifo, count=[0-9]+, rc=[0-9]+"
},
{
"advice": "TPM device is not initialized. This indicates a bug in the tpm_transmit() caller",
"compare_mode": "string",
"label": "TPMDeviceNotInitialized",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "TPM: tpm device not initialized"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMWriteGo",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to write sts.go, rc=[0-9]+"
},
{
"advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
"compare_mode": "regex",
"label": "TPMReleaseTpm",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NUVOTON: fail to release tpm, rc=[0-9]+"
},
{
"advice": "OPAL could not find an NVRAM partition on the system flash. Check that the system flash has a valid partition table, and that the firmware build process has added a NVRAM partition.",
"compare_mode": "string",
"label": "NVRAMNoPartition",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "FLASH: Can't parse ffs info for NVRAM"
},
{
"advice": "OPAL Found multiple system flash. Since we've already found a system flash we are going to use that one but this ordering is not guaranteed so may change in future.",
"compare_mode": "regex",
"label": "SystemFlashMultiple",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "FLASH: Attempted to register multiple system flash: .*"
},
{
"advice": "System flash isn't formatted as expected. This could mean several OPAL utilities do not function as expected. e.g. gard, pflash.",
"compare_mode": "string",
"label": "NoFFS",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "FLASH: No ffs info; using raw device only"
},
{
"advice": "No system flash was found. Check for missing calls flash_register(...).",
"compare_mode": "regex",
"label": "SystemFlashNotFound",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_HIGH",
"pattern": "FLASH: Can't load resource id:[0-9]+. No system flash found"
},
{
"advice": "OPAL hit an assert(). During normal usage (even testing) we should never hit an assert. There are other code paths for controlled shutdown/panic in the event of catastrophic errors.",
"compare_mode": "regex",
"label": "FailedAssert",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Assert fail: .*"
},
{
"advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
"compare_mode": "string",
"label": "I2CInvalidBusID",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
},
{
"advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
"compare_mode": "string",
"label": "I2CFailedAllocation",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "I2C: Failed to allocate 'i2c_request'"
},
{
"advice": "i2c_request_send was passed an invalid bus ID. This indicates a bug.",
"compare_mode": "regex",
"label": "I2CInvalidBusID",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "I2C: Invalid bus_id=[0-9a-f]+"
},
{
"advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
"compare_mode": "string",
"label": "I2CAllocationFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "I2C: allocating i2c_request failed"
},
{
"advice": "OPAL will parse the Flattened Device Tree(FDT), which can be generated from different firmware sources. During expansion of FDT, OPAL observed a node assigned multiple times (a duplicate). This indicates either a Hostboot bug *OR*, more likely, a bug in the platform XML. Check the platform XML for duplicate IDs for this type of device. Because of this duplicate node, OPAL won't add the hardware device found with a duplicate node ID into DT, rendering the corresponding device not functional.",
"compare_mode": "regex",
"label": "DTHasDuplicateNodeID",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "DT: Found duplicate node: .*"
},
{
"advice": "HBRT triggered assert: you need to debug HBRT",
"compare_mode": "string",
"label": "HBRTassert",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "HBRT: Assertion from hostservices"
},
{
"advice": "Firmware should have aborted boot",
"compare_mode": "string",
"label": "HBRTlidLoadFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "HBRT: LID Load failed"
},
{
"advice": "OPAL was called with a bad token. On POWER8 and earlier, Linux kernels had a bug where they wouldn't check if firmware supported particular OPAL calls before making them. It is, in fact, harmless for these cases. On systems newer than POWER8, this should never happen and indicates a kernel bug where OPAL_CHECK_TOKEN isn't being called where it should be.",
"compare_mode": "regex",
"label": "OPALBadToken",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OPAL: Called with bad token [0-9]+ !"
},
{
"advice": "Currently removing a poller is DANGEROUS and MUST NOT be done in production firmware.",
"compare_mode": "string",
"label": "UnsupportedOPALdelpoller",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "WARNING: Unsupported opal_del_poller. Interesting locking issues, don't call this."
},
{
"advice": "opal_run_pollers() was called with a lock held, which could lead to deadlock if not excessively lucky/careful.",
"compare_mode": "string",
"label": "OPALPollerWithLock",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Running pollers with lock held !"
},
{
"advice": "Your firmware is buggy, see the 64 messages complaining about opal_run_pollers with lock held.",
"compare_mode": "string",
"label": "OPALPollerWithLock64",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "opal_run_pollers with lock run 64 times, disabling warning."
},
{
"advice": "You are running in manufacturing mode. This mode should only be enabled in a factory during manufacturing.",
"compare_mode": "string",
"label": "ManufacturingMode",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_MEDIUM",
"pattern": "PLAT: Manufacturing mode ON"
},
{
"advice": "HDAT secureboot_tpm_info structure described a chip id, but no tpm node was found under that xscom chip id. This is most certainly a hostboot bug.",
"compare_mode": "regex",
"label": "HDATNoTpmForChipId",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "TPM node not found for chip_id=[0-9]+ (HB bug)"
},
{
"advice": "HDAT secureboot_tpm_info structure described a chip id, but the xscom node for the chip_id was not found. This is most certainly a firmware bug.",
"compare_mode": "regex",
"label": "HDATBadChipIdForTPM",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "xscom node not found for chip_id=[0-9]+"
},
{
"advice": "HDAT described an invalid size for timebase, which means there's a disagreement between HDAT and OPAL. This is most certainly a firmware bug.",
"compare_mode": "regex",
"label": "HDATBadTimebaseSize",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "HDAT: Bad timebase size [0-9]+ @ (0x[0-9a-f]+|nil)"
},
{
"advice": "The HOMER base address for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a safe, low frequency. Power savings in CPU idle or CPU hotplug may be impacted.",
"compare_mode": "regex",
"label": "OCCInvalidHomerBase",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Chip: [0-9a-f]+ homer_base is not valid"
},
{
"advice": "The pstate table for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a low, safe frequency. This means that CPU idle states and CPU frequency scaling may not be functional.",
"compare_mode": "regex",
"label": "OCCInvalidPStateTable",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Chip: [0-9a-f]+ PState table is not valid"
},
{
"advice": "The pstate table for the first chip was not valid. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates in this case.",
"compare_mode": "string",
"label": "OCCInvalidPStateTableDT",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: PState table is not valid"
},
{
"advice": "The PState table layout version is not supported in P9. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
"compare_mode": "regex",
"label": "OCCInvalidVersion02",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Version [0-9a-f]+ is not supported in P9"
},
{
"advice": "The PState table layout version is not supported in P8. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
"compare_mode": "regex",
"label": "OCCInvalidVersion90",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Version [0-9a-f]+ is not supported in P8"
},
{
"advice": "The PState table layout version is not supported. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates.",
"compare_mode": "regex",
"label": "OCCUnsupportedVersion",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Unsupported pstate table layout version [0-9]+"
},
{
"advice": "The min pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has not added pstates to device tree. This means that CPU Frequency management will not be functional in the host.",
"compare_mode": "regex",
"label": "OCCInvalidPStateLimits",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Invalid pstate limits. Pmin([0-9]+) > Pmax ([0-9]+)"
},
{
"advice": "The nominal pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has limited the nominal pstate to max pstate.",
"compare_mode": "regex",
"label": "OCCInvalidNominalPState",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Clipping nominal pstate([0-9]+) to Pmax([0-9]+)"
},
{
"advice": "The number of pstates is outside the valid range (currently <=1 or > 128 on p8, >255 on P9), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
"compare_mode": "regex",
"label": "OCCInvalidPStateRange",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: OCC range is not valid; No of pstates = [0-9]+"
},
{
"advice": "Device tree node /ibm,opal/power-mgt not found. OPAL didn't add pstate information to device tree. Probably a firmware bug.",
"compare_mode": "string",
"label": "OCCDTNodeNotFound",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: dt node /ibm,opal/power-mgt not found"
},
{
"advice": "Failed to create /ibm,opal/power-mgt/occ. Per-chip pstate properties are not added to Device Tree.",
"compare_mode": "regex",
"label": "OCCDTFailedNodeCreation",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Failed to create /ibm,opal/power-mgt/occ@[0-9a-f]+"
},
{
"advice": "ENOMEM while allocating OCC load message. OCCs not started, consequently no power/frequency scaling will be functional.",
"compare_mode": "string",
"label": "OCCload_reqENOMEM",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Could not allocate occ_load_req"
},
{
"advice": "Invalid request for loading OCCs. Power and frequency management not functional",
"compare_mode": "regex",
"label": "OCCLoadInvalidScope",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Load message with invalid scope 0x[0-9a-f]+"
},
{
"advice": "Invalid request for resetting OCCs. Power and frequency management not functional",
"compare_mode": "regex",
"label": "OCCResetInvalidScope",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCC: Reset message with invalid scope 0x[0-9a-f]+"
},
{
"advice": "The NPU fence status did not update as expected. This could be the result of a firmware or hardware bug. OpenCAPI functionality could be broken.",
"compare_mode": "regex",
"label": "OCAPIFenceStatusTimeout",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCAPI: Fence status for brick [0-9]+ stuck: expected 0x[0-9a-f]+, got 0x[0-9a-f]+"
},
{
"advice": "OpenCAPI IRQ setup failed. This is probably a firmware bug. OpenCAPI functionality will be broken.",
"compare_mode": "string",
"label": "OCAPIIRQAllocationFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCAPI: Couldn't allocate interrupts for NPU"
},
{
"advice": "Firmware probably ran out of memory creating NPU slot. OpenCAPI functionality could be broken.",
"compare_mode": "string",
"label": "OCAPICannotCreatePHBSlot",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OCAPI: Cannot create PHB slot"
},
{
"advice": "OPAL failed to add the power-mgt device tree node. This could mean that firmware ran out of memory, or there's a bug somewhere.",
"compare_mode": "string",
"label": "CreateDTPowerMgtNodeFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "creating dt node /ibm,opal/power-mgt failed"
},
{
"advice": "An error condition occurred in sleep/winkle engines timer state machine. Dumping debug information to root-cause. OPAL/skiboot may be stuck on some operation that requires SLW timer state machine (e.g. core powersaving)",
"compare_mode": "string",
"label": "SLWRegisterDump",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_LOW",
"pattern": "SLW: Register state:"
},
{
"advice": "The SLeep/Winkle Engine (SLW) failed to increment the generation number within our timeout period (it *should* have done so within ~10us, not >1ms. OPAL uses the SLW timer to schedule some operations, but can fall back to the (much less frequent OPAL poller, which although does not affect functionality, runs *much* less frequently. This could have the effect of slow I2C operations (for example). It may also mean that you *had* an increase in jitter, due to slow interactions with SLW. This error may also occur if the machine is connected to via soft FSI.",
"compare_mode": "string",
"label": "SLWTimerStuck",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "SLW: timer stuck, falling back to OPAL pollers. You will likely have slower I2C and may have experienced increased jitter."
},
{
"advice": "xscom_read was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_read on something that isn't a processor, Centaur or EX chiplet.",
"compare_mode": "regex",
"label": "XSCOMReadInvalidPartID",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
},
{
"advice": "xscom_write was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_write on something that isn't a processor, Centaur or EX chiplet.",
"compare_mode": "regex",
"label": "XSCOMWriteInvalidPartID",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
},
{
"advice": "No GPU/NPU2 slot information was found. NVLink2 functionality will not work.",
"compare_mode": "string",
"label": "NPUNoPHBSlotLabel",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NPU: Cannot find GPU slot information"
},
{
"advice": "Firmware probably ran out of memory creating NPU2 slot. NVLink functionality could be broken.",
"compare_mode": "string",
"label": "NPUCannotCreatePHBSlot",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NPU: Cannot create PHB slot"
},
{
"advice": "NVLink not functional",
"compare_mode": "regex",
"label": "NPUisnInvalid",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NPU[0-9]+: isn 0x[0-9a-f]+ not valid for this NPU"
},
{
"advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
"compare_mode": "string",
"label": "NPUCannotCreatePHBSlot",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "NPU: Cannot create PHB slot"
},
{
"advice": "OPAL marked a Centaur (memory buffer) as offline due to CENTAUR_ERR_OFFLINE_THRESHOLD (10) consecutive errors on XSCOMs to this centaur. OPAL will now return OPAL_XSCOM_CTR_OFFLINED and not try any further XSCOMs. This is likely caused by some hardware issue or PRD recovery issue.",
"compare_mode": "regex",
"label": "CentaurOfflinedTooManyErrors",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "CENTAUR: Offlined [0-9a-f]+ due to > [0-9]+ consecutive XSCOM errors. No more XSCOMs to this centaur."
},
{
"advice": "OPAL doesn't know that the BMC supports PNOR access commands. This will be a bug in the OPAL support for this BMC.",
"compare_mode": "string",
"label": "PNORAccessYeahButNoBut",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "PNOR BUG: access requested but BMC doesn't support request"
},
{
"advice": "In negotiating PNOR access with BMC, we got an odd/invalid request from the BMC. Likely a bug in OPAL/BMC interaction.",
"compare_mode": "regex",
"label": "InvalidPNORAccessRequest",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "invalid PNOR access requested: [0-9a-f]+"
},
{
"advice": "Likely bug in what sent us the OCC reset.",
"compare_mode": "regex",
"label": "SELUnknownOCCReset",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "SEL message to reset an unknown OCC (sensor ID 0x[0-9a-f]+)"
},
{
"advice": "Failed to update System Attention Indicator. Likely means some bug with OPAL interacting with FSP.",
"compare_mode": "regex",
"label": "FSPSAIFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Update SAI cmd failed [rc=[0-9]+]."
},
{
"advice": "OPAL ran out of memory while trying to allocate an FSP message in SAI code path. This indicates an OPAL bug that caused OPAL to run out of memory.",
"compare_mode": "regex",
"label": "SAIMallocFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Memory allocation failed."
},
{
"advice": "Error in queueing message to FSP in SAI code path. Likely an OPAL bug.",
"compare_mode": "regex",
"label": "SAIQueueFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Failed to queue the message"
},
{
"advice": "Possibly an error on FSP side, OPAL failed to read state from FSP.",
"compare_mode": "regex",
"label": "FSPSAIGetFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Read real SAI cmd failed [rc = 0x[0-9a-f]+]."
},
{
"advice": "OPAL ran out of memory: OPAL bug.",
"compare_mode": "regex",
"label": "FSPGetSAIMallocFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Memory allocation failed."
},
{
"advice": "Failed to queue message to FSP: OPAL bug",
"compare_mode": "regex",
"label": "FSPGetSAIQueueFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Failed to queue the message"
},
{
"advice": "OPAL failed to allocate memory for FSP LED command. Likely an OPAL bug led to out of memory.",
"compare_mode": "string",
"label": "FSPLEDRequestMallocFail",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "SPCN set command node allocation failed"
},
{
"advice": "OPAL had trouble creating the sensor nodes in the device tree as there was already one there. This indicates either the device tree from Hostboot already filled in sensors or an OPAL bug.",
"compare_mode": "regex",
"label": "OPALSensorNodeExists",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "SENSOR: node .* exists"
},
{
"advice": "Bug in interaction between FSP and OPAL. The state maintained by OPAL didn't match what the FSP sent.",
"compare_mode": "regex",
"label": "ElogListInconsistent",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Inconsistent internal list state !"
},
{
"advice": "Bug in skiboot/FSP code for EPOW event handling",
"compare_mode": "string",
"label": "EPOWSignatureMismatch",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Signature mismatch"
},
{
"advice": "Queueing a message from OPAL to FSP failed. This is likely due to either an OPAL bug or the FSP going away.",
"compare_mode": "string",
"label": "EPOWMessageQueueFailed",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "OPAL EPOW message queuing failed"
},
{
"advice": "Inconsistent state between OPAL and FSP in code path for handling failure of fetching error log from FSP. Likely a bug in interaction between FSP and OPAL.",
"compare_mode": "regex",
"label": "ElogFetchFailureInconsistent",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Inconsistent internal list state !"
},
{
"advice": "Bug in interaction between FSP and OPAL. We expected there to be a pending read from FSP but the list was empty.",
"compare_mode": "regex",
"label": "ElogQueueInconsistent",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Inconsistent internal list state !"
},
{
"advice": "We expected there to be an entry in the list of error logs for the error log we're fetching information for. There wasn't. This means there's a bug.",
"compare_mode": "regex",
"label": "ElogInfoInconsistentState",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Inconsistent internal list state !"
},
{
"advice": "Inconsistent state while reading error log from FSP. Bug in OPAL and FSP interaction.",
"compare_mode": "regex",
"label": "ElogReadInconsistentState",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": ".*: Inconsistent internal list state !"
},
{
"advice": "Error in acknowledging heartbeat to FSP. This could mean the FSP has gone away or it may mean the FSP may kill us for missing too many heartbeats.",
"compare_mode": "string",
"label": "FSPHeartbeatAckError",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "SURV: Heartbeat Acknowledgment error from FSP"
},
{
"advice": "AST BMC is likely to be non-functional when accessed from host.",
"compare_mode": "string",
"label": "ASTBMCFailedSetEnables",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "ASTBMC: failed to set enables"
},
{
"advice": "Device tree didn't contain enough information to correctly report back PCI inventory. Service processor is likely to be missing information about what hardware is physically present in the machine.",
"compare_mode": "regex",
"label": "FirenzePCIInventory",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "No chip device node for PHB[0-9a-f]+"
},
{
"advice": "More PCI inventory than we can send to service processor. The service processor will have an incomplete view of the world.",
"compare_mode": "regex",
"label": "FirenzePCIInventoryTooLarge",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Inventory ([0-9]+ bytes) too large"
},
{
"advice": "Error communicating with service processor when sending PCI Inventory.",
"compare_mode": "regex",
"label": "FirenzePCIInventoryError",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Error [0-9]+ sending inventory"
},
{
"advice": "On Firenze platforms, I2C is used to control power to PCI slots. Errors here mean we may be in trouble in regards to PCI slot power on/off.",
"compare_mode": "regex",
"label": "FirenzePCII2CError",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Error [0-9]+ from I2C request on slot [0-9a-f]+"
},
{
"advice": "Likely a coding error: invalid I2C request.",
"compare_mode": "regex",
"label": "FirenzePCII2CInvalid",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Invalid I2C request [0-9]+ on slot [0-9a-f]+"
},
{
"advice": "The Firenze platform uses I2C to control power to PCI slots. Something went wrong in the state machine controlling that. Slots may/may not have power.",
"compare_mode": "regex",
"label": "FirenzePCISlotI2CStateError",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "Wrong state [0-9a-f]+ on slot [0-9a-f]+"
},
{
"advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
"compare_mode": "regex",
"label": "FirenzePCISlotGPowerState",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "[0-9a-f]+ GPOWER: Unexpected state [0-9a-f]+"
},
{
"advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
"compare_mode": "regex",
"label": "FirenzePCISlotSPowerState",
"last_tag": "v6.1",
"log_level": "LOG_LEVEL_CRITICAL",
"pattern": "[0-9a-f]+ SPOWER: Unexpected state [0-9a-f]+"
}
]
}
data/syntaxcheck.json 0000664 0000000 0000000 00000035504 14553406764 0015233 0 ustar 00root root 0000000 0000000 {
"erroradvice":
[
{
"id": "ASL_MSG_FIELD_ACCESS_WIDTH",
"advice": "The region needs to be at least as big as the access width."
},
{
"id": "ASL_MSG_FIELD_UNIT_ACCESS_WIDTH",
"advice": "The field plus the access width must not go beyond the end of the region."
},
{
"id": "ASL_MSG_HID_SUFFIX",
"advice": "The remaining characters (suffix) of the _HID string must be hexadecimal digits."
},
{
"id": "ASL_MSG_ISA_ADDRESS",
"advice": "The fixed I/O ISA address is illegal, it is greater than 0x03ff."
},
{
"id": "ASL_MSG_LEADING_ASTERISK",
"advice": "The leading character of the string is an asterisk '*'. This is used by some platform manufacturers. While this is allowed for a _CID, the compiler complains about this since a valid use of this has never been seen."
},
{
"id": "ASL_MSG_LIST_LENGTH_LONG",
"advice": "The package length is smaller than the length of the initializer list."
},
{
"id": "ASL_MSG_LOCAL_INIT",
"advice": "A local variable to a method has not been initialized. This is a bug and can lead to undefined execution behaviour."
},
{
"id": "ASL_MSG_NAME_EXISTS",
"advice": "The name already exists in this scope. The compiler will continue to process it."
},
{
"id": "ASL_MSG_NO_REGION",
"advice": "_REG requires a corresponding Operation Region, however one was not found."
},
{
"id": "ASL_MSG_NOT_FOUND",
"advice": "The name referenced by Scope() should exist, but does not; forward references for Scope() are not supported by the Microsoft Windows ACPI interpreter."
},
{
"id": "ASL_MSG_NOT_METHOD",
"advice": "The node type is not a method, so it cannot be invoked."
},
{
"id": "ASL_MSG_NOT_REACHABLE",
"advice": "The name exists in the name space, but not it could not be accessed from the scope."
},
{
"id": "ASL_MSG_RESERVED_METHOD",
"advice": "The reserved method must be a control method, this occurs for example for the _Lxx, _Exx, _Wxx or _Qxx methods, or for a predefined name that requires input arguments, or no return value from prefefined names such as _DIS, _INI, _IRC, _OFF, _ON, _PSx."
},
{
"id": "ASL_MSG_RESERVED_OPERAND_TYPE",
"advice": "The object type for the reserved name does not match the expected type."
},
{
"id": "ASL_MSG_SCOPE_FWD_REF",
"advice": "The Microsoft ACPI interpreter cannot handle a forward reference from the Scope() operator, so the compiler flags this up as an error."
},
{
"id": "ASL_MSG_TAG_LARGER",
"advice": "The resource tag length is larger than the field length."
},
{
"id": "ASL_MSG_TAG_SMALLER",
"advice": "The resource tag length is smaller than the field length."
},
{
"id": "ASL_MSG_UNKNOWN_RESERVED_NAME",
"advice": "The name does not match any of the known predefined names. Names that start with an underscore '_' are reserved by the ACPI specification and so this name should be one of these known names."
},
{
"id": "ASL_MSG_UNREACHABLE_CODE",
"advice": "This occurs when there is some code following a Return() - this code is unreachable code, it cannot be executed, so it is most probably a bug."
},
{
"id": "ASL_MSG_NOT_EXIST",
"advice": "The referenced object could not be found during a name space lookup, it does not seem to exist."
},
{
"id": "ASL_MSG_CORE_EXCEPTION",
"advice": "An internal compiler core exception error has occurred performing a name space lookuop."
},
{
"id": "ASL_MSG_DEBUG_FILE_OPEN",
"advice": "The compiler could not open a debug file for output."
},
{
"id": "ASL_MSG_DEBUG_FILENAME",
"advice": "A debug filename could not be generated by the compiler."
},
{
"id": "ASL_MSG_DEPENDENT_NESTING",
"advice": "A resource descriptor nesting error has occurred."
},
{
"id": "ASL_MSG_DUPLICATE_CASE",
"advice": "A case value has already been specified."
},
{
"id": "ASL_MSG_EARLY_EOF",
"advice": "The End-Of-File was reached prematurely."
},
{
"id": "ASL_MSG_CONSTANT_FOLDED",
"advice": "The compiler has performed a constant folding optimization."
},
{
"id": "ASL_MSG_CONSTANT_EVALUATION",
"advice": "Failed to evaluate a constant expression, the compiler could not resolve a subtree for some unknown reason."
},
{
"id": "ASL_MSG_CONNECTION_MISSING",
"advice": "The compiler was parsing a FieldUnitList and was expecting a Connection() operator but instead found a NameSeg() opcode."
},
{
"id": "ASL_MSG_CONNECTION_INVALID",
"advice": "A Connection() operator is only valid for the GeneralPurposeIo and GenericSerialBus operation region SpaceIds."
},
{
"id": "ASL_MSG_CLOSE",
"advice": "An error occurred closing a file in the ASL compiler, this is a system error and should not normally occur."
},
{
"id": "ASL_MSG_COMPILER_INTERNAL",
"advice": "An error occurred inside the compiler."
},
{
"id": "ASL_MSG_COMPILER_RESERVED",
"advice": "This normally occurs when disassembled code is being compiled and it contains compiler-emitted names of the form '_T_x'. This is just a remark generated by the compiler and can normally be ignored."
},
{
"id": "ASL_MSG_RETURN_TYPES",
"advice": "Some of the execution paths do not return a value. All control paths that return must return a value otherwise unexpected behaviour may occur. This error occurs because a branch on an conditional op-code returns a value and another does not, which is inconsistent behaviour."
},
{
"id": "ASL_MSG_RESERVED_RETURN_VALUE",
"advice": "A reserved method was expected to return a value, however, it does not. This is unexpected behaviour that does not conform the the ACPI specification."
},
{
"id": "ASL_MSG_INVALID_TYPE",
"advice": "An invalid type was used. A different type was expected to be used.",
},
{
"id": "ASL_MSG_RESERVED_NO_RETURN_VAL",
"advice": "A reserved method returned a value however it is not expected to return anything, so this does not conform to the expected behaviour. The kernel will most probably ignore the return value, so this is not going to produce any run time errors."
},
{
"id": "ASL_MSG_ALIGNMENT",
"advice": "Addresses must be an exact multiple of the alignment value."
},
{
"id": "ASL_MSG_ALPHANUMERIC_STRING",
"advice": "For _HID (Hardware object IDs), the ACPI specification requires all characters must be alphanumeric. Section 6.1.4 of the specification states that a valid PNP ID must be of the form AAA#### (where A is an uppercase letter and # is a hex digit) and a valid ACPI ID must be of the form ACPI#### where # is a hex digit."
},
{
"id": "ASL_MSG_AML_NOT_IMPLEMENTED",
"advice": "This error message should not occur."
},
{
"id": "ASL_MSG_ARG_COUNT_HI",
"advice": "Method is called with too many arguments. This is a bug and can lead to unexpected and undefined behaviour."
},
{
"id": "ASL_MSG_ARG_COUNT_LO",
"advice": "Method is called with too few arguments. This is a bug and can lead to unexpected and undefined behaviour."
},
{
"id": "ASL_MSG_ARG_INIT",
"advice": "A reference argument has not been initialized."
},
{
"id": "ASL_MSG_BACKWARDS_OFFSET",
"advice": "Backwards offsets in fields are illegal and this is a bug in the AML. The iasl compiler will ignore this node completely."
},
{
"id": "ASL_MSG_BUFFER_LENGTH",
"advice": "The AML buffer length was zero and contained no items. This is most probably a mistake - but the compiler has gone ahead and compiled this in as a zero sized buffer anyway."
},
{
"id": "ASL_MSG_DMA_CHANNEL",
"advice": "DMA channels are described by an 8 bit mask, hence there can only be 8 channels 0..7. See the ACPI specification, section 6.4.2.2, DMA Descriptor
for more details."
},
{
"id": "ASL_MSG_DMA_LIST",
"advice": "Only a maximum of 8 DMA channels can be specified in a list."
},
{
"id": "ASL_MSG_DUPLICATE_ITEM",
"advice": "An initializer list has duplicate items, which is illegal."
},
{
"id": "ASL_MSG_HID_LENGTH",
"advice": " _HID String must be of the form XXX#### or ACPI####."
},
{
"id": "ASL_MSG_INTEGER_LENGTH",
"advice": "A 64 bit integer has been truncated down to a 32 bit value. This could lead to unexpected behaviour due to loss of data through truncation."
},
{
"id": "ASL_MSG_INTERRUPT_NUMBER",
"advice": "Only interrupts 0..15 are allowed as the IRQ mask is just 16 bits wide."
},
{
"id": "ASL_MSG_INVALID_ADDR_FLAGS",
"advice": "This occurs if the length is zero and just one of the resource MIF/MAF flags are set, or the length is non-zero and resource MIF/MAF flags are both set. These are illegal combinations and need to be fixed. See section 6.4.3.5 Address Space Resource Descriptors of the ACPI specification for more details."
},
{
"id": "ASL_MSG_INVALID_EISAID",
"advice": "The EISAID string must be exactly 7 characters and of the form UUUXXXX, 3 uppercase letters and 4 hex digits (e.g., 'PNP0001'). See section 18.5.35 'EISAID (EISA ID String To Integer Conversion Macro)' of the ACPI specification for more details."
},
{
"id": "ASL_MSG_INVALID_GRANULARITY",
"advice": "This occurs if the specified granularity is non-zero and not a power-of-two minus one in value."
},
{
"id": "ASL_MSG_INVALID_LENGTH",
"advice": "This needs to be fixed as the length specified is greater than the window size specified by the Min/Max fields - this is clealy ambiguous."
},
{
"id": "ASL_MSG_INVALID_LENGTH_FIXED",
"advice": "The minimum address is greater than the maximum address. This is illegal."
},
{
"id": "ASL_MSG_INVALID_MIN_MAX",
"advice": "The minimum, maximum addresses and length must be a multiple of the alignment, which must be a power of 2."
},
{
"id": "ASL_MSG_INVALID_PERFORMANCE",
"advice": "Performance/Robustness value in StartDependentFn declaration was > 2. It must be one of: 0 = Good, 1 = Acceptable, 2 = Sub-optimal. See section 18.5.111 of the ACPI specification for more information."
},
{
"id": "ASL_MSG_INVALID_PRIORITY",
"advice": "Priority in StartDependentFn declaration was > 2. It must be one of: 0 = Good, 1 = Acceptable, 2 = Sub-optimal. See section 18.5.111 of the ACPI specification for more information."
},
{
"id": "ASL_MSG_INVALID_TIME",
"advice": "Illegal stall time (>255). Generally, stall times > 100 microseconds must use sleep() instead. See section 18.5.110 Stall (Stall for a Short Time) of the ACPI specification."
},
{
"id": "ASL_MSG_NAMED_OBJECT_IN_WHILE",
"advice": "A named object cannot be created inside a while loop. This needs to be fixed."
},
{
"id": "ASL_MSG_NO_RETVAL",
"advice": "The called method did not return a value, which was unexpected. This is a bug and will lead to undefined behaviour during execution."
},
{
"id": "ASL_MSG_NULL_DESCRIPTOR",
"advice": "A 'null descriptor' (where most fields are set to zero) has been found. Usually, these are updated or completed at run time using BufferFields, but to do so one requires a resource tag and this descriptor does not have one, hence it cannot be referenced to allow it to be updated. This is most probably a bug and needs to be fixed."
},
{
"id": "ASL_MSG_REGION_BUFFER_ACCESS",
"advice": "SMBUS and IPMI regions require BufferAcc access. This error occurs when the incorrect access type is used on a region."
},
{
"id": "ASL_MSG_REGION_BYTE_ACCESS",
"advice": "Embedded Controller (EC) and CMOS regions can only be accessed using ByteAcc access."
},
{
"id": "ASL_MSG_RESERVED_ARG_COUNT_HI",
"advice": "Reserved method is called with too many arguments. This is a bug and can lead to unexpected and undefined behaviour."
},
{
"id": "ASL_MSG_RESERVED_ARG_COUNT_LO",
"advice": "Method is called with too few arguments. This is a bug and can lead to unexpected and undefined behaviour."
},
{
"id": "ASL_MSG_RESULT_NOT_USED",
"advice": "The result from an operation is not used. This is probably not intended and could be a bug and should be checked."
},
{
"id": "ASL_MSG_SERIALIZED",
"advice": "A method needs to be marked Serialized because of the wat Switch() has been implemented (multiple threads cannot execute the method concurrently since local temporary names need to be created which could lead to race conditions). This should be explicitly specified in the original code to avoid potential run time race conditions."
},
{
"id": "ASL_MSG_SOME_NO_RETVAL",
"advice": "Method sometimes return a value, sometimes it does not. This is inconsistent behaviour and a bug in the AML. This needs to be fixed to avoid incorrect behaviour at run time."
},
{
"id": "ASL_MSG_SYNC_LEVEL",
"advice": "Data mutex synchronization level is too large, should be 0..15. See section 18.5.79 Mutex (Declare Synchronization/Mutex Object) of the ACPI specification for more details."
},
{
"id": "ASL_MSG_SYNTAX",
"advice": "The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors."
},
{
"id": "ASL_MSG_TABLE_SIGNATURE",
"advice": "Table signature must be 4 characters long and must contain alphanumeric characters."
},
{
"id": "ASL_MSG_TIMEOUT",
"advice": "The operation can possibly timeout, and hence the return value indicates an timeout error. However, because the return value is not checked this very probably indicates that the code is buggy. A possible scenario is that a mutex times out and the code attempts to access data in a critical region when it should not. This will lead to undefined behaviour. This should be fixed."
},
{
"id": "ASL_MSG_UPPER_CASE",
"advice": "Characters in literal string that are not hexadecimal letters must be upper case."
},
{
"id": "ASL_MSG_RECURSION",
"advice": "Internal IASL Node recursion detected."
},
{
"id": "ASL_MSG_LOCAL_OUTSIDE_METHOD",
"advice": "A local variable was used outside of a control method, or there is an error in the method declaration."
},
{
"id": "ASL_MSG_NOT_PARAMETER",
"advice": "Argument to the method is not a real argument."
},
{
"id": "ASL_MSG_SERIALIZED_REQUIRED",
"advice": "A named object is created inside a non-serialized method - this method should be serialized. It is possible that one thread enters the method and blocks and then a second thread also executes the method, ending up in two attempts to create the object and causing a failure."
},
{
"id": "ASL_MSG_TRUNCATION",
"advice": "A truncation on a integer value has occurred. For example, a 32 bit value for a 16 bit timeout has been used."
},
{
"id": "ASL_MSG_LIST_LENGTH_SHORT",
"advice": "The provided data is actually shorter than the specified length, for example in an ACPI buffer containing vendor data."
},
{
"id": "ASL_MSG_PACKAGE_LENGTH",
"advice": "The package is larger than expected, hence wasting some space."
},
{
"id": "ASL_MSG_RESERVED_PACKAGE_LENGTH",
"advice": "The package is smaller than required."
}
]
}
debian/ 0000775 0000000 0000000 00000000000 14553406764 0012316 5 ustar 00root root 0000000 0000000 debian/changelog 0000664 0000000 0000000 00001027113 14553406764 0014175 0 ustar 00root root 0000000 0000000 fwts (24.01.00-0ubuntu1) noble; urgency=medium
[Armin Wolf]
* acpi/wmi: Add WMI GUID for the dell-smm-hwmon driver
* acpi/wmi: Warn if a WMI GUID has zero instances
[Ivan Hu]
* snapcraft: update the source repo for snap build
* snapcraft: add source type for repo
* lib: framework: clear the error message with the extra result filename
suffix
* snapcraft: specify devmode confinement for fwts snap
* acpi: fadt: clarify the check for sleep control register
* acpi: madt: fix typo of madt subnames
* lib: fwts_acpi: add the PRM type GAS defined value
* acpi: fadt: add PERSISTENT_CPU_CACHES bits to fixed feature flags
(mantis 2206)
* acpi: method: add _DSC method tests (mantis 2224)
* fwts-test: method: sync up with adding _DSC method tests
* acpi: srat: add new Generic Port structure for srat tests (mantis 2236)
* fwts-test: sync up with new Generic Port structure added for srat
* acpi: srat: fix to get device handle value and dump the reserved array
* acpi: method: clarify TAD device methods requirements (mantis 2253)
* lib: fwts_acpi_tables: add missing GAS address space ID
* acpi: madt: add GICC new flag and length change (mantis 2285, 2303)
* acpi: einj: test more error injection actions for einjv2 (mantis 2287)
* acpi: method: fix typo of subelement
* acpi: method: add _PDO test (mantis 2293)
* fwts-test: sync up the method _PDO was added
* acpi: phat: add reset reason health record test (mantis 2294)
* fwts-test: sync up for reset reason health record test
* acpi: viot: add test for ACPI VIOT table (mantis 2152)
* fwts-test: add regression tests for VIOT
* acpi: misc: add tests for ACPI MISC table (mantis 2297)
* fwts-test: add regression tests for MISC
* acpi: ccel: add tests for ACPI CCEL table (mantis 2314)
* fwts-test: add regression tests for CCEL
* acpi: viot: fix build fail on bionic and focal
* acpi: skvl: add tests for ACPI SKVL table (mantis 2314)
* fwts-test: add regression tests for SKVL
* Update copyright year to 2024
[Mario Limonciello]
* Upgrade MCFGMMIONotReserved to HIGH error
* s3: Add support for reading total s2idle residency from generic API
* s3: Add support for checking last sleep cycle residency
* Add support for ACPI 6.5 _UPC return values
-- Ivan Hu Mon, 22 Jan 2024 14:37:56 +0800
fwts (23.11.00-0ubuntu1) noble; urgency=medium
[Armin Wolf]
* acpi/wmi: Add WMI GUID for the wmi-bmof driver
[Ivan Hu]
* fwts-test: sync up with Recognize Pluton TPM patch
* klog.json: Add some missing einj kernel messages to klog database
* klog.json: Add some missing bert kernel messages to klog database
* klog.json: Add some missing erst kernel messages to klog database
* lib: fwts_acpi_table: fix fwts_acpi_reserved_zero_array with the input
string
* klog.json: Add some missing hest kernel messages to klog database
* klog.json: Add some missing apmt kernel messages to klog database
* klog.json: Add some missinig processor_perflib kernel messages to klog
database
* README: modify the fwts git repository
* acpi: aspt: fix typo of SPTT
* klog.json: Add some missing exresolv kernel messages to klog database
* klog.json: Add some missing efi64 kernel messages to klog database
* klog.json: Add some missing exmisc kernel messages to klog database
* klog.json: Add some missing evmisc kernel messages to klog database
* klog.json: Add some missing rslist kernel messages to klog database
* klog.json: Add some missing exfield kernel messages to klog database
* klog.json: Add some missing tbfadt kernel messages to klog database
* klog.json: Add some missing hwregs kernel messages to klog database
* klog.json: Add some missing exutils kernel messages to klog database
* klog.json: Add some missing nsaccess kernel messages to klog database
* klog.json: Add some missing bus kernel messages to klog database
* klog.json: Add some missing battery kernel messages to klog database
* klog.json: Add some missing power kernel messages to klog database
* fwts-test: sync up the SPTT typo fix
* fwts-test: sync up with the klog message update
* acpi: ras2: add test for ACPI RAS2 table
* fwts-test: add regression tests for RAS2
* auto-packager: update the fwts git repo
* lib: framework: fix the unclear error message of the results log
* auto-packager: mkpackage.sh: add noble
* acpi: ibft: add tests for iBFT table
* fwts-test: add regression tests for iBFT
[Mario Limonciello]
* acpi: Recognize Pluton TPM
-- Ivan Hu Tue, 28 Nov 2023 15:30:05 +0800
fwts (23.09.00-0ubuntu1) mantic; urgency=medium
[Arthur Heymans]
* acpi/spcr: Update supported port types
* acpi/scpr: spcr->interrupt_type == 0 is valid
[Colin Ian King]
* data/klog.json: Fix spelling mistakes found using codespell
* src/*: Fix various spelling mistakes in source code
[Ivan Hu]
* fwts-test: sync up with klog.json ix spelling mistakes found using codespell
* fwts-test: sync up with update supported port types
* acpi: update fadt and madt revisions to ACPI 6.5
* uefi: esrtdump: update the LastAttemptStatus values to UEFI spec 2.10
* acpi: phat: fix the device path for the health data record
* fwts-test: sync up with phat fix the device path for the health data record
* klog.json: Add and modify some more e820 kernel messages to klog database
* acpi: phat: modify the dumping vendor data format
* fwts-test: sync up with the phat dumping vendor data modification
* acpi: spcr: update the spcr tests to lastest revision 4
* fwts-test: sync up the spcr test updating to revision 4
* dmicheck: update supported DMI version to 3.7
* s3: add checking the device signed wakeup events
* s3: add dumping the all devices and signed wakeup sources
* snapcraft: add snap build for riscv64
* fwts-test: sync up with the dumping s3-dump-wakeup-src option
* acpi: s3: build fail for unexpected format of argument types for i386
* auto-packager: mkpackage.sh: remove kinetic
* lib: fwts_acpi_object_eval.: fix build fail for ppc64el on mantic
* acpi: iort: update IORT table to specification version E.e
* fwts-test: sync up with iort test to version E.e
* acpi: fadt: remove the tests for expecting smi_cmd is zero
* uefi: esrt: fix the last_attempt_status wrongly interpretation of value
* acpi: madt: add more interrupt controller structure types defined in ACPI
6.5
* kernelscan: modify some pathes of the scan files
* klog.json: Add some missing ACPI memory hotplug kernel messages to klog
database
* klog.json: Add some missing processor idle kernel messages to klog database
* klog.json: Add some missing ACPI NFIT kernel messages to klog database
* klog.json: Add some missing sleep kernel messages to klog database
* klog.json: Add some missing amba kernel messages to klog database
* klog.json: Add some missing dma kernel messages to klog database
* acpi: ivrs: fix the tests stuck at validate IVRS table
* klog.json: Add some missing ACPI PCI IRQ kernel messages to klog database
[Mario Limonciello]
* Upgrade the max value for "Processor Upgrade" to 0x50
* tpmevlog: Correct boundary checking for PCR4 event check
-- Ivan Hu Tue, 19 Sep 2023 10:20:20 +0800
fwts (23.07.00-0ubuntu1) mantic; urgency=medium
[Armin Wolf]
* acpi/wmi: Add WMI GUID for the dell-wmi-ddv driver
* acpi/wmi: Check if the mandatory block query method exists
* acpi/wmi: Fix bug when counting WMI methods
* fwts_acpica: Remove unused variable "context"
[Colin Ian King]
* ACPICA: Update to version 20230628
[Ivan Hu]
* lib: framework: remvoe ARM specific for ebbr
* fwts-test: sync up the removing ARM specific for ebbr
* cppcheck: fix the cppcheck source link error
* lib: fwts_oops: fix the WARN_ON warnings in kernel not found
* debian: control: update uploader
* debian: control: modify newer dkms dependency
* auto-packager: mkpackage.sh: remove the control hook
* lib: fwts_dump_data: add function for simply dump raw data
* lib: fwts_dump_data: add library function for dumping all raw data with
prefix
* acpi: aest: modify the dumping raw data without noisy info
* fwts-test: sync up aest modify the dumping raw data
* acpi: mpam: add test for ACPI MPAM table
* fwts-test: sync up with adding the mpam tests
* acpi: mpam: test with resource specific data for interconnect location type
* fwts-test: sync up with test with resource specific data
* acpi: mpam: fix build fail on bionic
* uefi: esrt: update the LastAttemptStatus values to UEFI spec 2.10
* lib: fwts_acpi_object_eval: sync up the AML exceptions from ACPICA
* debian: update compat level and standards version
* debian: fix debuild fail for the not installed files
* debian: fix lintian errors and warnings
[Mario Limonciello]
* Increase number of max semaphores to fix OOM crashes on some systems
[Ãkos Nagy]
* lib: make the return types consistent
-- Ivan Hu Fri, 07 Jul 2023 10:37:02 +0800
fwts (23.05.00-0ubuntu1) mantic; urgency=medium
[Colin Ian King]
* ACPICA: Update to version 20230331
[Ivan Hu]
* dmicheck: extent the dmi_patterns for the default serial number string
* dmicheck: add more checks for invalid serial number string
* acpi: cedt: remove unused code
* acpi: ivrs: add tests for ACPI IVRS table
* fwts-test: add regression tests for IVRS
* acpi: button: remove check fixed hardware & control method power buttons
* lib: fwts_framework: add EBBR to category
* s3: fix the display time of resume for Timekeeping suspended string missing
* fwts_framwork: add ebbr test for RISC-V
* auto-packager: mkpackage.sh: add mantic
* debian: control: add build depend dh-dkms
* auto-packager: mkpackage.sh remove the dh-dkms dependency
-- Ivan Hu Tue, 23 May 2023 11:59:34 +0800
fwts (23.03.00-0ubuntu1) lunar; urgency=medium
[Huacai Chen]
* Add support for 64 bit LoongArch compilation
[Ivan Hu]
* sbbr: add esrt and uefibootpath tests to sbbr option
* ebbr: add some tests to ebbr option
* acpi: method: NIH method output buffer should be 4 bytes
* debian: update copyright
* dmicheck: fix the length check error for type 9
* dmicheck: fix the wrong slot height value range
* dmicheck: fix the extended bios ROM size bit check of type 0
* dmicheck: add processor family check for type 4
* dmicheck: add status check for type 4
* dmicheck: add bit 0 reserved check of the processor characteristics for type 4
* dmicheck: modify the memory type range check for type 17
* dmicheck: add some bit 0 reserved checks for type 17
* dmicheck: update the interface field for type 21
* dmicheck: update the device type field for type 41
* dmicheck: update for supporting DMI version to 3.6
* dmicheck: fix the print format
* auto-packager: mkpackage: add build depend dh-dkms for lunar
[Vasiliy Kovalev]
* libfwtsiasl: fix undefined symbols in shared library
-- Ivan Hu Mon, 27 Mar 2023 12:06:53 +0800
fwts (23.01.00-0ubuntu1) lunar; urgency=medium
[Ivan Hu]
* acpi: s3: fix the issue for determining time to resume
* tpmevlog: add tests for checking the UEFI_IMAGE_LOAD_EVENT Structure
* acpi: aest: add tests for ACPI AEST table
* fwts-test: add regression tests for AEST
* lib: fwts_acpi_tables: fix the passed reserved value
* Update copyright year to 2023
* fwts-test: sync up with the fix of passed reserved value
-- Ivan Hu Mon, 16 Jan 2023 12:08:07 +0800
fwts (22.11.00-0ubuntu1) lunar; urgency=medium
[Bryan Kemp]
* Add Support for EV_COMPACT_HASH event type
[Colin Ian King]
* ACPICA: Update to version 20221020
* fwts-test: sync test logs with latest ACPICA
[Ivan Hu]
* s3: modify the default sleep type description
* fwts-test: sync up with the default s3 sleep type description change
* acpi: rgrt: add test for ACPI RGRT table( mantis 2056)
* fwts-test: add regression test for RGRT
* acpi: cedt: add tests for ACPI CEDT table (mantis 2076)
* fwts-test: add regression tests for CEDT
* auto-package: mkpackage.sh: add lunar
-- Ivan Hu Mon, 21 Nov 2022 15:31:59 +0800
fwts (22.09.00-0ubuntu1) kinetic; urgency=medium
[Ivan Hu]
* acpi: dbg2: update the subtype for DBG2 table
* lib: acpi: update battery charge limiting state for _BST
* uefi: securebootcert: fix the attribute set for AuditMode and DeployedMode
* acpi: fadt: get _CST c2 c3 for p_lvl2 and p_lvl3 tests
* acpi: nhltdump: add dumping nhlt table for audio configurations
* acpi: nhltdump: add endpoint discriptor string description
* acpi: svkl: add test for SVKL table (mantis 2162)
* fwts-test: add regression test for SVKL
* acpi: iort: remove redundant code
-- Ivan Hu Thu, 22 Sep 2022 09:29:58 +0800
fwts (22.07.00-0ubuntu1) kinetic; urgency=medium
[Ivan Hu]
* dmicheck: add Processor Architecture Types check for type 44
* dmicheck: update for supporting DMI version to 3.5
* dmicheck: update the processor upgrade field for type 4
* acpi: pmtt: fix the wrong table label
* fwts-test: sync up the fix of pmtt wrong table label
* acpi: asf: remove the checking of minmun watchdog reset value 0
* fwts-test: sync up the remove of ASF minimun watchdog reset value
* acpi: asf: enable verbose output
* fwts-test: sync up with asf verbose dump
* auto-packager: mkpackage.sh: remove impish
[orbea]
* build: Improve linking
-- Ivan Hu Mon, 25 Jul 2022 11:12:56 +0800
fwts (22.05.00-0ubuntu1) kinetic; urgency=medium
[Colin Ian King]
* ACPICA: Update to version 20220331
[Ivan Hu]
* acpi: iort: update IORT node revision check
* acpi: iort: update the IORT node dump
* Update copyright year to 2022
* acpi: iort: update IORT test to specification version E.d
* auto-packager:mkpackage.sh: add kinetic
* acpi: mcfg: checking kernel lockdown when doing mmap PCI config space
* fwts-test: sync up IORT test with specification version E.d
-- Ivan Hu Mon, 23 May 2022 13:51:46 +0800
fwts (22.03.00-0ubuntu1) jammy; urgency=medium
[Alex Hung]
* acpi/time: skip a number of TAD methods when _GCP[0] is clear
[Colin Ian King]
* ACPICA: Update to version 20211217
* fwts-tests: update acpi dump data to be in sync with latest ACPICA
[Ivan Hu]
* uefirtmisc: add checking the resources for testing
* uefirtmisc: add option to specify iterations get next high monitonic count
* fwts-test: sync up the adding option for get next high monotonic count
* acpi:dmar: update the link of DMAR table
* acpi: macf: report failures instead of just logging the errors
* acpi: sdev: add checking secure access components
* fwts-test: sync up the sdev checking secure access components
-- Ivan Hu Thu, 17 Mar 2022 14:09:40 +0800
fwts (22.01.00-0ubuntu1) jammy; urgency=medium
[Alex Hung]
* auto-packager: mkpackage.sh: remove hirsute
* s3: use system suspend default if --s3-sleep-type is not used
* fwts_acpica: skip unneccessary null check
[Ivan Hu]
* lib: fwts_tpm.h: add new type definition
* tpmevlog: add supporting several new types for event log checking
* tpmevlogdump: add supporting several new types for event log dumping
-- Ivan Hu Tue, 25 Jan 2022 11:37:31 +0800
fwts (21.12.00-0ubuntu1) jammy; urgency=medium
[Alex Hung]
* s3: fix incorrect error messages for s2idle_residency
* s3: increase s2idle_residency to u64 to avoid overflows
* dmicheck: skip scanning smbios in /dev/mem on aarch64
[Ivan Hu]
* s4: clean up pedantic static analysis warnings
* acpi: uniqueid: clean up pedantic static analysis warnings
-- Alex Hung Wed, 15 Dec 2021 14:39:16 -0700
fwts (21.11.00-0ubuntu1) jammy; urgency=medium
[Alex Hung]
* acpi: uniqueid: skip comparison of _HID and _CID of the same device
* auto-packager:mkpackage.sh: add jammy
[Colin Ian King]
* snapcraft: fix path to fwts
* snapcraft: Fix incorrect core20 library path
[G Edhaya Chandran]
* lib: fwts_smbios: fix loading SMBIOS table from uefi
[Grzegorz Bernacki]
* acpi: madt: De-initialise ACPICA core engine in case of error.
[Ivan Hu]
* ACPICA: Update to version 20210930
* s3: add sleep type setting for testing with s3 or s2idle
* fwts-test: sync up the adding sleep type for s2idle testing
-- Alex Hung Wed, 24 Nov 2021 00:15:47 -0700
fwts (21.09.00-0ubuntu1) impish; urgency=medium
[Alex Hung]
* lib: fwts_firmware: fix incorrect comments for fwts_firmware_detect
* acpi: replace fwts_firmware_detect() by fw->firmware_type
[Colin Ian King]
* Manual: update number of tests, date and remove double spaces
* lib: use rather than
* snapcraft: update to use core20
* fwts_acpi_tables: NULLify table pointers
* fwts_devicetree: clean up static analysis warning
* opal: mem_info: clean up pedantic static analysis warnings
* uefirtvariable: clean up pedantic static analysis warnings
* acpi: s3power: clean up pedantic static analysis warnings
* opal: Fix a few memory leaks on asprint allocated buffers
* opal: clean up some coding style issues
* smccc_test: fix missing ) in pr_info call
* acpi: cstates: remove redundant null check on entry
* acpi: dmar: constify a pointer argument in acpi_parse_dev_scope
* acpi: iort: constify some function arguments
* bios: smm: remove redundant variable n
* src/pci/smccc: reduce scope of variable ret
* uefi: securebootcert: make some function arguments const
* uefi: uefirtmisc: reduce scope of some variables
[Rob Herring]
* Enable dt_sysinfo test for Power only
* fwts_firmware: Rework Devicetree firmware detection
* debian/control: Add device-tree-compiler as dependency for
armel/armhf/arm64
-- Ivan Hu Mon, 27 Sep 2021 13:49:22 +0800
fwts (21.08.00-0ubuntu1) impish; urgency=medium
[Alex Hung]
* sbbr: remove pm_file test (not required in BBR 1.0)
* acpi/wmi: update WMI known GUIDs from Linux kernel 5.14-rc1
* fwts-test: sync up with updates in fwts_wmi_known_guids
* acpi: dmar: add a warning when PCI device is not found
* acpi: fadt: clarify comments of FACS and HW-reduced mode
* acpi: fadt: remove hard-coded FADT version
* lib: fwts_acpi_tables: add a function to get FADT versions
* acpi: sbbr: refactor by fwts_get_fadt_version
* bios: smm: fix indentation
[Colin Ian King]
* ACPICA: Update to version 20210730
* ARM64 SMCCC firmware API tests
[Sunny Wang]
* uefirttime: Fix incorrect error messages for invalid time test
-- Ivan Hu Wed, 25 Aug 2021 13:47:49 +0800
fwts (21.07.00-0ubuntu1) impish; urgency=medium
[Alex Hung]
* acpi: acpitables: add advices for table revision tests
* sbbr: acpitables: add new recommended tables
* fwts_acpi_tables: skip FACS warning for reduced hardware
* fwts-test: sync up with DBG2 changes from BSA updates
* auto-packager: mkpackage.sh: remove groovy
[Erico Nunes]
* sbbr: remove SSDT from mandatory list
* sbbr: adjust signature name for MADT
[Grzegorz Bernacki]
* acpi: method: Make method_test_ADR() optional
* acpi: dbg2: Allow 16550 compatible serial port in DBG2
* acpi: method: Make _AEI test optional for SBBR
[Ivan Hu]
* uefirttime: add advice for the timezone 2047 failure (LP: #1933503)
-- Alex Hung Wed, 14 Jul 2021 16:56:22 -0600
fwts (21.06.00-0ubuntu1) impish; urgency=medium
[Alex Hung]
* fwts_test: arg-json-0001: use current klog.json, not a copy
* lib: fwts_acpi_tables: constify read-only function arguments
* fwts_framework: clean up flag macros
* acpi: pptt: constify read-only function arguments
* acpi: wdat: enable printing fields
* fwts-test: sync up with wdat changes
* acpi: wrap long funtion definitions
* acpi/fwts-test: fix typo (depreciated->deprecated)
* sbbr: add checks for mandatory tables
* sbbr: update recommended tables
* acpi: remove SBBR mandatory tests in various tables
* acpi: sbbr: add mcfg and pptt to --sbbr option
* live-image: remove unnecessary -skip-test=s3,s4 argument
* live-image: create a separate menu for arm64/aarch64
* dmicheck: add type 42 to SBBR requirement
* klog.json: check IRQ requests on irqchip
* tpmevlog: add to batch tests
* live-image: add utils tests to "Selected" menu
* live-image: add "TPM tests" to root menu
* auto-packager: mkpackage.sh: remove xenial
[Colin Ian King]
* Makefile.am: remove all traces of $srcdir and $top_srcdir in Makefile.am
(LP: #1929138)
* ACPICA: Update to version 20210604
* fwts-test: sync test logs with latest ACPICA
* snapcraft.yaml: add architectures info to make remote snap builds easier
* Debian: remove spaces at end of lines of changelong
* Debian: remove spaces at end of lines of control file
* debian/copyright: use secure https url specifier
* Debian: add project Homepage field to control file
* Debian: add Rules-Requires-Root field to control file
* Debian: update compat level to 9
* Debian: control: update Standards-Version to 4.1.0
* Add lintian overrides for ldconfig trigger warning
* Debian: move source lintian overrides file to source
* Remove complex disabling of ACPI for non-ACPI targets
* fwts_acpi_tables: memcpy 4 char ACPI table name
[Ivan Hu]
* uefirttime: set test time for the settime and setwakeuptime tests
(LP: #1929509)
-- Alex Hung Sun, 20 Jun 2021 23:42:45 -0600
fwts (21.05.00-0ubuntu1) impish; urgency=medium
[Alex Hung]
* acpi: sdev: update type 1 in ACPI 6.4 (mantis 2111)
* fwts-test: sync up with sdev changes
* acpi: acpitables: add revision tests for PPTT
* acpi: pptt: add cache id according to ACPI 6.4 (mantis 2138)
* acpi: lib: add two helper functions
* acpi: phat: add a test for PHAT table
* fwts-test: sync up with phat test
* oops: add "kernel BUG" to oops test
* fwts-test: sync up with oops tests
* acpi: pmtt: update PMTT to revision 2 (mantis 1975)
* fwts-test: sync up with PMTT rev 2 changes
* acpi: refactor by fwts_acpi_structure_range_check
* acpi: refactor by fwts_acpi_reserved_type_check
* acpi: refactor zero length by fwts_acpi_structure_length_zero_check
* acpi: refactor length check by fwts_acpi_structure_length_check
* fwts-test: sync up with PMTT refactoring changes
* lib: acpi: unify naming style by removing "ACPI"
* acpi: shorten helper function names by removing "check"
* lib: acpi: fix incorrect actual vs. struct length outputs
* acpiinfo: update ACPI 6.4 vs. ACPICA versions
* acpi: dbgp/spmi: check space ids by fwts_acpi_space_id
* fwts-test: sync up with dbgp changes
[Colin Ian King]
* fwts_devicetree: clean up pedantic static analysis warning
* lib: fwts_acpi: fix potential infinite loop in data copy
* acpi: madt: replace continue with empty statement ;
* acpi: s3: ensure duration is initialized
* acpi: method: remove redundant continue statements
* Fix warnings on fdt_getprop calls
* acpi: uniqueid: Fix a couple of memory leaks
* ACPICA: Update to version 20210331
* fwts-test: update to sync with latest ACPICA
* mtrr: remove ioctl header include, it is redundant
* fwts_args: constify fields in struct fwts_option
* fwts_acpica.h: constify type argument in fwts_acpica_get_object_names
* fwts_args.h: constify read-only function arguments
* fwts_acpi_object_eval.h: constify read-only function arguments
* fwts_devicetree.h: clean up #define indents, constify function arg
* fwts_efi_module.h: constify read-only function arguments
* fwts_gpe: re-format prototypes to fit into 80 columns.
* fwts_pm_method.h: constify some function args, don't inline
free_pm_method_vars
* acpi_object_names: move array acpi_object_names into
fwts_method_check_element_type
* fwts_acpi_tables: move array gas_space_id_names into get_space_id_name
* fwts_arch: rename helper __fwts_arch_get_arch to fwts_arch_get_arch_by_name
* fwts-coreboot: remove blank line and fix a comment in a typo
* fwts_efi_module: constify read-only argument in check_module_loaded_no_dev
* fwts_firmware: move feature_names into fwts_firmware_feature_string
* fwts_log_html: move fwts_log_html_ascii_table into
fwts_log_html_convert_ascii
* fwts_summary: move two arrays into function fwts_summary_report
* fwts_tpm: make function args and a variable const
* bios: bios_info: make struct fields const
* bios: mtrr: clean up blank lines, make some arguments const
* bios: mpcheck: make function args const, change scope of array bus_types
* bios: mpcheck: make LEVEL macro an inlined helper function
* bios: mpdump: constify some read-only function arguments and variables
* bios: pciirq: constify read-only function argument
* bios: pnp move pnp_control_field into pnp_test1 and add constifications
* bios: romdump: constify read-only function args, add some white spaces
* bios: s0idle: constify read-only pointer
* cpu: cpufreq: make read-only function args and variables const
* devicetree: dt_sysinfo: make read-only function args and variables const
* devicetree: dt_sysinfo: make variable len a size_t
* hotkey: make read-only function args and variables const
* dmi: dmicheck: make read-only function args and variables const
* tpm: tpmevlogdump: make read-only function args and variables const
* tpm: tpmevlog: make read-only function args and variables const
* doc/fwts.1: fix spelling mistakes in the manual
* data: syntaxcheck.json: fix spelling mistakes
* treewide: fix spelling mistakes in comments, literals and tests
* treewide: Makefile.am: use $srcdir rather than relative path
* Makefile.am: remove references to json or json-c
* fwts_acpi_tables: add newline after declaration and before statement
* lib: fwts_ac_adapter: remove redundant pointer ac_entry
* lib: fwts_coreboot_cbmem.c: clean up static analysis warning
* lib: fwts_json: free objects where necessary to plug heap leaks
[Ivan Hu]
* tpmevlog: print out the TPM event log format type
* uefirttime: only test the unsupported status with RuntimeServicesSupported
* uefirtvariable: only test the unsupported status with
RuntimeServicesSupported
* uefirtmisc: only test the unsupported status with RuntimeServicesSupported
* uefi: remove unused have_rtsupported
* uefirttime: check time services supported before testing (LP: #1913351)
* uefirtmisc: check misc runtime services supported before testing
(LP: #1913351)
* uefirtvariable: check variable runtime services supported before testing
(LP: #1913351)
* uefirtauthvar: check variable runtime services supported before testing
(LP: #1913351)
* uefirtvariable: fix memory leak
* auto-packager:mkpackage.sh: add impish
-- Ivan Hu Thu, 20 May 2021 16:31:29 +0800
fwts (21.03.00-0ubuntu1) hirsute; urgency=medium
[Alex Hung]
* pci: move pci_device struct to fwts_pci.h
* bios: smm: add a test to check SMM lock bits
* bios: interrupt: add a test to check ACPI SCI per second
* acpi: uniqueid: add tests for _HID/_CID vs. _UID
[Colin Ian King]
* acpi: s3,s4: ensure status is initialized
[Heinrich Schuchardt]
* uefi: update header for EFI runtime services
* uefi: fix fwts_uefi_rt_support_status_get()
[Ivan Hu]
* uefi: remove the var_ prefix
* uefi: move fwts_uefi_rt_support_status_get to init function
-- Ivan Hu Mon, 29 Mar 2021 16:55:04 +0800
fwts (21.02.00-0ubuntu1) hirsute; urgency=medium
[Alex Hung]
* acpi: replace objname by get_object_name() in various functions
* acpi: method: remove a redundant passed message
* acpi: move acpi battery common methods to lib
* acpi: method: check fixed package by fwts_method_package_elements_type
* acpi: method: merge and refine _CSD, _PSD and _TSD return tests
* lib: fwts_acpi_object_eval: add returns to long lines
* acpi: method: refine _PSS and _TSS method tests
* acpi: method: merge _PCT & _PTC method tests
* acpi: method: refine tests sub-package elements
* acpi: method: remove redundant count_equal checks in _CPC test
* acpi: method: refine _Sx count checks by fwts_method_package_count_min
* acpi: method: refine _PRW method tests
* acpi: method: add passed messages to _GLK and _DSD tests
* acpi: update ACPI version to 6.4
* acpi/madt: add ACPI 6.4 to madt_revision test
* lib: fwts_acpi_tables: update fwts_get_acpi_version (mantis: 2105)
* acpitables: update ACPI table revsion test to ACPI 6.4
* acpi: nfit: add Spa Location Cookie as in ACPI 6.4 (mantis 1988)
* acpi: srat/hmat: update fields of sub-structures (mantis 1991)
* acpi: battery/method: add _BPC, _BPS and _BPT tests (mantis 1997)
* fwts-test: sync up with _BPC, _BPS, _BPT, NFIT and HMAT tests
* acpi: pcct: add type 5 according to ACPI 6.4 (manti 2010)
* fwts-tests: sync up with pcct updates
* acpi: method: add _CBR test (mantis 2045/2077)
* fwts-test: sync up with _CBR test
* acpi: madt: add Multiprocessor Wakeup support (mantis 2087)
* acpi: battery: add Battery Charge Limiting (mantis 2090)
* acpi: method: update _DDC argument size (mantis 2137)
* acpi: madt: update fadt and madt revisions to ACPI 6.4
* lib: acpi: add a macro to fwts_acpi_reserved_bits_check
* lib: acpi: add a macro to fwts_acpi_reserved_zero_check
* fwts_framework: skip sbbr & ebbr on non-aarch64 systems
* sbbr: disable SBBR tests on non-aarch64 systems
* pci: maxreadreq: Add "safe to ignore ... message"
* version: remove /proc/acpi/info
* Revert "lib: fwts_acpi_tables: add option for dump acpi table from sysfs"
* lib: acpi: load acpi tables from sysfs by default
* fwts-test: sync up with removal of dump-acpi-from-sysfs
[Colin Ian King]
* acpi: method: fix two memory leaks on error return paths
* lib: fwts_acpi_tables: use bit-wise & rather than logical &&
-- Alex Hung Tue, 23 Feb 2021 11:49:17 -0700
fwts (21.01.00-0ubuntu1) hirsute; urgency=medium
[Alex Hung]
* cpu: maxfreq: skip when "model name" is not available
* acpi: enable & disable acpi tables for arm64
* acpi: lib: refactor table _init to a macro function
* fwts-test: sync up with XSDT revision changes
* Update copyright year to 2021
* acpi: check reserved fields by fwts_acpi_reserved_zero_check
* fwts-test: sync up with fwts_acpi_reserved_zero_check
* acpi: fix incorrect parameter to fwts_acpi_reserved_bits_check
* lib: add fwts_acpi_fixed_value_check function to check fixed values
* acpi: refactor checks for fixed values by fwts_acpi_fixed_value_check
* fwts-test: sync up with fwts_acpi_fixed_value_check
* acpi: add fwts_acpi_space_id_check to check GAS adrress space ids
* fwts-test: sync up with fwts_acpi_space_id_check
* acpi: mcfg: enable only if ACPI is available
* cpu: maxfreq: fix build errors on arm32 + gcc10
* lib: add fwts_log_info_simp_int to printing integers
* fwts-test: sync up with fwts_log_info_simp_int changes
* lib: fwts_smbios: merge similar functions
* dmicheck: add a marco to shorten dmi_ranges_uint8_check calls
* acpi: pmtt: fix infinite loops when length is incorrectly zero
* lib: fix compile error for debian + gcc 8.3
* acpi: method: add a function to check number of sub-package elements
* acpi: method: replace _GPE test by fwts_method_package_elements_type
* acpi: method: add a function to check type of sub-package elements
* acpi: shorten fwts_method_package_elements_type args by a macro
[Colin Ian King]
* ACPICA: Update to version 20201217
* ACPICA: Update to version 20210105
* acpi: fix incorrect method of finding string size
* uefi: add a helper to check for address overflow
* tpmevlog: clean up some minor cppcheck style warnings
* tpmevlogdump: clean up some minor cppcheck style warnings
* uefi: clean up a cppcheck style warning
* kernelscan: fix variable shadowing warning
* cpu: cpufreq: initialize online_cpus in for loop
* acpi: add null check on calls to get_space_id_name()
* acpi: fix check of length overflow
[Nhi Pham]
* acpi: lib: correct revision of the fake XSDT table
[Rebecca Cran]
* dmicheck: Type 4 Processor Characteristics bit 9 is no longer reserved
-- Alex Hung Wed, 20 Jan 2021 01:31:17 -0700
fwts (20.12.00-0ubuntu1) hirsute; urgency=medium
[Alex Hung]
* acpi: method: define marcos for D3hot and D3cold
* acpi: fadt: X_GPE0/1_BLK can be zero when not used
* pci: maxreadreq: skip Intel video devices
* acpi: method: replace revision checks by fwts_method_test_revision
* dmicheck: add dmi version check to SMBIOS3
* lib: fwts_acpi_object_eval: add fwts_method_test_revision function
* lib: fix a function name typo in comment
* dmi: dmicheck: update type 4, 9 and 17 according to spec 3.4
[Colin Ian King]
* lib: replace FWTS_ACPI_FADT_PREFERRED_PM_PROFILE with function
* Replace FWTS_ARRAY_LEN with FWTS_ARRAY_SIZE
* sbbr/fadt: Clean up indentation of a few lines
* lib: fwts_firmware: cast 1 to UL to ensure no signed extension, clean up
comments
* src: Clean-up: remove trailing spaces and tabs from lines
* lib: fwts_efi_module: fix flags on device open
* acpi: fan: skip over fan info when the type field is NULL (LP: #1906540)
-- Ivan Hu Thu, 17 Dec 2020 10:14:02 +0800
fwts (20.11.00-0ubuntu1) hirsute; urgency=medium
[Alex Hung]
* acpi/wmi: update WMI known GUIDs from Linux kernel
* acpi/pptt: add a warning for type 2 depreciation
* fwts-test: sync up with pptt type 2 changes
* auto-packager:mkpackage.sh: add hirsute
* klog.json: add ACPI error "Could not resolve symbol ..."
* klog.json: fix grammar mistakes
* klog.json: sync AE_NOT_FOUND severity with a5d747194a9e
* fwts-test: sync up with klog (e09cbe166d4c)
* mtrr: refine memory type above 4GB on AMD platforms
* mtrr: add tests for enable bits in MTRR_DEF_TYPE MSR
* lib: refactor fwts_acpi_is_reduced_hardware
* acpi/ec: check _GPE is not used for hardware-reduced
* cpu/msr: skip MSR MCG_CTL (0x17b) for AMD CPUS
* acpi/method: fix _SxW which can return 4
[Colin Ian King]
* ACPICA: Update to version 20201008
* fwts-test: sync up output with the latest ACPICA 20201008 release
* lib: fwts_json: fix output so that it is machine parsable (LP: #1902249)
* lib: fwts_cmos: remove cli/sti assembler from cmos reading
* ACPICA: Update to version 20201113
* fwts-test: sync up output with the latest ACPICA 20201113
* lib: fwts_json: fix memory leaks on error return paths
* lib: fwts_json: fix output so that it is machine parsable (LP: #1902249)
[Heinrich Schuchardt]
* README: document required kernel configuration
* lib: avoid bus error in fwts_safe_memcpy
* lib: enable /dev/mem access on aarch64
[Ivan Hu]
* lib: fwts_tpm: move some tpm funcitons to lib
* tpmevlog: add tests for snatic check of the Tpm event log
* tpmevlog: add tests for snatic check of the TPM event sha1 format log
* lib: fwts_acpi_table.c: fix build fail
-- Ivan Hu Wed, 25 Nov 2020 17:20:45 +0800
fwts (20.09.00-0ubuntu1) groovy; urgency=medium
[Alex Hung]
* s0idle: add a test to verify lower power s0 idle is enabled
* fwts-test: sync up with new s0idle tests
[Colin Ian King]
* s3: fix segmentation fault when PM_S2IDLE_SLP_S0 is not available
(LP: #1894229)
[Ivan Hu]
* tpmevlogdump: add dumping sha1 log format event log
-- Alex Hung Thu, 17 Sep 2020 12:07:19 -0600
fwts (20.08.00-0ubuntu1) groovy; urgency=medium
[Alex Hung]
* gitignore: update ignore files
* acpi/fadt: checks X_GPE0/1 have byte access width
* s3: check slp_s0_residency_usec for s2idle
[Colin Ian King]
* Debian: update compat level and standards version to match Xenial
* Debian/copyright fix lintian warning
* Debian: add riscv64 lintian overrides
* data: klog.json: fix unintential newline in a literal string
* dmicheck: update Memory Device type 17 size/version check (LP: #1892479)
* Replace json-c library with minimal replacement
* Remove all libjson references
* lib: fwts_json: fix memory leak on error return path
* lib: fwts_log_json: fix memory leak
-- Alex Hung Mon, 24 Aug 2020 21:53:07 -0600
fwts (20.07.00-0ubuntu1) groovy; urgency=medium
[Alex Hung]
* auto-packager: mkpackage.sh: remove eoan
* travis: update dist to focal
* tpm2: table size can be 76 when "LAML" & "LASA" are used
[Colin Ian King]
* replace inaccurate and offsensive language
* acpi: mpst: fix potential infinite loop on 16 bit counter j
* tpmevlogdump: fix leak of fd on error return paths, voidify close returns
* opal: add check for the number of regions
* ACPICA: Update to version 20200717
* Add riscv64 architecture to fwts
* lib: fwts_modprobe: add helper to build module path name
* lib: fwts_battery: add helper to build battery path name
[Ivan Hu]
* tpmevlogdump: add function for dumping tpm event log
* tpmevlogdump: add pcr_index usage
* libfwtsiasl: fix build error on groovy
* lib: fwts_battery: fix build error on armhf
* lib: fwts_buttion: add helper function to build button path
-- Ivan Hu Wed, 29 Jul 2020 15:30:01 +0800
fwts (20.06.01-0ubuntu1) groovy; urgency=medium
[Alex Hung]
* fwts_acpi_object_eval: add a function to check package
* acpi/method: remove duplicated code by a common function
* acpi: refactor method_test_BMD to a common function
* fwts_acpi_object_eval: add a function to check buffer size
* acpi/method/time: replace buffer size checks with function calls
* method: fix typo for ROM test return
* acpi/method: add tests for _MAT method
* fwts-test: sync up with _MAT method tests
* method: replace duplicated code by util function in _PRR test
* acpi/method: remove duplicated code in _PSR test
* acpi/method: add tests for _SLI method
* fwts-test: sync up with _SLI method tests
* acpi/method: fix incorrect error messages for _SUB tests
* acpi/method: check _WPP returns by fwts_method_test_polling_return
* acpi/method: update tested method comments for _ALx and _SLI
* acpi/method: line wrap long statements
* dmicheck: update supported DMI version to 3.3
* fwts_acpi_object_eval: revise fwts_method_test_passed_failed_return
* dmicheck: test feature flags in type 2
* dmicheck: remove duplicated chassis type test in type 3
* dmicheck: update Processor Characteristics test in type 4
* dmicheck: add Supported SRAM test in type 4
* dmicheck: fix typo in type 8
* dmicheck: add CXL Flexbus 1.0 to slot type in type 9
* dmicheck: fix wrong length for reserved fields in type 13
* dmicheck: update tests in type 17
* dmicheck: check fields that has max 0x8000
* dmicheck: check reserved bits in Characteristics in type 43
* dmicheck: refactor code to check mutliple valid ranges
* fwts_acpi_tables: fix fwts_get_acpi_version helper
* acpitables: test ACPI versions vs. ACPI table revisions
* fwts-test: sync up with acpitables tests
* gitignore: update ignore list
* cpu: virt: remove unused marco "CPUID_FAM_REV"
* acpi/nvdimm: add tests for nvdimm devices
* acpi/devices: refactor devices' HIDs and names
* cpu/msr: remove General Performance Counters
* acpi/devices: fix typos in comments
* dmicheck: add type 0's fields used by kernel
* acpitables: add table name outputs to revision tests
* fwts-collect: depreciate ebda collection
[Colin Ian King]
* ACPICA: Update to version 20200528
[Ivan Hu]
* lib: fwts_acpi_tables: add option for dump acpi table from sysfs
* lib: fwts_dump_data: make the dumping data the same format as acpidump
* doc: add new --dump-acpi-from-sysfs option
* fwts-test: sync up with new --dump-acpi-from-sysfs option and acpidump changes
* lib: fwts_acpi_object_eval: fix build error on i386
[You-Sheng Yang]
* gitignore: add git.mk
* debian: update copyright info for git.mk
* gitignore: enable git.mk usage
* gitignore: add results.log
* gitignore: add packaging specific files
-- Ivan Hu Tue, 23 Jun 2020 16:37:55 +0800
fwts (20.05.00-0ubuntu1) groovy; urgency=medium
[Alex Hung]
* dmicheck: update system slot type (type 9)
* dmicheck: update Memory Device type (type 17)
* dmicheck: add Type 44 (Processor Additional Information)
* dmicheck: update Memory Array Location (type 16)
* acpi/method: check _PS3 exists when _PS0 is present
* klog.json: add a "Unable ... IOMMU perf counter" message
* acpi/method: checks _UPP's return as polling
* acpi/method: add tests for _ALx method
* fwts-test: sync up with _ALx control method
* acpi/method: reuse common function for _PCL method
* acpi/method: refactor with fwts_method_test_all_reference_package_return
* acpi/method: check reserved bits from _BBN return
* acpi/method/battery: replace hardcoded array length by FWTS_ARRAY_SIZE
* acpi/method: remove duplicated code for returned integers
* fwts-test: sync up with method tests
* lib: fwts_acpi_object_eval: add a function to check reserved bits
* acpi/method: check integer returns with bit definitions
* acpi/method/battery: check method returning integer 0 & 1
* lib: fwts_acpi_object_eval: add a function to check max returned integers
* acpi/method: check _PSC, _SxD and _SxW for max returned integers
* auto-packager:mkpackage.sh: add groovy
* acpi/method: revise _CPC's error messages
* acpi/time: fix passing method name instead of NULL
[Colin Ian King]
* ACPICA: Update to version 20200326
* lib: fwts_tty: memset a ws struct to keep static analyzers happy
* acpi: battery: pass string length to avoid any string overflows
* opal: mtd_info: memset a mtd_info struct to keep static analyzers happy
* lib: fwts_wakealarm: memset a rtc_tm struct to keep static analyzers happy
* acpi: gpedump: ensure buf is set on default case
* uefi: uefirtvariable: fix a memory leak of variablename
* lib: fwts_acpi_object_eval: avoid any division by zero
* lib: fwts_json.h: define TRUE and FALSE for newer versions of json-c
(LP: #1874224)
* Manual: update names of contributors
* fwts_framework: ensure the string returned from fwts_arch_names is free'd
* ACPICA: Update to version 20200430
* acpi: crsdump: fix portability warning from cppcheck
[Ivan Hu]
* uefi: add helper function for efi test module init
[Paul Menzel]
* README: Use HTTPS URL https://kernel.ubuntu.org
-- Alex Hung Thu, 14 May 2020 12:08:10 -0600
fwts (20.03.00-0ubuntu1) focal; urgency=medium
[Colin Ian King]
* ACPI: crsdump: include crsdump.h in crsdump.h, rename guard macro
* acpi: madt: unconstify data argument
* lib: fwts_summary: fix build warning with gcc-10
* Makfile: add more warning flags to ensure we catch more issues
[Ivan Hu]
* acpi: msdm: fix print typo
* lib: add kernel lockdown check
* uefi: check the kernel lockdown for uefi tests
-- Alex Hung Mon, 23 Mar 2020 12:42:11 -0600
fwts (20.02.00-0ubuntu1) focal; urgency=medium
[Alex Hung]
* fwts_hwinfo: add device check for Type-C
* fwts_hwinfo: fix copy & paste typos
* fwts_hwinfo: add device check for disks
* fwts_hwinfo: add device check for attached monitors
* live-image: replace hard-coded "oem-tests.lst" by a variable
* live-image: add an option for creating oem-tests.lst
[Colin Ian King]
* ACPICA: Update to version 20200214
* fwts-test/syntaxcheck: sync regression log with latest ACPICA output
[Ivan Hu]
* auto-packager: mkpackage.sh: remove disco
-- Ivan Hu Wed, 26 Feb 2020 09:39:35 +0800
fwts (20.01.00-0ubuntu1) focal; urgency=medium
[Alex Hung]
* dmicheck: skip type 17 test if no memory module
[Colin Ian King]
* ACPICA: Update to version 20191213
* Update copyright year to 2020
* ACPICA: Update to version 20200110
* lib: fwts_memorymap: check for memory allocation failure on object entry
* lib: fwts_multiproc: add sanity check to data->size to clean up static analysis warning
* lib: fwts_acpi_tables: remove redundant initialization to oem_tbl_id
* uefirtvariable: indicate that return from setvariable_insertvariable is ignored
* lib: fwts_memorymap: fix resource leak on dir on error return path
-- Ivan Hu Tue, 14 Jan 2020 15:32:20 +0800
fwts (19.12.00-0ubuntu1) focal; urgency=medium
[Colin Ian King]
* efi_runtime: don't build dkms module for kernels 4.8.0 and above
(LP: #1853090)
* debian/tests: only run dkms test when dkms module is run
* debugger: check for memory allocation failure on object Elements
* debugger: fix spelling mistake "adress" -> "address"
* cpu: microcode: remove redundant check on pointer entry
* fwts_wakealarm: remove unused function fwts_wakealarm_exits
[Erik Schmauss]
* iASL: remove unneeded NULL checks
-- Alex Hung Sun, 08 Dec 2019 22:01:38 -0700
fwts (19.11.00-0ubuntu1) focal; urgency=medium
[Alex Hung]
* lib: fwts_log_html: tweak line-height
* auto-packager:mkpackage.sh: add focal
* acpi/s3: fine-tune measure of suspend time
* lib: fwts_log_html: set max-width for line wrap
* live-image: overwrite pre-defined tests by oem-tests.lst
* acpi/s3: fix no suspend & resume time for s2idle
* acpi/fadt: check no-zero failures for X_PM* for 6.1 and before
* sbbr: add uefi tests to ARM's SBBR
[Colin Ian King]
* ACPICA: Update to version 20191018
* iASL: fix memory leak of LocalityBuffer on error return path
* lib: fwts_framework: use strlcpy instead of strncpy, fixes gcc-10 build
errors
[Ivan Hu]
* ebbr: add EBBR option for ARM embedded systems
* fwts-tests: sync up with --ebbr option
* lib: move the global variable guid to lib header
* lib: add function for check the RuntimeServicesSupported variable
* uefirttime: add unsupported checking with RuntimeServicesSupported variable
* uefirtvariable: add unsupported checking with RuntimeServicesSupported
variable
* uefirtmisc: add unsupported checking with RuntimeServicesSupported variable
* doc: add --ebbr option for man page
[Robert Moore]
* iASL: Use ACPI_COMPARE_NAMESEG instead of strcmp
-- Alex Hung Wed, 13 Nov 2019 22:06:27 -0700
fwts (19.09.00-0ubuntu1) eoan; urgency=medium
[Alex Hung]
* acpi/boot: skip ACPI BOOT test on UEFI systems.
* acpi: s3: fix typo from 6b94bb6a4b13e
[Colin Ian King]
* opal: add more bounds checking and zero pstates array
[Ivan Hu]
* fwtstest: boot-0001: sync with boot table check on efi firmware
-- Ivan Hu Thu, 26 Sep 2019 21:53:07 +0800
fwts (19.08.00-0ubuntu1) eoan; urgency=medium
[Alex Hung]
* auto-packager: mkpackage.sh: remove cosmic
[Colin Ian King]
* efi_runtime: enable KBUILD_MODPOST_WARN=y to workaround build failures
* ACPICA: Update to version 20190816
* fwtstest: syntaxcheck-0001: update to keep in sync with ACPICA features
[Naresh Bhat]
* README: Add package dependency notes for ARM64
-- Ivan Hu Tue, 27 Aug 2019 12:54:13 +0800
fwts (19.07.00-0ubuntu1) eoan; urgency=medium
[Alex Hung]
* cpu/msr: skip read-only MCG_CAP MSR
* cpu/msr: add document info the cpu_msr_map table
* cpu/msr: add 3 more CPU IDs for IA32_silvermont_MSRs
* cpu/msr: remove EBL_CR_POWERON (2ah) from IA32_MSRs
* cpu/msr: check SGX & LMCE in IA32_FEATURE_CONTROL (3ah)
* cpu/msr: move TSC_ADJUST (3bh) to IA32_MSRs
* cpu/msr: add SMM_MONITOR_CTL (9bh) to IA32_MSRs
* cpu/msr: update MTRRCAP MSR register
* cpu/msr: update PAT MSR PA0[2:0]
* cpu/msr: add MC*_CTL2 MSR registers
* cpu/msr: update fields for MTRR_DEF_TYPE MSR
* cpu/msr: add VMX_VMFUNC MSR register
* cpu/msr: remove same MSR registers in IA32_MSRs
* cpu/msr: add MISC_ENABLE MSR to IA32_atom_MSRs
* cpu/msr: remove MSR for Error-Reporting Register Banks
* cpu/msr: add MSR_PMG_IO_CAPTURE_BASE to IA32_silvermont_MSRs
* cpu/msr: add MSR_FEATURE_CONFIG to IA32_silvermont_MSRs
* cpu/msr: add MSR_TEMPERATURE_TARGET to IA32_silvermont_MSRs
* cpu/msr: add MSR_BBL_CR_CTL3 to IA32_silvermont_MSRs
* cpu/msr: update THERM_INTERRUPT MSR masks
* cpu/msr: update MISC_ENABLE to IA32_silvermont_MSRs
[Colin Ian King]
* Move libfwtsacpica and libfwtsiasl into their own directories
* Makefiles: hard code paths to workaround autotool bug
* ACPICA: Update to version 20190703
* fwts-test: arg-help-0001: reset tty width to original setting
* lib: fwts_framework: fix memory leak on fw->fdt
* fwts: opal: fix memory leak of 'buf'.
* acpi: method: skip over bad method_handle and failed message type
* acpi: method: add null pointer sanity checks on resource
* acpi: method: add more null pointer sanity checks on resource
* acpi: s3/s4: initialize error to zero
* lib: fwts_pipeio: zero pollfds to squish a static analysis warning
[Erico Nunes]
* dsddump: fix segfault on type ACPI_TYPE_LOCAL_REFERENCE
-- Alex Hung Thu, 25 Jul 2019 10:48:59 -0600
fwts (19.06.00-0ubuntu1) eoan; urgency=medium
[Alex Hung]
* acpi/fadt: update latest FADT revision to 6.3
* apic: apicedge: remove irq < 16 is edge only
* mtrr: set severity to critical for incorrect attributes
[Colin Ian King]
* acpi: s3: fix two memory leaks on fwts_get() calls and minor clean-ups
* fwts_summary: check for list creation failure
* fwts_modprobe: fix potential null pointer dereference
* cpu: cpufreq: avoid division by zero by initializing cpu_top_perf to 1
* fwts_args: check for null text pointer
* fwts_log_plaintext: check for null pointer
* acpi: s3: check for null pointer
* lib: fwts_cpu: only assign a string if it has not yet been assigned
* acpi: syntaxcheck: nullify pointers to clean up static analysis warnings
* lib: fwts_log_scan: ensure accumulated error count is initialized
* lib: fwts_acpi_tables: remove redundant initialization of ret
* acpi: tcpa: remove redundant initialization of boolean passed
* acpi: dscdump: reduce scope of loop counter i
* acpi: method: reduce scope of boolean flag matching_levels
* lib: fwts_formatting: use simpler style for assigments
* uefi: uefirttime: make status static, cleans up cppcheck warnings
[Erico Nunes]
* dsddump: fix Package loop condition
[Ivan Hu]
* uefitime: add checking the EFI_UNSUPPORTED return code
* uefirtvariable: add checking the EFI_UNSUPPORTED return code
* uefirtmisc: add checking the EFI_UNSUPPORTED return code
-- Alex Hung Wed, 12 Jun 2019 10:24:53 -0700
fwts (19.05.00-0ubuntu1) eoan; urgency=medium
[Alex Hung]
* auto-packager: mkpackage.sh: remove trusty
* dmicheck: update supported SMBIOS version
* acpi/method: check full and battery power if acpi_video0 exists
* dmicheck: checks type length vs. SMBIOS versions
* dmicheck: add Type 1's Field 25 & 26 as used by kernel
* apic: apicedge: fix typo in error messages
* cpufreq: change from abort to skip when cpufreq cannot run
* kernel:version: change ACPI version to ACPICA version
* pci:crs: fix an indentation error
* acpi: s3: check sleep type for output messages
[Colin Ian King]
* snapcraft: update to core18
* ACPICA: Update to version 20190329
* Add libbsd to travis build file
* ACPICA: Update to version 20190405
* acpica: re-work fwts / iasl interface to work with latest ACPICA
* fwts-test: refresh syntaxcheck test output
* ACPICA: Update to version 20190509
* fwts-test/syntaxcheck: refresh syntaxcheck test output
* fwts_acpica: don't add in RSDP or null table entries to XSDT or RSDT (LP: #1829167)
[Ivan Hu]
* auto-packager:mkpackage.sh: add eoan
[fanjinke]
* Add support for Hygon Dhyana CPU
-- Ivan Hu Thu, 16 May 2019 16:27:44 +0800
fwts (19.03.00-0ubuntu1) disco; urgency=medium
[Alex Hung]
* acpi: madt: Add support for ACPI 6.3
* fwts-test: sync up with SMMU model updates
* lib: fwts_acpi_tables: add a new function to check reserved values
* lib: fwts_acpi_tables: rename fwts_acpi_subtable_length_check
* srat: replace structure length checks by fwts_acpi_structure_length_check
* acpi: refactor all table length checks to fwts_acpi_table_length_check
* README: update installing fwts by "sudo make install"
[Ard Biesheuvel]
* acpi/fadt: reject 5.0 tables with ARM specific attributes set
* acpi/iort: permit SMMU model values of 4 and 5
* acpi/iort: fix error in SMMU node length check
[Colin Ian King]
* ACPICA: fix IASL building issues with gcc-9 and --as-needed linker option
* fwts-test: sync up output to new IASL output defaults
-- Ivan Hu Wed, 20 Mar 2019 15:32:10 +0800
fwts (19.02.00-0ubuntu1) disco; urgency=medium
[Alex Hung]
* acpi: fix a typo in comment
* klog.json: add an "IOAPIC .. not in IVRS" message
* utilities: kernelscan: add AMD iommu for IVRS errors
* acpi/method: check levels on full power and battery power
* acpi: add address space types according to mantis 1965 (ACPI 6.2b)
* acpi/pptt: check flags by revision (mantis 1870 for ACPI 6.2b)
* acpi: pdtt: update flags defintion according to mantis 1867 (ACPI 6.3)
* fwts-test: update regression test for PDTT
* acpi/nfit: update memory mapping attributes (mantis 1873 for ACPI 6.3)
* acpi/hmat: update for hmat revision 2 (mantis 1914 for ACPI 6.3)
* fwts-test: update test for HMAT revision 2
* acpi/madt: remove two reserved bytes (mantis 1934 for ACPI 6.3)
* acpi/madt: update for Local APIC Flags (mantis 1948 for ACPI 6.3)
* acpi/hmat: update System Locality Latency (mantis 1959 for ACPI 6.3)
* fwts-test: update test for HMAT changes
* acpi/method: add tests for NVDIMM control methods for ACPI 6.3
* fwts-test: update method test for NVDIMM methods
* acpiinfo: update ACPI and ACPICA versions
* acpi/srat: add test for Generic Initiator (mantis 1904 for ACPI 6.3)
[Colin Ian King]
* efi_runtime: fix access_ok build issues on 5.0 kernels
* fwts: fix up a handful of spelling mistakes
* ACPICA: Update to version 20190215
* fwts-test: update test output to be in sync with ACPICA 20190215
* Makefiles: workaround address-of-packed-member warnings with gcc-9
* acpica: utdecode: fix missing comma in array declaration AcpiGbl_GenericNotify
-- Alex Hung Tue, 19 Feb 2019 10:32:21 +0100
fwts (19.01.00-0ubuntu1) disco; urgency=medium
[Alex Hung]
* mtrr: check memory type above 4GB on AMD platforms
* dmi: dmicheck: remove redundant new lines
* dsddump: add utility to dump _DSDD (Device Specific Data)
* lib: fwts_ac_adapter: fix readdir(ac_power_dir) failing
* lib: fwts_ac_adapter: fix failing to find AC directory
[Colin Ian King]
* Update copyright year to 2019
* ACPICA: Update to version 20190108
* mtrr: fix incorrect mask on amd_sys_conf
* sbbr: fadt: clean up major/minor version checking
* acpi/madt: clean up indentation issue, remove tab
[Ivan Hu]
* lib: fw_pm_method: move the sleep t_start time out of logind_on_signal (LP: #1809096)
-- Alex Hung Tue, 15 Jan 2019 19:57:23 -0800
fwts (18.12.00-0ubuntu1) disco; urgency=medium
[Alex Hung]
* mtrr: allow uncached type for PCI prefetchable memory
[Colin Ian King]
* ACPICA: Update to version 20181213
* fwts-test: disassemble-0001: sync output with updated ACPICA
[Leif Lindholm]
* lib: disable /dev/mem access on aarch64
* dmicheck: drop unaligned memcpy
* lib: drop fwts_memcpy_unaligned
* dmicheck: use dmi_load_file in preference to fwts_mmap
-- Ivan Hu Wed, 19 Dec 2018 16:20:41 +0800
fwts (18.11.00-0ubuntu1) disco; urgency=medium
[Alex Hung]
* acpi: button: check fixed hardware & control method power buttons
[Colin Ian King]
* kernelscan: add -k option to specify klog json filename
* ACPICA: Update to version 20181003
* fwts-test: sync with ACPICA update to 20181003
* README: update package dependency notes for RHEL
* acpica: fix linker issues when building with ACPI disabled
* ACPICA: Update to version 20181031
* src/lib: add module probing helper functions
* lib: fwts_efi_module: use the new module loading helper functions
* lib/fwts_cpu: use new use the new module loading helper functions
* snapcraft: update confinement and plugs
* lib: fwts_coreboot_cbmem: don't use void * pointer arithmetic
* lib: fwts_coreboot_cbmem: shift UL values rather than signed int values
* lib: fwts_log: shift UL values rather than signed int values
* acpi: syntaxcheck: rename syntaxcheck_table to syntaxcheck_single_table
[Deb McLemore]
* olog:olog.json: Update OPAL skiboot errors to check on olog scan
[Ivan Hu]
* dmicheck: fix Maximum Capacity checking range
* ACPICA: Update to version 20180927
* fwts-test: sync with ACPICA update to 20180927
* mcfg: fix MMIO config space checking
* madt: fix the Local APIC NMI processor UID checking
* auto-packager: mkpackage.sh: add disco
-- Ivan Hu Wed, 14 Nov 2018 14:53:29 +0800
fwts (18.09.00-0ubuntu1) cosmic; urgency=medium
[Alex Hung]
* dmicheck: fix incorrect boundary checks for various types
* dmicheck: checks (Extended) Maximum Capacity for type 16
[Anthony Wong]
* snapcraft: add libbsd-dev to build-packages
[Colin Ian King]
* acpi: acpiinfo: use stdint print format specifiers for uint8_t values
* acpi: nfit: minor code cleanup changes
* acpi: acpitables: use PRIu32 format specifier for a uint32_t type
* acpi: apicinstance: use correct format specifiers
* acpi: checksum: print size_t values using %zd specifier
* acpi: cstates: add whitespacing, use %d for int format specifiers
* acpi: fadt: use inttype.h print format size specifiers
* acpi/dmar: use PRIu8 specifier for uint8_t type
* acpi/madt: use inttype.h print format size specifiers
* acpi/method: use inttype.h print format size specifiers
* sbbr/fadt: use inttype.h print format size specifiers
* fwts-test: apicinstance: fix up incorrect hex values
[Ge Song]
* DMI: Fix the way to load SMBIOS 3.x tables via sysfs
[Ivan Hu]
* efi_runtime: re-enable the resetsystem runtime interface
-- Alex Hung Wed, 12 Sep 2018 11:08:41 -0700
fwts (18.08.00-0ubuntu1) cosmic; urgency=medium
[Alex Hung]
* lib: dmicheck: replace defines by enum type
* acpitables: remove redundant "OEM" from Creator ID field
* acpitables: remove unnecessary new line character
* src: remove unnecessary new line characters and trailing spaces
* fwts-test: sync up with new line char and trailing space changes
* acpi: wakealarm: remove failure messages for non-x86 arch
* acpiinfo: update acpi version supported by kernel
* ac_adapter: skip tests when no power supply exists
* README: add a new required package since commit 3f151922fc13
[Colin Ian King]
* lib: fwts: Add abstracted pragma macros to push/pop state and disable
warnings
* fwts_uefi.h: replace _Pragmas with abstracted pragma macros
* Wrap ACPI_ROOT_OBJECT with PRAGMA_NULL_PTR_MATH for clang builds
* lib/src/fwts_acpi_tables: disable clang warning
* lib: fwts_coreboot_cbmem.c: initialize all fields in array of structs
* uefi: uefirtauthvar: don't logically or a constant operand.
* dmi: dmicheck: remove redundant array fwts_dmi_chassis_type
* ACPICA: Update to version 20180810
* Add MIN, MAX and ARRAY_SIZE macros to fwts.h
* fwts_coreboot_cbmem: fwts coding style changes, use off_t for addresses
* lib: fwts_cpu: make found a boolean
* lib: fwts_cpu: minor fwts coding style changes
* lib: fwts_deviceytree: make a function argument const and a style change
* lib: fwts_firmware: remove some empty lines
* lib: fwts_iasl: remove a whitespace
* lib: fwts_interactive: add sanity check on fileno, fix typo, tidy code
* lib: fwts_ipmi: make fwts_ipmi_msg_id static, make some code style changes
* lib: fwts_keymap: some minor fwts coding style changes
* lib: fwts_list: some minor fwts coding style changes
* lib: fwts_multiproc: remove whitespace
* lib: fwts_olog: minor code style change on FILE pointers
* lib: fwts_release: make some helper functions static
* lib: fwts_scan_efi_systab: add empty line to match fwts coding style
* fwts_coreboot_cbmem: fix off-by-one error on last char of buffer
* lib: fwts_coreboot_cbmem: fix cbmem_console_addr check
* lib: fwts_clog.c: replace space identations with tab
* lib/src/fwts_acpi_tables: remove shadowed pointer ptr
* lib: fwts_framework: ensure src pointer is const
* fwts_framework: no need to pass tests_to_skip as it is locally scoped
* lib: fwts_framework: argument 'arg' should not be const
* lib: fwts_log: remove const arg in fwts_log_set_field_filter
* lib: fwts_summary: remove redundant redefinition of fwts_summary_deinit
* lib: fwts_safe_mem: add in missing constifications
* lib: fwts_log_scan: rename function argument to avoid name shadowing
* lib: fwts_stringextras: fix some missing constifictions
* lib: fwts_text_list: fix up some const casting issues
* lib: fwts_json.h: fix casting warning, add missing const
* lib: fwts_coreboot_cbmen: fix missing const in cast
* sbbr: acpitables: make function sbbr_search_acpi_tables static
* acpi: crsdump: add in missing pointer constifications
* acpi: ecdt: fix some missing pointer constifications
* acpi: fadt: add in missing const to fix build warnings
* sbbr: fadt: add in missing const to fix build warnings
* acpi: method: make function method_test_CRS_return static
* acpi: nfit: rename table to nfit_table to avoid name shadowing
* acpi: wmi: add in missing const to fix build warnings
* acpi: stao: add in missing const to fix build warnings
* bios: mtrr make function multi_types_check static
* opal: reserv_mem: add in missing const to fix build warnings
* hotkey: rename list 'hotkeys' to avoid name shadowing
* uefi: uefirtauthvar: rename argument attibutes to var_attributes
* uefi: uefirtvariable: rename argument attibutes to var_attributes
* coreboot: clog: rename list 'clog' to avoid name shadowing
* lib: fwts_acpi_tables: unconstify data and don't strcpy ACPI table ids
* Fix some strncpy/strcat gcc 8.2 warnings by using libbsd strlcpy/strlcat
* snapcraft: add missing stage packages
* snapcraft: remove libjson-c3 stage package, it is not required
[Ivan Hu]
* uefi: clean and check status with magic value ~0ULL (LP: #1784365)
* uefi: uefivarinfo: add to UNSAFE category
* acpi: gtdt: add checking the valid base physical address
-- Alex Hung Wed, 22 Aug 2018 00:33:21 -0700
fwts (18.07.00-0ubuntu1) cosmic; urgency=medium
[Alex Hung]
* dmicheck: update Processor Upgrade field in Type 4
* dmicheck: update connection and port types in Type 8
* dmicheck: update Usage and Characteristics 2 fields in Type 9
* dmicheck: update memory type and add nvdimm fields for Type 17
* fwts-tests: sync up with the new --clog option
* klog.json: lower severity of temperature threshold
* auto-packager: mkpackage.sh: remove artful
* doc: adding --clog options to man page
* fwts-test: sync up with klog cpu threshold changes
* fwts-test: sync up nfit fix for NFITBadLineOffsetAlignment
* lib: fix array size too small to fit the output
* lib: silence gcc 8 complains
* lib: fix gcc 8 warning messages
[Colin Ian King]
* Add travis yaml file to automate builds on github
* ACPICA: Update to version 20180629
* test: syntaxcheck: sync output with latest ACPICA output
[Jeffrey Hugo]
* acpi: pptt: Fix PPTTBadSubtableLength error message
[Marcello Sylvester Bauer]
* fwts_log_scan: add lib/src/fwts_log_scan.c
* fwts_log_scan: move fwts_klog_free
* fwts_log_scan: move fwts_log_find_changes
* fwts_log_scan: move fwts_log_remove_timestamp
* fwts_log_scan: move fwts_log_scan
* fwts_log_scan: move fwts_log_unique_label
* fwts_log_scan: move fwts_log_scan_patterns
* fwts_log_scan: move fwts_log_compare_mode_str_to_val
* fwts_log_scan: move fwts_json_str
* fwts_log_scan: move fwts_log_check
* fwts_log_scan: move fwts_log_regex_find
* fwts_clog: add fwts_clog_free
* fwts_clog: add fwts_clog_read
* fwts_clog: add fwts_clog_scan
* fwts_clog: add fwts_clog_scan_patterns
* fwts_clog: add fwts_clog_firmware_check
* coreboot/clog/clog.c: add clog test
* fwts_Framework: add clog argument
* fwts_clog.c: add fwts_clog_available
* clog.json: add coreboot messages to clog database
* fwts_coreboot.c: add cbmem console parser
[Robert Elliott]
* cpufreq: exit if parsing the cpufreq directory fails
* cpufreq: fix fwts_set paths
* nfit: improve length handling for ACPI NFIT structures
* nfit: remove broken NFITBadLineOffsetAlignment check
* README: add the fwts-devel mailing list address and web page
* nfit: scan SMBIOS Management Information structure
-- Ivan Hu Mon, 30 Jul 2018 16:53:48 +0800
fwts (18.06.02-0ubuntu1) cosmic; urgency=medium
[Colin Ian King]
* Revert "efi_runtime: build dkms for kernel that does not have efi_test"
(LP: #1777855)
-- Ivan Hu Thu, 21 Jun 2018 16:53:26 +0800
fwts (18.06.01-0ubuntu1) cosmic; urgency=medium
[Colin Ian King]
* snapcraft.yaml: fix name of staging package (LP: #1777662)
-- Ivan Hu Thu, 21 Jun 2018 11:34:10 +0800
fwts (18.06.00-0ubuntu1) cosmic; urgency=medium
[Alex Hung]
* acpi: fadt: allow first reserved field to be 1
* efi_runtime: build dkms for kernel that does not have efi_test
[Colin Ian King]
* update_version.sh: also update version in snapcraft.yaml
* snapcraft.yaml: add in missing stage packages
* ACPICA: Update to version 20180531
* lib: fwts_set: fix API for fwts_set, add fwts_set_int
* lib: add small helpers top get/set /sys/power/pm_debug_messages
* acpi: s3: force enable /sys/power/pm_debug_messages (LP: #1772563)
* acpi: s4: also check for file based swap files
* acpi: s4: force enable /sys/power/pm_debug_messages (LP: #1772563)
* acpi: s3power: force enable /sys/power/pm_debug_messages (LP: #1772563)
* acpica: fix linking issues when building non ACPI builds
[Ivan Hu]
* acpi: hpet: fix getting invalid vendor ID and clock period
[Mathieu Trudel-Lapierre]
* fwts_uefi: Fixing tiny typos in the uefi driver
[Stan Hung]
* mtrr: fix incorrect type detection
-- Ivan Hu Tue, 19 Jun 2018 15:58:07 +0800
fwts (18.05.00-0ubuntu1) cosmic; urgency=medium
[Alex Hung]
* cpu: msr: do not check SYSENTER_* MSRs
* cpu: msr: do not check SYSCALL MSRs
* fan: add cooling_device# to error messages
* fan: cur_state == -1 is valid for intel_powerclamp
* doc: adding acpitests, uefitests and sbbr options to man page
* acpi: syntaxcheck: change it from batch to batch-experimental
* fwts_framework: add an "ifv" option for Independent Firmware Vendor
* dmicheck: skip checks of DMI default values for IFV
* fwts-tests: sync up with the new --ifv option
* dmi: dmicheck: fix missing spaces in failures of type 9
* acpi: method: fix a copy-n-paste error in _SUB test
* acpi: method: add test for _CLS control method
* fwts-test: sync up with _CLS control method
* lib: create helper functions for device identification objects
* acpi: devices: add common objects
* fwts-frontend-text: add a recommended option for IFV (IBV)
* fwts-frontend-text: add an option for ARM SBBR
* auto-packager: mkpackage.sh: add cosmic
[Colin Ian King]
* acpi: fan: fix potential null pointer dereference issue
* ACPICA: Update to version 20180427
* fwts-test: syntaxcheck: sync up with latest ACPICA changes
* ACPICA: Update to version 20180508
[Deb McLemore]
* README: Add libpci-dev dependency ppc64el
* lib: fwts_pipeio: fix regression from memory leak fix
* devicetree: dt_base: Make dtc warnings not failures
* opal: cpu_info: Designate property optional
* opal: mem_info: Designate property optional
* opal: prd_info: Add resilience to service check
[Ivan Hu]
* efi_runtime: fix gcc warning for efi_runtime_reset_system
[Rameshwar Prasad Sahu]
* facs: Add a check for empty BIOS memory map info list
[Shilpasri G Bhat]
* opal: power_mgt: Fixes related to pstate parsing
* cpufreq: Add support to read boost frequencies
* cpufreq: Dont free a NULL pointer
-- Alex Hung Tue, 15 May 2018 08:01:13 -0700
fwts (18.03.00-0ubuntu1) bionic; urgency=medium
[Alex Hung]
* klog.json: change severity for AE_ALREADY_EXISTS errors
* fwts-test: sync up with AE_ALREADY_EXISTS errors
* dmi: dmicheck: add chassis type for Type 3
[Colin Ian King]
* ACPICA: Update to version 20180313
[Deb McLemore]
* olog:olog.json: Update OPAL skiboot errors to check on olog scan
[Ivan Hu]
* uefirtauthvar: remove test with EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
-- Alex Hung Wed, 21 Mar 2018 00:08:40 -0700
fwts (18.02.00-0ubuntu1) bionic; urgency=medium
[Alex Hung]
* acpi: acpiinfo: add acpi 6 to acpiinfo test
* acpi: method: check one element in _TSD only for acpi 6.2+
* acpi: spcr: update interface types based on DBG2
* fwts-test: sync up with revision update in 9da9d5a5
* acpi: method: allow _WAK to return an integer
[Colin Ian King]
* mkpackage.README: change urgency level to medium
* lib: fwts_log: remove redundant initialization of ptr1
* acpi: wmi: remove redundant initialization of 'info'
* lib: fwts_log: remove redundant initialization of 'field'
* lib: fwts_pipeio: remove variable status
* lib: fwts_acpi_tables: remove redundant initialization to 'result'
* ACPICA: Update to version 20180209
* fwts-test/syntaxcheck-0001: sync up output with current ACPICA
[Deb McLemore]
* README: Add dependencies per Platform
[Ivan Hu]
* auto-packager: mkpackage.sh: remove zesty
* uefirtvariable: modify both authenticated attributes setting test
* uefirtvariable: add test for EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
attribute
[Jeffrey Hugo]
* acpi: fadt: Fix FACS checking
* acpi: iort: Update revision checking
-- Ivan Hu Tue, 27 Feb 2018 10:53:06 +0800
fwts (18.01.00-0ubuntu1) bionic; urgency=low
[Alex Hung]
* acpi: LPIT: check for monotonically increasing UID
* fwts-test: sync up with changes in lpit test
[Colin Ian King]
* Treewide: update copyright year to 2018
* fwts-test: arg-help: sync up with copyright year changes
* ACPICA: Update to version 20180105
* acpica: fix linking issues when building non ACPI builds
* lib: fwts-battery: use PRIu32 format specifier, fixes cppcheck warning
* acpi: acpidump: move declaration to before statements, add blank lines
* lib: fwts_safe_mem: don't perform void * pointer arithmetic, fix 32 bit end
* lib: fwts_alloc: move 'pos' to a deeper scope, minor style change
* opal: reserve_mem: remove redundant initialization of pointer p
* opal: reserve_mem: remove unused variable 'i' and move scope of variable
'value'
* sbbr: rsdp: remove redundant initialization of boolean 'signature_pass'
* acpi: madt: move scope of boolean 'passed'
* acpi: pptt: move scope of index variable 'i'.
* acpi: rasf: move scope of index variable 'i'
* sbbr: acpitables: clean up code, move scope of some variables
* acpi: erst: cast size to uint64_t to clean up static analysis warning
* uefi: uefidump: clean up some static analysis warnings
[Ivan Hu]
* securebootcert: add checking read-only for the AuditMode and DeployedMode
* securebootcert: move to UNSAFE category
-- Ivan Hu Thu, 25 Jan 2018 13:44:38 +0800
fwts (17.12.00-0ubuntu1) bionic; urgency=low
[Alex Hung]
* acpi: tpm2: update spec url
[Colin Ian King]
* trival: make read only const strings static
* ACPICA: Update to version 20171215
[Jeffrey Hugo]
* acpi: bert: remove confusing warning
[Ricardo Neri]
* acpi: madt: only inspect Local APIC/x2APIC/SAPIC tables if enabled
[Sakar Arora]
* dmicheck: sbbr: make some SMBIOS structs optional
* acpi: dbg2: sbbr: allow PL011 UART as a valid subtype
* acpi: spcr: sbbr: IOAPIC is valid interrupt type
* acpi: sbbr: relax a few test pass conditions
-- Alex Hung Wed, 20 Dec 2017 16:23:05 +0800
fwts (17.11.00-0ubuntu1) bionic; urgency=low
[Alex Hung]
* lib: move and rename helper functions from method.c
* acpi: devices: add a new test for ACPI AC adapter device
* acpi: devices: add a new test for ACPI battery device
* acpi: devices: add a new test for smart battery device
* lib: move _CRS helper functions from method.c
* acpi: devices: add a new test for acpi ec device
* acpi: devices: print device name in acpi_ac test
* acpi: devices: deiniit acpica when tests are skipped
* acpi: devices: add new tests for power and sleep button devices
* acpi: sync up _BIX test in method to acpi_battery tests
* acpi: fadt: ACPI 6.2 explicitly states 64-bit supersedes 32-bit
* acpi: madt: check GICD's system vector according to mantis 1819 (ACPI
6.2a)
* acp: nfit: add platform capability according to manit 1831 (ACPI 6.2a)
* lib: print reference names in fwts_acpi_object_dump
* lib: raise severity of acpi method failures
* lib: add new large resource data type for _CRS methods
* lib: fix offset error for GPIO connection descriptor
* acpi: sdev: add ACPI SDEV test (mantis 1632)
* fwts-test: Add regression test for SDEV
* acpi: dppt: add ACPI PDTT test (mantis 1576)
* fwts-test: Add regression test for PDTT
* acpi: method: add a missing space in _TSS tests
* acpi: devices: add new tests for lid device
* acpi: devices: add new tests for ambient light sensor device
* acpi: devices: add new tests for time and alarm device
* acpi: devices: add new tests for wireless power calibratio device
* dmi: dmicheck: fix incorrect use of lock bit in chassis type
* src: re-order source list alphabetically
* acpi: update checks of _BIX return package
* acpi: add tests for _SRT control method
* fwts-test: sync up with _SRT control method
* auto-packager: mkpackage.sh: add bionic
* fwts-test: sync up with rsdt updates
[Anthony Wong]
* fwts: add bash command-line completion
[Chris Goldsworthy]
* Remove length test for ACPI 1.0 RSDPs, fix checks against revision field
* Add ACPI 1.0 RSDP test to make sure RSDT field isn't null
[Colin Ian King]
* ACPICA: Update to version 20170929
* fwts-test: sync syntax check with latest ACPICA output
* lib: fwts_safe_mem: fix buffer end calculation
* lib: fwts_acpi_object_eval: fix build issues with older toolchains
* lib: fwts_battery: fix build issues with older toolchains
* lib: fwts_args: ensure a null short_option is never passed to getopt_long
* uefi: uefidump: add some guarding on allocation size
* uefi: uefidump: add some guarding on loop iteration
* dmi: dmicheck: zero buffer buf, cleans up a static analysis warning
* ACPICA: Update to version 20171110
* doc: manual: add Chris Goldsworthy to the contributors section
[Ivan Hu]
* uefi: uefidump: add dumping for BluetoothLE device path
* uefi: uefidump: add dumping for DNS device path
* uefi: uefibootpath: add test for BluetoothLE device path
* uefi: uefibootpath: add test for DNS device path
* hpet: fix the false alarm of hpet configuration test
* uefi: uefirttime: fix the time zone to exact value
* uefi: uefirtauthvar: update the test auth data (LP: #1724455)
-- Alex Hung Fri, 17 Nov 2017 14:49:11 +0800
fwts (17.09.00-0ubuntu1) artful; urgency=low
* [Alex Hung]
* lib: fwts_acpi_tables: add a new function to check Reserved field
* acpi: replace checks for Reserved by fwts_acpi_reserved_zero_check
* fwts-test: sync up with new fwts_acpi_reserved_zero_check
* lib: replace spaces by tabs
* lib: fwts_acpi_tables: add a new function to check reserved bits
* acpi: replace checks for Flags by fwts_acpi_reserved_bits_check
* fwts-test: sync up with new fwts_acpi_reserved_bits_check
* acpi: replace checks for reserved bits by fwts_acpi_reserved_bits_check
* fwts-test: sync up with new fwts_acpi_reserved_bits_check
* acpi: spcr: check reserved values for parity and stop fields
[Colin Ian King]
* debian: copyright: fix spelling mistake: acpcia -> acpica
* acpica: fix spelling mistake: acpcia -> acpica
* ACPICA: Update to version 20170831
* iASL: Fix incorrect memory allocation
* lib: constify a couple of arrays
* src/acpi/brightness: constify sys_path and return of brightness_get_path
* acpi: method: constify arrays
* acpica: constify array fwts_default_space_id_list
* cmos: cmosdump: constify several char * arrays
* bios: bios_info: constify array bios_info
* bios: multiproc: constify array bus_types
* dmi: dmicheck: constify array dmi_used_by_kernel_table
* uefi: securebootcert: make array securebootcert_info_table const
* uefi: uefidump: make array uefidump_info_table const
* uefi: uefirtmisc: make arrays flag static const
* uefi: uefirttime: constify static array dayofmonth
* lib: fwts_firmware: make enums into a defined type
* lib: fwts_framework: make several int fields into uint32_t
* lib: fwts_framework: re-order and clean up fwts_framework fields
* lib: fwts_log: make magic uint64_t to improve corruption checking
* fwts_log: make line_number to a uint32_t type
* acpica: constify bool parameter val in fwts_acpi_region_handler_called_set
* lib: fwts_acpi_table: make indexes which and index uint32_t
* lib: fwts-battery: make battery type a typedef'd enum
* lib: fwts_battery: clean up battery interfaces
* lib: fwts_button: make button counts and button number uint32_t
* lib: fwts_checksum: object sizes should be size_t rather than int
* lib: fwts_devicetree: constify a few function arguments
* lib: fwts_formatting: make width parameter size_t
* lib: fwts_wakealarm: make wakealarm times uint32_t
* lib: fwts_battery: include inttypes.h for PRIu32 definition
* lib: fwts_log_plaintext: include inttypes.h for PRIu32 definition
* lib: fwts_log_xml: include inttypes.h for PRIu32 definition
* acpi: battery: include stdint.h and inttypes.h
* acpi: wakealarm: include stdint.h and inttypes.h
[Ivan Hu]
* efi_runtime: add resetsystem runtime service
* securebootcert: remove the SignatureOwner on signature presence check
[Jeffrey Hugo]
* dmi: dmicheck: Fix Base Address Modifier checking
* dmi: dmicheck: Add BMC Interface Type definitions from IPMI spec
[Sakar Arora]
* acpi: method: sbbr: set some methods as optional
-- Ivan Hu Wed, 27 Sep 2017 15:02:29 +0800
fwts (17.08.00-0ubuntu1) artful; urgency=low
[Alex Hung]
* auto-packager: mkpackage.sh: remove yakkety
* dmicheck: fix dmi_reserved_bits_check function when size is 64
* acpi: pmtt: fix typo from pmmt to pmtt
* acpi: sdei: add ACPI SDEI test (mantis 1714)
* fwts-test: Add regression test for SDEI
* acpi: pcct: refactor subspace to individual functions
* acpi: pcct: update PCCT table to ACPI 6.2 (mantis 1659 & 1755)
* fwts-test: sync up PCCT tests with ACPI 6.2 changes
* acpi: dppt: add ACPI DPPT test (mantis 1795)
* acpi: pptt: add ACPI PPTT test
* acpi: hmat: add ACPI HMAT test (mantis 1705)
* fwts-test: Add regression test for HMAT
* acpi: method: add _LSI test according to ACPI 6.2 (mantis 1721)
* fwts-test: sync up tests for _LSI method
* fwts-test: Add regression test for PPTT
* acpi: rasf: add ACPI RASF test
* fwts-test: Add regression test for RASF
* acpi: sbbr: sync up with new SBBR tests
* acpi: remove "Linux-read Firmware Developer Kit" from license header
* doc: update contributors and date to the manual
[Colin Ian King]
* opal: fix build error on Ubuntu 12.04 i386 with gcc 4.6.3
* lib: fwts_safe_mem: remove need to copy into a buffer
* acpi: bert: add safe memory read check on mmap'd memory
* acpi: hpet: add safe memory read check on mmap'd memory
* acpi: mcfg: add safe memory read check on mmap'd PCI config memory
* acpi: pcc: add safe memory read check on mmap'd PCC header
* bios: pciirq: add safe memory read check on mmap'd pci irq region
* bios: pnp: add safe memory read check on mmap'd memory region
* dmi: dmicheck: fix incorrect safe memory read check on DMI mmap'd region
* uefi: csm: add safe memory read check on mmap'd interrupt and option ROM
regions
* fwts_safe_mem: workaround longjmp clobber warnings
* ACPICA: Update to version 20170728
* lib: fwts_smbios: use fwts_safe_memcpy to read SMBIOS entry
* lib: fwts_acpi_tables: re-work fwts_acpi_get_rsdp, less memory copies
* lib: fwts_safe_mem: really force reads
* lib: fwts_acpi_tables: unmap mem, fixes memory leak
* acpi: xsdt: fix build error on 32 bit systems
* acpica: fwts_acpica: fix linker issues on Fedora (LP: #1712572)
[Jeffrey Hugo]
* acpi: madt: Add support for ACPI 6.2
[Mahesh Bireddy]
* acpi: fadt: add SBBR compliance tests
* acpi: madt: add SBBR compliance tests
* acpi: spcr: add SBBR compliance tests
* acpi: xsdt: add SBBR compliance tests
[Rajat Goyal]
* acpi: dbg2: add SBBR compliance tests
* acpi: gtdt: add SBBR compliance tests
* acpi: acpitables: add SBBR compliance tests
[Sakar Arora]
* dmi: dmicheck: add SBBR compliance tests
* acpi: method: add SBBR compliance tests
* acpi: rsdp: add SBBR compliance tests
[Vinson Lee]
* acpi: method: Fix error message.
* README: Update JSON manipulation library name.
-- Ivan Hu Wed, 30 Aug 2017 14:23:42 +0800
fwts (17.07.00-0ubuntu1) artful; urgency=low
[Alex Hung]
* fwts-test: update tpm2 test for new start methods
* acpi: bgrt: update according to acpi 6.1 errata (mantis 1577)
* fwts-tests: update bgrt test according to ACPI 6.1 errata
* acpi: method: update _PSD and _TSD tests according to ACPI 6.1 errata
* acpi: rsdp: revision 1 must have length 20 according to ACPI 6.1 errata
* acpi: method: Add _CPC revision 3 according to acpi 6.2 (mantis 1611)
* acpi: hest: change type from hex to dec as in ACPI spec
* acpi: hest: change a function name to meet the patterns of others
* acpi: hest: add new type 11 introduced in ACPi 6.2 (mantis 1649)
* acpi: srat: add new type 4 according to ACPI 6.2 (mantis 1656)
* acpi: method: update _GCP according to ACPI 6.2 (mantis 1703)
* acpi: hest: add notification type 11 according to ACPI 6.2 (mantis 1731)
* acpi: fadt: update minor version to 2 for ACPI 6.2 (mantis 1769)
* acpi: hest: add checks for GHES_ASSIST flag value in ACPI 6.2 (mantis 1674)
* acpi: hest: fix typo for type 7
* fwts-test: update according to HEST changes
* acpi: wsmt: add wsmt test according to ACPI 6.2 (mantis 1585)
* fwts-test: add wsmt test
* fwts-test: fix typo from apcitables to acpitables
[Colin Ian King]
* ACPICA: Update to version 20170629
* fwts-tests: sync up with latest ACPICA 20170629 release
* dmi: dmicheck: ensure mmap'd SMBIOS data is readable before accessing it
* bios32: ensure mmap'd memory is readable before accessing it
* bios: ebdadump: ensure mmap'd memory is readable before accessing it
* bios: romdump: ensure mmap'd memory is readable before accessing it
* lib: fwts_smbios: ensure mmap'd memory is readable before accessing it
[Geliang Tang]
* efi_runtime: Use memdup_user helper
[Jeffrey Hugo]
* acpi: tpm2: Add additional start method values
* acpi: iort: Add PMCG support
-- Alex Hung Thu, 13 Jul 2017 00:17:02 -0700
fwts (17.06.00-0ubuntu1) artful; urgency=low
[Alex Hung]
* bios: mtrr: fix compile error in ubuntu trusty
[Colin Ian King]
* ACPICA: Update to version 20170531
* fwts-test/syntaxcheck-0001: sync with ACPICA 20170531
* fwts-test/disassemble-0001: sync with ACPICA 20170531
* lib: fwts_alloc: only parse mem info once we have a valid line read in
* lib: fwts_safe_mem: add SIGBUS handling
* lib: fwts_alloc: re-work the memory parsing again
* acpi: method use correct format specifier for uint32_t type
[Deb McLemore]
* olog: olog.json: Update OPAL skiboot errors to check on olog scan
[Erico Nunes]
* opal: fix tests dependency on libfdt
[Ivan Hu]
* bios: mtrr: fix overlaped MTRR (LP: #1694710)
* bios: mtrr: print out actual default type of MTRR
-- Alex Hung Wed, 14 Jun 2017 17:21:46 -0700
fwts (17.05.00-0ubuntu1) artful; urgency=low
[Alex Hung]
* auto-packager: mkpackage.sh: remove precise
* acpi: method: make _PTS & _WAK optional
* auto-packager: mkpackage.sh: add artful
* dmi: dmicheck: add type 9 to dmi_used_by_kernel_table
* dmi: dmicheck: add comments for obsolete types
* dmi: dmicheck: fix a typo in a type 15's error message
* dmi: dmicheck: check reserved bits in Type 0
* dmi: dmicheck: check new offset in spec 3.11
* dmi: dmicheck: check reserved bits of Type 7 offset 0x5
* dmi: dmicheck: check reserved bits of Type 7 offset 0xd
* klog.json: remove unnecessary comma and trailing spaces
* dmi: dmicheck: add a function to verify reserved bits
* dmi: dmicheck: add a helper function to check word min/max value
* klog.json: add an ACPI warning message "SysmtemMemory conflicts
* dmi: dmicheck: check pci(e) slot and segment, bus and dev/func
* dmi: dmicheck: check reserved bits of offset 0x5 in type 13
* dmi: dmicheck: add a helper function to check a reserved offset
* dmi: dmicheck: check reserved bits in type 15 & type 17
* dmi: dmicheck: check reserved fields in type 22, 23, 30, 32, 38 and 39
* dmi: dmicheck: add 64-bit integer to dmi_reserved_bits_check
* dmi: dmicheck: add checks for new type 43
* acpi: method: check _WAK & _PTS for supported sleep states only
* fwts-test: sync up tests for _PTS & _WAK method
* dmicheck: support smbios check for version 3.1.1
* dmi: dmicheck: type 22 offset 9 is an enum from 1 to 8
[Colin Ian King]
* lib: fwts_pm_method: clean up formatting and remove extraneous log message
* acpi: gpedump: fix spelling mistake
* acpica: add some extra run time verification to FACP (FADT)
* lib: fwts_acpi_tables: Add extra fix-up for FACS and DSDT table addresses
* fwts-test: arg-table-path-0001: sync tests with latest fwts changes
* acpi: wmi: add and re-order WMI GUIDs
* lib: fwts_pipeio: fix incorrect size of command being passed
* lib: fwts_summary: move statement into previous if block
* lib: fwts_stringextras: free original string on failed realloc
* compiler: fwts_iasl_interface: free original string on failed realloc
* uefi: uefidump: free original string on failed realloc
* kernelscan: ensure parse_kernel_message returns PARSER_OK
* lib: fwts_gpe: free original gpe buffer on failed realloc
* lib: fwts_cpu: The string "flags" is 5 chars, fix incorrect strncmp size
* dmi: dmicheck: remove redundant check on boolean advice_given
* acpi: einj: fix incorrect addition on cast
* fwts-test/wmi-0001: sync up WMI test with WMI changes
* lib: fwts_log: fix spelling mistake on LOG_UNKOWN_FIELD
* lib: fwts_log: add LOG_NO_FIELD and use this to indicate an unfound field
* debian/control: Update description, fwts no longer is just for x86 systems
* lib: fwts_gpe: fix double free on gpe buffer
* opal: prd_info: NULLify output after free
* Add snapcraft rules to build a fwts snap
* debian/control: update standards version to 3.9.8
* debian/control: remove ${shlibs:Depends} for fwts-frontend and
fwts-efi-runtime-dkms
* acpi: method: work around some gcc madness (LP: #1687056)
* Reduce the sysfs path to 2K to work around a gcc warning
* data: klog.json: make missing EINJ table message an INFO message
* cpu: cpufreq: make small one-line helper functions inline
* Snapcraft: fix typo in path
* debian: fwts.install: add missing olog.json file
* debian: changelog: fix some debian warnings
* New script to generate a Debian orig tarball from source
* data: klog.json: Fix spelling mistake "cound" -> "could"
* opal: reserve_mem: fix 32 bit build issues
* lib: fwts_acpi_tables: remove dead assignment of facs
* acpica/fwts_acpica: remove debug message on FADT/FACS
* acpica/fwts_acpica: cast to uintptr_t before casting to
ACPI_PHYSICAL_ADDRESS
* fwts-test: disable some acpi specific x86 tests for non-x86 systems
[Ivan Hu]
* uefi: securebootcert: warnings for secure boot variables not exist instead
of failures
* uefi: securebootcert: specify the failure reason for the variable not found
[Jeffrey Hugo]
* README: Fix missing libfdt-dev dependency in README
[ppaidipe@linux.vnet.ibm.com]
* fwts/opal: Power management DT Validation tests.
* fwts/opal: Reserved memory DT validation tests.
-- Ivan Hu Wed, 24 May 2017 11:26:39 +0800
fwts (17.03.00-0ubuntu1) zesty; urgency=low
[Alex Hung]
* dmicheck: update chassis type limit according to SMBIOS 3.0
* fwts-tests: sync up with the new --sbbr option
* README: update url of reference guide
* dmicheck: update type 3, 4, 9 limits according to SMBIOS spec 3.11
[Colin Ian King]
* lib: fwts_alloc: move all memory tracking to hash records
* klog.json: Add some missing ACPI Power Management kernel messages
to klog database
* opal: reduce scope of variable 'prop_buf'
* lib: fwts_alloc: clear hash table at end of garbage collection
* lib: fwts_alloc: fix incorrect accounting on hash entry count
* ACPICA: Update to version 20170224
* fwts-test: disassemble-0001: sync DSDT output from iasl with recent
ACPICA changes
* acpi: mpst: remove redundant assignments to passed on errors
* acpi: drtm: remove redundant assignments to passed on errors
* opal: pci_info: remove redundant assignment to bytes
* ACPICA: Update to version 20170303
* lib: fwts_devicetree.h: minor code formatting cleanups
* opal: make found_dimm static as it is local to just this source
* opal: minor code style changes
[Deb McLemore]
* opal: mem_info check for dimm presence in property
[Jeffrey Hugo]
* acpi: acpiinfo: Print minor version where applicable
* acpi: iort: Add support for SMMUv3
[Supreeth Venkatesh]
* sbbr: Add "--sbbr" flag to support running SBBR Tests.
-- Ivan Hu Thu, 16 Mar 2017 11:20:20 +0800
fwts (17.02.00-0ubuntu1) zesty; urgency=low
[Alex Hung]
* dmicheck: fix mistakes in error messages for SMBIOS type 9
[Colin Ian King]
* ACPICA: Update to version 20170119
* README: update git URL to http://kernel.ubuntu.com/git/hwe/fwts.git/
* lib: fwts_args: fix arg parameter sanity range checking
* fwts-test: update arg-help-0001 to sync with help info changes
* fwts_framework: handle -? option differently from -h
* uefi/uefirtvariable: fix options check error messages
* acpi: s3: Add new --s3-resume-hook option
* clean up missing whitespaces
* acpi: acpitables: fix indentation, no functional change
* devicetree: dt_sysinfo: reduce scope of version_buf
* lib: fwts_acpid: remove re-assignment of ptr to NULL
* lib: fwts_cpu: force compiler to increment i rather than optimize it out
* opal: mem_info: remove redundant initialization of prop_string to NULL
* opal: mem_info: reduce scope of some variables
* opal: cpu_info: remove redundant initialization of prop_string to NULL
* opal: cpu_info: reduce scope of some variables
* opal: pci_info: reduce scope of some variables
* doc: remove trailing white spaces
* opal/mtd_info.c: make a couple of functions static to reduce global scope
* uefi: uefirtmisc: make gEfiCapsuleHeaderGuid static
* opal: prd_info: make a couple of functions static to reduce global scope
* ipmi: bmc: make fwts_bmc_info_check static
* acpi: msdm: make variable table static
* acpi: slit: make variable table static
* acpi: fpdt: make variable table static
* acpi: slic: make variable table static
* misc: fix various spelling mistakes
* data: fix some spelling mistakes in klog and olog databases
* fwts-tests: fix up spelling mistakes in regression tests
* lib: fwts_olog: ensure buffer is null terminated
* lib: fwts_pipeio: fix memory leak on zero sized text allocation
* fwts-alloc: track memory allocations, cleans up 6 coverity scan warnings
* fwts-alloc: garbage collect hash records
* klog.json: Add some more kernel messages to klog data base
* klog.json: Add some EFI driver kernel messages to klog database
* klog.json: Add some EFI quirk driver kernel messages to klog database
* klog.json: Add some more EFI driver kernel messages to klog database
* klog.json: Add some miscellaneous messages to klog database
* klog.json: fix a couple of klog patterns
[Deb McLemore]
* Add README_JSON.txt for FWTS
* Integrate PPC for FWTS-LIVE Frontend
[Prarit Bhargava]
* fedora: Fix location of klog.json file in fwts.spec
* fedora: Add fedora internal versioning number in fwts.spec
* fedora: Add fwts.spec.in
* fedora: Update buildsrpm.sh for dynamic versioning
-- Alex Hung Thu, 16 Feb 2017 09:58:33 +0800
fwts (17.01.00-0ubuntu1) zesty; urgency=low
[Colin Ian King]
* ACPICA: Update to version 20161222
* opal: pci_info: minor code style clean-ups, no functional changes
* update copyright year to 2017
* fwts-test/arg-help-0001: update log files to match copyright year changes
* klog.json: Add kernel errors to the database
[Prarit Bhargava]
* fedora/fwts.spec: Add initial version of fwts.spec
* fedora/buildrpm.sh: Add build script for RPMs
* .gitignore: update with fedora/rpm and git generated patches
* .gitignore: Add aslcompiler.y
-- Alex Hung Thu, 19 Jan 2017 12:19:10 +0800
fwts (16.12.00-0ubuntu1) zesty; urgency=low
[Colin Ian King]
* ACPICA: Update to version 20161117
* fwts-test: sync up disassemble and syntaxcheck tests with ACPICA
* acpica: s390x needs to be built as a 64 bit architecture
* klog.json: Add a few more kernel errors to the database
* klog.json: Update the klog database with more kernel patterns
[Deb McLemore]
* opal: pci_info: Add OPAL PCI Info validation
* opal: mem_info: Add OPAL MEM Info validation
* opal: cpu_info: Add OPAL CPU Info validation
* devicetree: dt_sysinfo: Add OPAL firmware version checks
* olog: olog.json: Update OPAL skiboot errors to check on olog scan
[Fan Wu]
* fwts:dmicheck: replace memcpy with fwts_memcpy_unaligned
[Ivan Hu]
* securebootcert: add variable AuditMode checking
* securebootcert: add variable DeployedMode checking
-- Ivan Hu Wed, 21 Dec 2016 09:26:40 +0800
fwts (16.11.00-0ubuntu1) zesty; urgency=low
[Colin Ian King]
* ACPICA: Update to version 20160930
* fwts-test: disassemble-0001: sync output to latest ACPICA changes
* acpica: remove aslcompiler.y as it is generated from aslparser.y
* debian/control: fwts-efi-runtime-dkms should not depend on kernel headers
(LP: #1629826)
* Build using dpkg-dev's hardening support.
* acpcia: Makefile.am: include exconcat.c into libfwtsiasl build
(LP: #1631354)
* lib: fwts_ac_adapter: add in some constifications
* lib: fwts_args: move #defines to start of source
* lib: fwts_firmware: constify feature_names
* lib: fwts_framework: constify categories[] and log_levels[]
* lib: fwts_log_html: constify fwts_log_html_ascii_table[]
* acpi: s3power: remove redundant intialization of fwts_settings
* acpi: s4: remove redundant intialization of fwts_settings
* acpi: s3: remove redundant intialization of fwts_settings
* lib: fwts_pipeio: remove redundant initializations of file to NULL
* opal: remove redundant initializations of command to NULL
* lib: fwts_framework: initialize msg to literal string
* dmi: dmicheck: fix a couple of cppcheck style warnings
* Manual: keep contributors list up to date
[Deb McLemore]
* fwts_devicetree: Add defines for common usage
* fwts_devicetree: Add function for common usage
* devicetree: dt_sysinfo: Reference compatible whitespace
[Erico Nunes]
* fwts_acpi_tables: remove fwts_acpi_checksum declaration
* acpi: dbg2: fix segfault and refactor dbg2_obj_find
* fwts_framework.h: fix redefinition typedef warning
* fwts_hwinfo.c: fix strict-aliasing error with old gcc
* esrt.c: fix uninitialized use of 'fwversion' warning
[Ivan Hu]
* efi_runtime: use memdup_user() as a cleanup
* efi_runtime: fix the uninintialized value datasize
* efi_runtime: fix the uninitialized value rv
* uefibootpath: fix the URI length check
* uefibootpath: add test for eMMC device path
* uefidump: add dumping for the eMMC device path
* fwts_acpica: fix segmentation fault by unlock mutex twice (LP: #1635502)
* debian/control: clean up uploaders list
* auto-packager: mkpackage.sh: add zesty
[Jeffrey Hugo]
* acpi: hest: Add new error notification types
* acpi: madt: Fix processor UID check
* acpi: gtdt: Account for added virtual timer flags
* lib: acpi: Remove gsiv field of fwts_acpi_table_gtdt_block_timer
* acpi: mpst: Show test as skipped if table does not exist
* lib: olog: Show test as skipped if nothing to do
* acpi: pmtt: Show test as skipped if table does not exist
* acpi: tcpa: Show test as skipped if table does not exist
* acpi: tpm2: Show test as skipped if table does not exist
* acpi: xenv: Show test as skipped if table does not exist
-- Ivan Hu Thu, 10 Nov 2016 16:32:37 +0800
fwts (16.09.00-0ubuntu1) yakkety; urgency=low
[Alex Hung]
* lib: acpi: add supports for WPBT
* acpi: wpbt: add ACPI WPBT test
* fwts-test: Add regression test for WPBT
* lib: acpi: add supports for DRTM
* acpi: drtm: add ACPI DRTM test
* fwts-test: Add regression test for DRTM
* acpi: remove "Linux-ready Firmware Developer Kit" from license header
* lib: fwts_guid: add a compare function
* acpi: nfit: skip SPA Range Structure Index for four GUIDs
* acpi: nfit: check fields equals 0 for Virtual CD and Disk
* cpu: msr: change SMRR_PHYSBASE from 8MB boundary to 4KB boundary
[Colin Ian King]
* acpica: remove utprint.c, it is not required
* ACPICA: Remove utfileio.c, it is deprecated and not used
* ACPICA: Update to version 20160831
* opal: ensure fdt_node_path buffer is null terminated
* fwts: treewide: voidify return from close(), closedir() and fclose()
* lib: fwts_ipmi: fix incorrect memset size
[Deb McLemore]
* opal: mtd: Add OPAL MTD Validation
* acpi: ACPI Platform check updates
* opal: mtd: Add error exit when no MTD's
* opal: prd: Improve message when no PRD detected
* devicetree: dt_sysinfo: Improve message for non-reference model
[Ivan Hu]
* efi_runtime: change __usc2_strsize name to distinguish from ucs2_strsize
* efi_runtime: redefine all uint*_t types by following the header efi.h
* efi_runtime: exchange the user and local name define
* efi_runtime: refactor the success and error path
* efi_runtime: add label to reduce the number of kfree
* efi_runtime: expand to a full if-conditional instead of using terneary
operator
* efi_runtime: add VariableNameSize return when getting the
EFI_BUFFER_TOO_SMALL
* efi_runtime: fix memory leak of getvariable funtion
* efi_runtime: move the checking status forward
* efi_runtime: clean up some return and alignment code
* uefirttime: specify enable to true for setwakeuptime wiht null time test
[Jeffrey Hugo]
* acpi: fadt: Remove HEADLESS check on reduced hardware
* pci: aspm: Add segment support
-- Alex Hung Fri, 09 Sep 2016 09:47:45 +0800
fwts (16.08.01-0ubuntu1) yakkety; urgency=low
[Colin Ian King]
* acpica: rename vsnprintf and sprintf in utprint.c to avoid name clash
conflicts
-- Alex Hung Thu, 18 Aug 2016 17:46:32 +0800
fwts (16.08.00-0ubuntu1) yakkety; urgency=low
[Alex Hung]
* fwts: update .gitignore for files genereated by "make check"
* acpi: nfit: add ACPI NFIT test
* fwts-test: Add regression test for NFIT
* acpi: pcct: fix incorrect printing length for PRIx64
* lib: acpi: add support for MPST
* acpi: mpst: add ACPI MPST test
* fwts-test: Add regression test for MPST
* lib: acpi: add support for PMTT
* acpi: pmtt: add ACPI PMTT test
* fwts-test: Add regression test for PMTT
* acpi: nfit: change %x to marco PRIx32 for portability
* auto-packager: mkpackage.sh: remove wily
[Colin Ian King]
* acpi: madt: fix memory leak on return paths
* ACPICA: Update to version 20160729
* acpi: pmtt: fix incorrect assignment on passed
* acpi: dmar: fix portability warning from cppcheck on void * cast
* acpi: dbg2: remove alloca(), replace with variable length array
* acpi: madt: reduce scope of variable 'listint'
* acpica: fwts_iasl_interface: reduce scope of variable 'i'
* lib: fwts_smbios: reduce scope of variable 'mapped_entry'
* lib: fwts_klog: reduce scope of variable 'old'
* lib: fwts_iasl: reduce scope of variable 'ret'
* lib: fwts_cpu: fix missing { } on an if statement
* devicetree: dt_sysinfo: reduce scope of variables 'model_buf' and
'compat_buf'
* cpu: cpufreq: reduce scope of variable 'i'
* lib: fwts_smbios: fix portability warning from cppcheck on void * cast
* lib: fwts_alloc: fix portability warnings from cppcheck on void * arithmetic
[Ivan Hu]
* efi_runtime: call kfree directly instead of inline wrapper
* efi_runtime: add datasize return when getting the EFI_BUFFER_TOO_SMALL
* efi_runtime: fix memory leak of capsulecaps function
* efi_runtime: clean up some comments and unused code
* efi_runtime: add chceking the len for reading userspace memory
* efi_runtime: add checking variable_name input
[Prarit Bhargava]
* acpi/nfit: Fix endless loop on broken NFIT tables
[Ricardo Neri]
* acpi: bert: do not fail if BERT error region raw_data_length is zero
-- Alex Hung Thu, 18 Aug 2016 12:14:11 +0800
fwts (16.07.00-0ubuntu1) yakkety; urgency=low
[Alex Hung]
* acpi: method: add _FIT test
* fwts-test: sync up tests for _FIT method
* bios: mtrr: check MTRR default memory type
* acpi: pcct: add ACPI PCCT test
* fwts-test: Add regression test for PCCT
* lib: acpi: fix a typo in fwts_acpi.h
[Colin Ian King]
* utilities: kernelscan: Add in missing [ ] brackets tokenisation
* klog: data.json: Add klog checking for kernel NUMA errors from
drivers/acpi/numa.c
* fwts-test: remove arg-show-tests and arg-show-tests-full
* klog: data.json: Add klog checking for kernel EC errors from
drivers/acpi/ec.c
* klog: data.json: Add klog checking for errors from
drivers/acpi/acpi_cmos_rtc.c
* klog: data.json: Add klog checking for errors from drivers/acpi/nfit.c
* klog: data.json: Add klog checking for errors from drivers/acpi/pci_root.c
* klog: data.json: Add klog checking for errors from drivers/acpi/pci_mcfg.c
* fwts-test: update fwts klog regression tests due to klog json changes
* klog: data.json: Add klog checking for errors from drivers/acpi/cppc_acpi.c
* klog: data.json: Add klog checking for errors from drivers/acpi/battery.c
* klog: data.json: Add klog checking for errors from
drivers/acpi/processor_idle.c
* efi: enable module loading to load legacy or new efi driver
* klog: data.json: Add klog checking for errors from drivers/acpi/sleep.c
* klog: data.json: Add klog checking for errors from
drivers/acpi/acpica/rsmisc.c
* klog: data.json: Add klog checking for errors from drivers/acpi/evged.c
* acpi: rsdp: don't fail if RSDT and XSDT are both defined and different
* fwts-test: rsdp-0001: sync test with latest rsdp test changes
* lib: fwts_alloc: make allocator more robust
* lib: fwts_pipeio: don't report failure on freopen failure
* Add klog checking for errors from drivers/acpi/tables.c
* doc: update contributors and date to the manual
[Deb McLemore]
* opal/prd_info: Add OPAL Processor Recovery Diagnostics
* olog: olog.json: Add OPAL skiboot errors for olog scan
* lib: olog: Improve message when sudo usage may help
* opal/prd_info: Improve message when libfdt not installed
* lib: framework: Improve message for results log file handling
[Ivan Hu]
* uefi: add the header for using efi runtime service
* efi_runtime: reuse the in-kernel guid structure
* efi_runtime: reuse the in-kernel time structure
* efi_runtime: reuse the in-kernel capsule header structure
* uefi: update reset type to uefi 2.6
* uefi: remove the enum of reset type
* efi_runtime: naming convention modification
* efi_runtime: fix the style problems
* debian/control: Fix incomplete dependencies for Linux headers (LP: #1606480)
* fwts-test: sync up with the klog test
* acpi: madt: fix build fail for i386
[Jeffrey Hugo]
* acpi: madt: Use 20 as the GIC ITS node length
* acpi: madt: Add support for ACPI 6.0a
* acpi: madt: Add support for ACPI 6.1
* acpi: dbg2: Add missing debug port types
[Jeremy Kerr]
* devicetree/dt_sysinfo: clean up logic in stringlist_contains_last
* devicetree/dt_sysinfo: fix reference platform compatible vs. model check
* devicetree/dt_sysinfo: Add firestone model
[Prarit Bhargava]
* fwts: Fix madt testing with broken MADT entries
* fwts: Update .gitignore files
* fwts/madt: Add address of subtable to messages
* fwts/madt: Implement I/O APIC and I/O SAPIC value comparison test
* fwts/madt: Remove TODO for x2apic > 255 check
* fwts/madt: Add processor UID checking to madt tests
[Ricardo Neri]
* fwts_cpuinfo_x86: check for null pointers when using
* lib: fwts_cpu: return info struct only when requested CPU is found
* lib: fwts_cpu: query info from the first online CPU
-- Ivan Hu Wed, 27 Jul 2016 15:35:54 +0800
fwts (16.06.00-0ubuntu1) yakkety; urgency=low
[Alex Hung]
* acpi: method: acpi 6.0 adds USB-C Connection to _UPC
* acpi: method: add _WPP method test (introduced in ACPI 6.1)
* acpi: method: add _WPC method test (introduced in ACPI 6.1)
* fwts-test: sync up tests for _WPC and _WPP methods
* lib: replace hardcoded size=1 in calloc by sizeof(char)
* dmi: dmicheck: remove chassis check with acpi pm_profile
* acpi: method: update _GCP test according to ACPI 6.1
* acpi: einj: erst: update serialization action for ACPI 6.1
[Colin Ian King]
* dmi: dmicheck: fix typo: SBMBIOS should be SMBIOS
* Rename fwts_log_*_verbatum to fwts_log_*_verbatim
* ACPICA: Update to version 20160527
* lib: fwts_ipmi: don't close a -ve fd on error exit return path
* lib: fwts_ipmi: remove redundant for loop
* lib: fwts_devicetree: fix memory leak on data
* devicetree: dt_base: fix resource leak on error exit paths
* lib: fwts_arch: set len to 1 to ensure space for '\0'
* lib: fwts_args: clean up some scan-build warnings
* devicetree/dt_sysinfo: report FWTS_ERROR on non-null termimated property
* src/utilities/kernelscan: fix parsing of escaped C strings
* lib: fwts_olog.h: fix include guard
[Deb McLemore]
* devicetree/dt_sysinfo: Add OPAL reference compatible checks
[Ivan Hu]
* efi_runtime: changing naming convention without p for pointer
* lib: fwts_uefi: update uefi status codes to UEFI 2.6
* uefirtvariable: modify getnextvariablename test for VariableNameSize smaller than 2 (LP: #1593597)
[Jeffrey Hugo]
* lib: acpi: Add support for HEST GHESv2
* acpi: hest: Add GHESv2 checking (LP: #1587624)
-- Ivan Hu Wed, 22 Jun 2016 15:43:04 +0800
fwts (16.05.01-0ubuntu1) yakkety; urgency=low
[Alex Hung]
* acpi:method: remove ACPI section from the top comments
* acpi: dbg2: fix incorrect address size check with GAS struct
* cpufreq: skip frequency performance test if cpufreq_settable is false
* cpufreq: skip frequency claimed maximum test with intel_pstate
* acpi: add MSCT table sanity check
* acpi: add EINJ table sanity check
* fwts-test: sync up with MSCT and EINJ table tests
* fwts-test: add dt_base to show-tests* regression tests
* auto-packager: mkpackage.sh: add yakkety and remove vivid
* debian/control: add back libjson0-dev for precise
[Anthony Wong]
* Add .gitignore
[Colin Ian King]
* ACPICA: Update to version 20160318 (LP: #1559312)
* fwts-test: sync tests with latest ACPICA output changes
* data: klog.json: Fix typo in docking label text
* acpi: gtdt: fix buffer overrun comparison
* acpi: gtdt: fix buffer overrun comparison (for SBSA)
* acpi: bert: fix format specifiers for boot error region
* lib: fwts_olog: minor fwts coding style reformatting
* lib: fwts_olog: fix fclose on already closed files.
* lib: fwts_olog: fix memory leak on buffer on error exit path
* lib: fwts_olog: ensure buffer is '\0' terminated per read, minor cleanups
* lib: fwts_olog: avoid TOCTOU race on stat and fopen
* fwts-test: update tests for new olog test from IBM
* doc: fwts.1: Update contributors list and man page date
* Add cppcheck static analysis checking script
* uefi: uefirtauthvar: capitalize macro getvar_buf_size
* Revert "acpi: tpm2: add check for zero control area address (LP: #1506442)"
* ACPICA: Update to version 20160422
* fwts-test: update disassemble and syntaxcheck tests to sync with latest
ACPICA
* cpufreq: make stat failure message a little more human friendly
* acpi: einj, msct: only build in these tests on ACPI enabled systems
* fwts-test: add dt_sysinfo to show-tests* regression tests
* hpet: warn if HPET Device address not found in DSDT/SSDT
* kernelscan: speed up parser using hash lookup, add more print funcs
* kernelscan: remove need to pre-process with a CPP phase
* kernelscan.sh: remove -E and -P phases to parsing
* apic: apicedge: fix parsing of /proc/interrupts (LP: #1575783)
* lib: fwts_pipeio: set *list to NULL on fwts_pipe_read error
* acpi: spcr: add missing debug port types (LP: #1578433)
* debian/control: add libfdt-dev and device-tree-compiler
* Revert "debian/control: add libfdt-dev and device-tree-compiler"
* debian/control: add libfdt-dev and device-tree-compiler
* configure.ac: update email address, use fwts-devel instead
* fwts-test/arg-help-0001: ensure tty is reset on exit path
* fwts-test: arg-show-tests-0001: reset tty after forcing column width
* cpu: msr: do not check SYSENTER_* MSRs (LP: #1582005)
* fwts: manual: update date, add new contributor, add dtc to SEE ALSO
* fwts: manual: ommitted Paul Menzel from the contributions list
* fwts: lib: clean up static analysis warnings
* debian/control: change depends on libjson0-dev to libjson-c-dev
[Deb McLemore]
* v2 - lib: fwts_args: handle cases to set optarg_handler for long options.
* v2 - Introduce olog scan, to check OPAL msglog.
* V3 Introduce IPMI BMC Info
[Ivan Hu]
* uefidump: dump the optional data for load option on boot device
* uefidump: dump the optional data for load option on driver device
* uefidump: add checking the resonable path list length for load option
* uefidump: clean up the unnecessary period
[Jeremy Kerr]
* devicetree: add infrastructure for device-tree tests
* devicetree/dt_sysinfo: Add device tree system information tests
* pipeio: fix fwts_pipe_read return value when child produces no output
* pipeio: Fix error handling in fwts_pipe_exec
* pipeio: Rename fwts_pipe_open to fwts_pipe_open_ro, add fd as output
argument
* pipeio: Add fwts_pipe_open_rw
* pipeio: Add fwts_pipe_readwrite
* pipeio: Add fwts_pipe_close2 to cleanup from fwts_open_pipe_rw.
* devicetree/dt_base: Add base device-tree validity checks
[Paul Menzel]
* pci/aspm: Fix grammar in ASPM advice (LP: #1581988)
[Ricardo Neri]
* bios: mtrr: fix cache type corner case at start of mtrr range
* bios: mtrr: fix cache type corner case at end of mtrr range
* bios: mtrr: redefine the end point of memory ranges
-- Alex Hung Thu, 19 May 2016 14:13:12 +0800
fwts (16.03.00-0ubuntu1) xenial; urgency=low
[Alex Hung]
* acpi: csrt: fix a spelling mistake in a comment
* acpi: csrt: fix resource descriptor can go over boundary
[Colin Ian King]
* debian/control: Add s390x to Architecture list (LP: #1549737)
* lib: fwts_cpu: fix memory leak and incorrect return (LP: #1549723)
* Add s390x build support, don't build ACPI specific code for this arch
* Add s390x build support: skip tests that are not build in for this arch
* Add s390x build support, don't build UEFI specific code for this arch
* Debian/control: don't build UEFI kernel module for s390x
* acpi: fan: fix indentation, remove extraneous tab
* acpi: method: fix a few incorrectly idented lines of code
* bios: mpcheck: fix trivial indentation issue
* bios: mpdump: fix trivial indentation issue
* uefi: uefirtvariable: fix trivial indentation issues
* uefi: uefirtauthvar: fix trivial indentation issues
* smatchify: add two passes option
[Ivan Hu]
* uefi: add sanity check for UEFI ESRT table (LP: #1553043)
* uefi: esrt: don't build UEFI specific code for s390x
* fwts-test: Update tests to sync with esrt test adding
* uefi: esrt: fix the resource leak found by Coverity Scan
* uefi: esrt: fix build failure due to lack of header file
* acpi: method: fix faile check on _EC control method (LP: #1556720)
* acpi: method: fix _ON method never be tested.
* acpi: method: remove some reduntant and unused tests.
* fwts-test: sync up with the fwts method tests changed
-- Alex Hung Mon, 14 Mar 2016 17:09:08 +0800
fwts (16.02.00-0ubuntu1) xenial; urgency=low
[Al Stone]
* Start defining FWTS architectures as variables
* Define some utility functions for using the fwts_architecture enum
* Add mechanism to tell FWTS what architecture is being tested
* ACPI: MADT: add in compliance tests for the MADT and subtables
* ACPI: Add in MADT subtable description for GIC ITS subtable
* ACPI: MADT: add in compliance checks for the GIC ITS subtable
* Documentation: add --acpicompliance to man page
* Documentation: add --arch to the man page
* RSDP: minor cleanups to rsdp.c for checkpatch issues
* utilities: add a helper function for printing out architecture names
* ACPI tables: when bodging up an RSDP, do the right thing for the arch
* ACPI RSDP: flesh out the tests to check for full spec compliance.
* Update regression test rsdp-0001/test-0001.sh
* Update the regression test arg-help-0001/test-0001.sh
* Update regression test for arg-help-0001/test-0002.sh
* Update regression test for arg-show-tests-0001/test-0001.sh
* Update regression test arg-show-tests-full-0001/test-0001.sh
* Update the regression test arg-table-path-0001/test-0001.sh
* Update the regression test madt-0001/test-0001.sh
* Update the regression test madt-0001/test-0002.sh
* FADT: enable compiling on non-x86 architectures
* FADT: non-x86 machines need an FADT but x86 can survive without one
* FADT: disable SCI_EN and RESET_REG tests when in reduced hardware mode
* FADT: add in code to log basic info about the various FADT flag fields
* Add in bit masks for FACS flags.
* FADT: move log info out of test2, will provide it elsewhere
* ACPI: Add hypervisor ID field to FADT.
* FADT: minor cleanup and initial compliance tests
* FADT: expand the compliance test for FIRMWARE_CTRL fields
* FADT: expand compliance checks for DSDT and X_DSDT fields
* FADT: add compliance tests for reserved fields, PM profile, reduced hardware
* FADT: restructure test sequence around reduced hardware mode
* FADT: expand compliance tests for the SMI_CMD field
* FADT: add compliance tests for the ACPI_ENABLE and ACPI_DISABLE fields
* FADT: add compliance tests for S4BIOS_REQ and PSTATE_CNT fields
* FADT: extend and add PM address block compliance tests
* FADT: enhance compliance tests for GPE blocks
* FADT: add compliance test for the CST_CNT field
* FADT: add in compliance tests for C2/C3 latency fields
* FADT: add in SLEEP_CONTROL_REG and SLEEP_STATUS_REG compliance tests
* FADT: remove no longer useful variables from test1
* FADT: add safety checks for older versions of FADT
* FADT: update regression tests to incorporate new/changed tests
[Alex Hung]
* acpi: method: add _PMC test
* acpi: method: add _PRT test
* fwts-test: update for _PMC and _PRT tests
* acpi: method: add _RDI test
* acpi: method: add _LPI test
* fwts-test: update for _RDI and _LPI tests
* acpi: method: remove non-method names from the top comments
* acpi: erst: fix incorrect error message for reserved field
* fwts-test: update erst test for the fix of reserved field
[Colin Ian King]
* lib: fwts_klog: fix incorrect indentation, detected by gcc-6
* lib: fwts_hwinfo: clean up type punning, fixes warning with gcc-6
* fwts: wakealarm: reset wakealarm timer at end of test (LP: #1534003)
* Update arg-show-tests-full now that we have an extra test in wakealarm
* dmi: dmicheck: add some simple sanity checks to table size
* lib: fwts_args: use safer strncat than strcat
* lib: fwts_acpi_tables: don't do expensive low allocs multiple times
* acpi: fadt: check 32/64 bit PM register addresses for inconsistency
(LP: #1536606)
* acpi: madt: fix incorrect format specifier for size_t
* cpu: microcode: fix a couple of warnings found by cppcheck:
* acpi: madt: clean up some minor style issues detected by cppcheck
* data: klog.json: update to sync with 4.6 kernel changes
* ACPICA: Update to version 20160212 (LP: #1545099)
* lib: fwts_acpi_tables: fix warnings found by clang scan-build
* lib: fwts_cpu: check for MSR read failures
* lib: fwts_klog: handle the case where klog_old is empty list
* acpica: fix disassembly on i386 platforms (LP: #1547469)
* lib: fwts_arch: i686 arch name is also an X86 arch (LP: #1547554)
* fwts-test: only run rsdp regression test on specific arches (LP: #1547602)
* Fix null_gass initializer for older versions of gcc (LP: #1549429)
[Ivan Hu]
* fwts-test: sync up with the arg-table-path
-- Ivan Hu Thu, 25 Feb 2016 15:47:39 +0800
fwts (16.01.00-0ubuntu1) xenial; urgency=low
[Alex Hung]
* Fix spelling mistakes of "ACPI"
* method: update method status
* acpi: method: add _PTC test
* fwts-test: update for ACPI method _PTC test
* fwts-test: arg-help-0001: remove TMPLOG.orig files
[Colin Ian King]
* utilities: kernelscan: fix memory leaks and a segfault
* acpi: cstates: fix clang build warning on zero CPUs.
* acpi: s3, s3power, s4: replace cleanup free with explicit frees
* data: klog.json: add in some more kernel error messages for 4.4
(LP: #1526746)
* ACPICA: Update to version 20151218 (LP: #1527733)
* fwts-test: keep test results in-sync with latest ACPICA output
* acpi: hpet: fwts_mmap failure is FWTS_MAP_FAILED and not NULL
* acpi: pcc: fwts_mmap failure is FWTS_MAP_FAILED and not NULL
* bios: ebdadump: fwts_mmap failure is FWTS_MAP_FAILED and not MAP_FAILED
* acpi: syntaxcheck: ASL_MSG_COMPILER_RESERVED failure should be an info
(LP: #1529717)
* Update copyright year to 2016
* fwts-test: sync arg-help with copyright year changes
* ACPICA: Update to version 20160108 (LP: #1532268)
[Fan Wu]
* dmi: dmicheck: fix reserved bits mask for Processor Information
[Ivan Hu]
* uefidump: add dumping global variabl AuditMode
* uefidump: add dumping global variabl DeployedMode
* uefidump: add dumping global variable OsRecoveryOrder
* uefidump: add dumping global variable PlatformRecovery####
* uefidump: add dumping global variable SysPrepOrder
* uefidump: add dumping global variable SysPrep####
* uefirtvariable: fix decalred VLA have zero size (LP: #1526815)
* esrtdump: add dumping for esrt table (LP: #1532103)
* fwts-test: sync up with esrtdump changes
-- Ivan Hu Wed, 13 Jan 2016 16:12:49 +0800
fwts (15.12.00-0ubuntu1) xenial; urgency=low
[Alex Hung]
* acpi: fpdt: add a terminate for buggy BIOS that reports zero length
* live-image/fwts-frontend-text: add a selection for recommended
[Colin Ian King]
* lib: klog: remove use of pcre, use regex instead
* utilities: kernelscan: remove use of pcre, use regex instead
* uefidump: add more bounds checking and remove need for heap
* utilities: fix memory leak, line not being free'd
* acpi: bert: remove redundant variable 'length'
* data: klog.json: add in some more kernel error messages for 4.3
* ACPICA: Update to version 20151124 (LP: #1519425)
* lib: iasl: rework IASL interface to ACPICA
* acpi: acpidump: use IASL rather than fwts custom table dump code
* fwts-test: fix up acpidump releated tests
* s3 + klog: make log scanning more robust for S3 (LP: #1522292)
* ACPI: Add ASPT test
* lib: framework: allow mixed tests and test category options
* lib: acpica: make region handler more robust (LP: #1524217)
* fwts: framework: Add --log-level option
* fwts-test: update arg-help tests with new --log-level option
* debian: copyright, fix lintian warnings
* Debian: update Standards-Version to 3.9.6
* acpi: acpidump: check for fwts_iasl_init failure
* lib: fwts_acpi_tables: fix segfault when tables fail to load (LP: #1452201)
* acpi: dbg2: remove dead store to ptr1
* hotkey: fix key reading loop, it needs to loop more than once
* lib: fwts_framework: remove dead store to len in for loop
* lib: fwts_acpi_table: remove redundant store to rsdt
* acpi: gpedump: remove redundant store to gpe_xrupt_info
* lib: fwts_acpi_tables: remove dead store to facs
* acpica: fwts_acpica: remove redundant store to length
* lib: fwts_acpi_tables: remove redundant store to xsdt
* lib: fwts_acpi_tables: check table to avoid dereferencing NULL ptr
[Ivan Hu]
* lib: fwts_uefi: add SD device path define
* uefibootpath: add test for the SD device path
* uefidump: add dumping for the SD device path
* lib: fwts_uefi: add efi bluetooth device path define
* uefibootpath: add test for the bluetooth device path
* uefidump: add dumping for the bluetooth device path
* lib: fwts_uefi: add wireless device path define
* uefibootpath: add test for the wireless device path
* uefidump: add dumping for the wireless device path
* lib: fwts_uefi: add ramdisk device path define
* uefibootpath: add test for the ramdisk device path
* uefidump: add dumping for the ramdisk device path
* uefibootpath: fix the wrong type for relative offset range path
[Jiri Vohanka]
* lib: fwts_acpi_table: Fix FADT update in creation of fake FACS table.
-- Alex Hung Wed, 16 Dec 2015 15:08:32 +0800
fwts (15.11.00-0ubuntu1) xenial; urgency=low
[Al Stone]
* Add in the notion of ACPI compliance tests.
* MADT subtables: Local SAPIC structure has 3 reserved bytes, not 1
* ACPI: MADT: update GICC flag checks for ACPI 6.0
* ACPI: MADT: further update to GICC flag checks for 6.0
[Alex Hung]
* acpi: method: skip scope names in method_evaluate_method
* acpi: method: add _GPE test
* fwts-test: update for _GPE method test
* fwts-test: remove tmp log for LPIT
* acpi: method: add _TSN test
* acpi: method: add _TFP test
* fwts-test: update for _TSN and _TFP tests
* acpi: method: add _EC test
* acpi: method: add _CWS test
* acpi: method: add _BTH test
* fwts-test: update for _EC, _CWS and _BTH tests
* acpidump: add missing reserved fields to MADT structures
* fwts-test: update for madt and acpidump changes
* auto-packager: mkpackage.sh: add xenial
[Colin Ian King]
* ACPICA: Update to version 20150930 (LP: #1502044)
* cpufreq: the calibration is taking a long time, make it faster
* fwts-test: update dmicheck regression test
* acpi: tpm2: add check for zero control area address (LP: #1506442)
* acpi: tcpa: replace tab with spaces to fix formatting alignment
* lib: framework: pack fwts_framework_flags to ensure it is a 32 bit int
* man page: update author contributions
[Ivan Hu]
* securebootcert: change fail to warning when MS UEFI CA not found in DB
* lib: fwts_uefi: add BMC device path define
* uefidump: add dumping the BMC device path
* uefibootpath: add test for the BMC device path
* lib: fwts_uefi: add the URI device path define
* uefibootpath: add test for the URI device path
* uefidump: add dumping for the URI device path
* lib: fwts_uefi: add the UFS device path define
* uefidump: add dumping for the UFS device path
* uefibootpath: add test for the UFS device path
[Jiri Vohanka]
* dmi: dmicheck: fix SMBIOS issues on aarch64 systems
-- Alex Hung Thu, 12 Nov 2015 14:24:44 +0800
fwts (15.09.00-0ubuntu1) wily; urgency=low
[Alex Hung]
* acpi: method: add _CR3 test
* acpi: method: add _MTL test
* acpi: method: add _RST test
* acpi: method: add _PRR test
* fwts-test: update for _CR3, _MTL, _RST and _PRR method tests
* acpi: fadt: merge tests for reset register
[Colin Ian King]
* cpu: cpufreq: reduce scope of variables
* acpi: gpedump: clarify precedence for & and ?
* lib: fwts_cpu: reduce scope on variables
* lib: fwts_log: re-work to clean up va_arg scoping
* uefi: uefirtvariable: clean up cppcheck style warning
* doc: fwts manpage: Update contribution authors
* ACPICA: Update to version 20150717 (LP: #1486253)
* acpi: rsdp: make OEM ID test less strict
* doc: update authors and add some warranty info at end of manual
* data: klog.json: sync with latest 4.2 kernel messages (LP: #1493039)
* fix some spelling mistakes in code and sync fwts-tests accordingly
* cpu: maxfreq: check for unlikely event that no CPUs in cpu list
* acpi: crsdump: fix incorrect use of string size in string copies
* lib: fwts_acpi_tables: add checking for empty table parsing
* lib: fwts_acpi_table: remove dead initialisation of ptr
* dmi: dmicheck: fix build error on 32 bit builds
[David Ward]
* Makefile.am: use pkg-config for json-c
[Ivan Hu]
* fwts-test: fix typos for uefi acpi table regression test
* lib: fwts_smbios: fix the smbios version from uefi always zero
(LP: #1484023)
* lib: fwts_scan_efi_systable: fix getting wrong smbios entry (LP: #1484046)
* acpi: dbg2: won't find obj when no namespace device path (lp: #1486893)
* lib: fwts_smbios: add the struct definition for smbios 3.0.0
* dmicheck: re-orgainise the smbios entry point check
* lib: smbios: add smbios version 3.0.0 entry find helper
* dmicheck: add test for smbios 3.0.0 entry point
* dmicheck: add error test for SMBIOS 3.0.0 table
* dmicheck: sync the dmi value test with smbios 3.0.0 spec
* fwts-test: update test to sync with smbios 3.0.0
* dmicheck: fix the Base Board type range typos
* auto-packager: mkpackage.sh: remove utopic
-- Ivan Hu Fri, 11 Sep 2015 10:40:40 +0800
fwts (15.08.00-0ubuntu1) wily; urgency=low
[Alex Hung]
* acpi: add table names in test description
* fwts-test: update for prefix for ECDT, TCPA, WAET and XENV
* acpi: remove redundant tailing spaces - no functional changes
* acpi: tcpa: fix incorrect comments - no functional changes
* acpi: tpm2: Add ACPI TPM2 test
* fwts-test: Add regression test for TPM2, update fwst-tests
* acpi: method: fix incorrect shift of 64-bit integer in CRS
* acpi: method: add support for _CPC revision 2
* acpi: acpidump: change FADT flag BIT20 to Hardware-reduce ACPI
* fwts-test: update for changing to Hardware-reduce ACPI
* acpi: update MADT GIC Distributor Structure and related tests
* acpi: update MADT GICC Structure and related tests
* acpi: fadt: update fadt_dsdt test with x_dsdt field
* acpi: fadt: check RESET_REG_SUP before checking the reset register
* acpi: method: refine _AEI control method
* acpi: method: refine _EVT test
[Anthony Wong]
* fwts: Better options handling for --dump
* lib: Allow reading ACPI dump file by non-root user
[Colin Ian King]
* acpi: XENV: fix a few spelling mistakes and fix up copyright
* fwts-test: Update tests to sync with last XENV fixes
* acpi: LPIT: remove duplicate "LPIT" from test description
* fwts-test: Update tests to sync with last LPIT fixes
* acpi: HPET: fix typo in HPET description field
* fwts-test: Update tests to sync with HPET fix
* Add ACPI IORT test (LP: #1450440)
* Update fwts-test for the new IORT table test
* ACPICA: Update to version 20150717 (LP: #1475733)
* fwts-test: update syntaxcheck test now IASL finds more errors
* acpi: iort: fix build warning on older versions of GCC
* lib: fwts_framework: remove dubious total of --show-tests-full
* acpidump: update mchi to latest revision of MCHI specification
* acpi: Add support for MCHI Table (LP: #1478951)
* fwts-test: Add MCHI table regression tests
* acpi: Add support for STAO Table (LP: #1478957)
* fwts-test: Add STAO table regression tests
* lib: fix build error on non-Intel platforms
* acpi: correct ASF! table definitions
* acpi: Add support for ASF! Table (LP: #1479736)
* fwts-test: Add ASF! table regression tests
* lib: acpi.h: clean up comments and code - add more references
* acpi: Add support for WDAT Table (LP: #1480257)
* fwts-test: Add WDAT table regression tests
[Ivan Hu]
* fwts-test: uefi: remove redundant files
* acpi: add support for FPDT table (LP: #1476954)
* fwts-test: Add FPDT table regression tests
[Ricardo Neri]
* cpu/cpufreq: Iterate over the correct number of CPUs in _test_sw_any
-- Ivan Hu Wed, 05 Aug 2015 14:18:41 +0800
fwts (15.07.00-0ubuntu1) wily; urgency=low
[Alex Hung]
* acpi: dmar: add FWTS_FLAG_ROOT_PRIV to dmar test
* fwts_acpi: acpidump: update TCPA table and acpidump accordingly
* fwts-test: update according to TCPA structure changes
* fwts-test: Remove TMPLOG in make check
* tcpa: Add ACPI TCPA test
* fwts-test: Add regression test for TCPA, update fwst-tests
* acpi: add XENV table test
* fwts-test: Add XENV table regression test
* lib: fwts_framework: Append "tests" to --uefi and --acpi
* fwts-tests: modify according to changes to --uefitests and --acpitests
* live-image/fwts-frontend-text: update to --uefitests and --acpitests
[Colin Ian King]
* acpi: method: remove extraneous "_" in error message
* lib: acpica: compiler: link in missing objects (LP: #1461936)
* lib: fwts_klog: fix vector size and handle errors from pcre_exec
(LP: #1461520)
* acpi: lib: fwts_acpi_tables: force fixup when loading tables from
/sys/firmware
* lib: acpi, acpidump: rename slit tables types
* lib: acpi: add in new GICC table fwts_acpi_table_gicc_affinity
* acpi: add SRAT table sanity checking (LP: #1464658)
* fwts-test: Update tests to accommodate new SRAT test
* acpi: add BERT table sanity checking (LP: #1464712)
* fwts-test: Update tests to accommodate new BERT test
* lib: acpi: Add in GAS address types
* acpi: add ECDT table sanity checking (LP: #1464716)
* fwts-test: Update tests to accommodate new ECDT test
* lib: acpi: Add support for the SPMI table
* acpi: add ACPI SPMI table sanity checking (LP: #1465256)
* fwts-test: Update tests to accommodate new SPMI test
* add ACPI SLIT table sanity checking (LP: #1465276)
* fwts-test: Update tests to accommodate new SLIT test
* lib: acpi: Add support for the HEST family of ACPI tables
* add ACPI HEST table sanity checking (LP: #1465379)
* fwts-test: Update tests to accommodate new HEST test
* acpi: Add BOOT table test (LP: #1465435)
* fwts-test: Update tests to accommodate new BOOT table test
* acpi: Add DBGP table test (LP: #1465441)
* fwts-test: Update tests to accommodate new DBGP table test
* acpi: Add DBG2 table test (LP: #1465710)
* fwts-test: Update tests to accommodate new DBG2 table test
* acpi: acpitables: remove ECDT test as we now have a full ECDT test
* acpi: re-orgainise HPET tests #1
* acpi: re-orgainise HPET tests #2
* acpi: move MADT test from acpitables into new MADT test
* acpi: move GTDT test from acpitables into new GTDT test
* acpi: move XSDT test from acpitables into new XSDT test
* acpi: move RSDP test from acpitables into new RSDP test
* acpi: move RSDT test from acpitables into new RSDT test
* acpi: acpitables: remove no-op MCFG test
* acpi: move SBST test from acpitables into new SBST test
* acpi: move FADT test from acpitables into existing FADT test
* acpi: acpitables: remove redudant acpi table checking
* fwts-test: acpitables-0001: update to match changes in acpitables test
* acpi: allow various ACPI table tests to run without root access
* fwts-test: update arg-show-tests-* to be in sync with acpitable changes
* add MADT specific test, replaces old acpitables-0002 test
* fwts-test: add RSDT specific test, replaces old acpitables-0006 test
* fwts-test: add XSDT specific test, replaces old acpitables-0007 test
* lib: fwts_acpi_tables: fully pad out fixed up ACPI OEM IDs
* fwts-test: Add BERT test
* fwts-test: Add BOOT test
* fwts-test: Add DBG2 test
* fwts-test: Add DBGP test
* fwts-test: Add HEST test
* fwts-test: Add SBST test
* fwts-test: Add SLIT test
* fwts-test: Add SRAT test
* acpi: spcr: add missing white space in error messages
* fwts-test: Add SPCR test
* fwst-test: remove old redundant acpitables test
* ACPICA: Update version to 20150619. (LP: #1466142)
* fwts: cpufreq: fix theoretical division by zero (LP: #1466905)
* acpi: Add ACPI ERST test (LP: #1467835)
* fwts-test: Add regression test for ERST, update fwst-tests
* acpi: correct ACPI BGRT table type
* acpi: Add ACPI BGRT test (LP: #1467863)
* fwts-test: Add regression test for BGRT, update fwst-tests
* acpi: Add ACPI CPEP test (LP: #1467870)
* fwts-test: Add regression test for CPEP, update fwst-tests
* acpi: Add ACPI FACS test (LP: #1467966)
* fwts-test: Add regression test for FACS, update fwst-tests
* acpi: acpidump: add in missing exponent field to SLIC
* fwts-test: update tests because of exponent field in SLIC
* acpi: Add CSRT ACPI Table test (LP: #1470116)
* fwts-test: Add CSRT table regression test
* acpi: Add LPIT ACPI test (LP: #1470184)
* fwts-test: Add LPIT table regression test
* acpi: Add WAET ACPI table test (LP: #1470495)
* fwts-test: Add WAET table regression tests
* acpi: add SLIC table test (LP: #1470518)
* fwts-test: Add SLIC table regression test
* acpi: add MSDM table test (LP: #1470538)
* fwts-test: Add MSDM table regression test
* bios: os2gap: remove ancient legacy test (LP:#1470573)
* fwts-test: facs: fix repeated offset in data
* lib: make acpidump parser more robust (LP: #1471202)
* fwts-test: fix hand crafted acpidump data
[Ivan Hu]
* acpi: acpidump: update SMM Communication fields on UEFI table
* acpi: Add UEFI ACPI data table test (LP: #1471698)
* fwts-test: Add UEFI ACPI data table regression tests
-- Alex Hung Wed, 08 Jul 2015 13:34:44 +0800
fwts (15.06.00-0ubuntu1) wily; urgency=low
[Alex Hung]
* acpi: method: update method list according to Table 5-162 in ACPI 6
* lib: acpi: add an acpi category
* live-image/fwts-frontend-text: add selections of acpi and uefi tests
* acpi: add tests to acpi category
* fwts-test: Update tests with new acpi category
* acpi: fwts-tests: Remove redundant tailing space and update fwts-tests
* fwts-test: Update tests with cpufreq changes
* auto-packager: mkpackage.sh: remove lucid
* auto-packager: mkpackage.sh: add wily
[Colin Ian King]
* Debian: control: remove Chris from uploaders list
* uefi: uefirtvariable: Add invalid NULL parameter sanity checks
* fwts-test: update to sync with UEFI test changes
* acpi: Add SPCR ACPI table check (LP: #1433604)
* fwts-test: Update tests with new SPCR test
* ACPICA: Update version to 20150410 (LP: #1441773)
* lib: fwts_acpi_tables: print correct pathname on error
* lib: fwts_acpi_tables: set count correctly on error
* lib: fwts_acpi_tables: only attempt to open a dumpfile if name is defined
* pci: aspm: check that a table exists, fixes segv on arm64
* lib: fwts_smbios: only scan memory for DMI table if x86
* dmi: dmicheck: add 4 new DMI chassis types
* acpi: spcr: remove unnecessary include files and fix ARM build issue
* pci: maxreadreq: skip test if /sys/bus/pci/devices is not available
* acpi: spcr: issue a passed message if SPCR test passes
* doc: fwts manual: update list of contributors at end of the manual
* fwts-test: arg-help-0001: modify regex to match upper/lower case version
* lib: fwts_alloc: provide fallback low memory allocator strategy
(LP: #1452168)
* bios: mtrr: fix memory leak on mtrr entries
* hotkey: only process reads of hotkey events that are at least the correct
length
* uefi: uefirtvariable: fix incorrect buffer size being passed
* lib: fwts_acpi_tables: enforce stricter table loading checks
* acpi: battery: clean up source, no functional change
* lib: acpica: explicitly set buffer to NULL to remove cppcheck warning
* acpica: fwts_iasl_interface: clean up static analyzer warning on freopen
* lib: fwts_pipe: clean up static analyzer warning on freopen
* ACPICA: Update version to 20150515 (LP: #1455946)
[Heyi Guo]
* uefi: efi_runtime: eliminate confusing error message of get_variable
* acpi: method: _PRS is not mandatory method
* acpi: acpitables: FADT: Ignore fields at offset 46 through 108 for
HW_REDUCED_ACPI
* efi_runtime: get_nextvariablename: Fix bug of name string copy
[Jeremy Kerr]
* fwts: Add fwts_firmware_has_features
* fwts: Only run firmware detection once
* fwts: Allow tests to be conditional on available features
* fwts: Print names of missing features, rather than a cryptic bitmask
* fwts: Add FWTS_FW_FEATURE_DEVICETREE
* fwts: Add OPAL firmware type
* cpu/cpufreq: Don't reparse cpu information
* cpu/cpufreq: hz_almost_equal is unused if !FWTS_ARCH_INTEL
* cpu/cpufreq: Add a separate cpufreq consistency test
* cpu/cpufreq: Add test for duplicate entries in cpufreq tables
* cpu/cpufreq: Do bios limit and claimed max checks as separate tests
* cpu/cpufreq: Refactor CPU performance tests
* cpu/cpufreq: Always check that cpufreq changes have taken
* fwts: Use linux perf counters for cpu benchmarking
* fwts: Use gettimeofday for cpu benchmark
* fwts: scale cpu benchmark results to one second
* cpu/cpufreq: Only run performance tests on master threads
-- Alex Hung Wed, 03 Jun 2015 16:37:55 +0800
fwts (15.03.01-0ubuntu1) vivid; urgency=low
[Colin Ian King]
* efi_runtime: ensure we don't allocate a zero byte buffer
(LP: #1429890)]
* uefi: uefirttime: Add tests to exercise invalid parameters
* acpi: acpitables: make length and skip signed to handle -ve underflow
(LP: #1435272)
* uefi: uefidump: don't dump non-printable variable contents (LP: #1435346)
* uefi: uefirtmisc: Add null count argument check for
GetNextHighMonotonicCount
* acpi: acpitables: add GTDT checking
* lib: fwts_acpi_tables: load tables from /sys (LP: #1437043)
* fwts-test: fix up acpitables tests
* fwts-tests: fix up arg-show-tests-full test
[Ivan Hu]
* uefirtauthvar: return error when get mismatch size
* uefirtauthvar: dependency checking for existence of test data
(LP: #1434408)
* uefirtauthvar: remove duplicate authenticated attribute test
(LP: #1432752)
-- Keng-Yu Lin Wed, 01 Apr 2015 11:42:51 +0800
fwts (15.03.00-0ubuntu1) vivid; urgency=low
[Colin Ian King]
* lib: fwts_framework: add --show-tests-categories option (LP: #1415953)
* fwts-test: arg-help-* - add new --show-tests-categories option
* ACPICA: Update to use ACPICA version 20150204 (LP:#1418453)
* fwts-test: disassemble-0001: ignore any copyright year changes
* fwts: update copyright year to 2015
* efi: uefirtvariable: fix build error on Ubuntu Precise
* lib: fwts_acpi_tables: fix logcal/bit-wise & thinko
* lib: fwts_framework: use strtok instead of strtok_r
[Ivan Hu]
* dmicheck: fix the range of Interface Type on Type38 (LP: #1416092)
* dmicheck: support smbios check for version 2.8.0 (LP: #1418869)
* uefirtauthvar: missing return error when mismatch size of set/get test data
[Ricardo Neri]
* efi_runtime: do not dereference userspace pointers from strings
* efi_runtime: do not access userspace addresses directly
* efi_runtime: limit the amount of data copied to userspace
* efi_runtime: get_nextvariable: copy only the needed name bytes
* uefirtvariable: allow large sizes for variable names
* efi_runtime: handle memory errors when setting variables
-- Ivan Hu Fri, 06 Mar 2015 11:01:50 +0800
fwts (15.01.00-0ubuntu0) vivid; urgency=low
[Alex Hung]
* live-image/fwts-frontend-text: skip moving and avoid overwritting
results.html (LP: #1322520)
* acpi: method: add check for _PSD
* acpi: method: add check for _PRW
[Colin Ian King]
* acpi: acpidump: reduce scope of variables
* acpi: battery: reduce scope of variables
* acpi: brightness: reduce scope of variables
* acpi: brightness: reduce scope of variables
* acpi: crsdump: reduce scope of variables
* acpi: lid: reduce scope of variables
* utilities: kernelscan: reduce scope of variables
* uefi: uefirtvariable: reduce scope of variables
* acpi: dmar: reduce scope of variables
* acpi: pcc: reduce scope of variables
* acpi: method: reduce scope of variables
* acpi: s3: reduce scope of variables
* acpi: s3power: reduce scope of variables
* acpi: s4: reduce scope of variables
* bios: hdaaudio: reduce scope of variables
* bios: mtrr: reduce scope of variables
* bios: multiproc: reduce scope of variables
* cpu: cpufreq: reduce scope of variables
* cpu: maxfreq: reduce scope of variables
* cpu: microcode: reduce scope of variables
* cpu: msr: reduce scope of variables
* cpu: nx: reduce scope of variables
* hotkey: reduce scope of variables
* hpet: hpet_check: reduce scope of variables
* lib: fwts_acpi_tables: reduce scope of variables
* lib: fwts_backtrace: reduce scope of variables
* lib: fwts_battery: reduce scope of variables
* lib: fwts_dump: replace asctime with strftime
* lib: fwts_efi_module: reduce scope of variable
* cmos: cmosdump: clarify precedence for & and ?
* lib: fwts_framework: fix some minor style warnings from cppcheck
* lib: fwts_gpe: reduce scope of variables
* lib: fwts_memorymap: fix typo on memory comparison sort
* lib: fwts_memorymap: reduce scope of variables
* lib: fwts_log: reduce scope of variables
* lib: fwts_pm_method: reduce scope of variables
* reduce scope of variables
* lib: fwts_uefi: reduce scope of variables
* pci: aspm: reduce scope of variables
* lib: klog: reduce scope of variables
* uefi: uefibootpath: reduce scope of variables
* uefi: securebootcert: reduce scope of variables
* uefi: uefidump: reduce scope of variables
* uefi: uefirtauthvar: reduce scope of variables
* uefi: uefirtmisc: reduce scope of variables
* uefi: uefivarinfo: reduce scope of variables
[Ivan Hu]
* uefibootpath: include the null-terminated space in device path length
* fwts-test: update fwts tests to sync with method tests
[Naresh Bhat]
* makefile.am : Use sysroot path for json
-- Ivan Hu Wed, 21 Jan 2015 10:39:00 +0800
fwts (14.12.00-0ubuntu1) vivid; urgency=low
[Alex Hung]
* auto-packager: mkpackage.sh: add vivid and remove quantal
* data: klog: set "Gpe0Block - 32-bit FADT register is too long" to medium
[Colin Ian King]
* data: klog.json: Update with latest errors in ACPI
* fwts-test: remove .swp file
* acpi: s4: fix infinite loop because wrong variable being incremented
* fwts: catch segfaults and bus errors and dump stack
* Fix g_timeout_add to wait an integer number of seconds
* cmos: just print drives + 1 with %d, fixes clang warning
* uefibootpath: uefibootpath_check_dev_path: return int rather than int *
* lib: fwts_klog: fix vector size and handle errors from pcre_exec
(LP: #1401184)
[Fu Wei]
* ACPI: improve the return values and the log info in the
fwts_acpi_handle_fadt_tables function.
* ACPI: add the hardware reduced mode check function in
src/lib/src/fwts_acpi_tables.c.
* ACPI: a missing FACS table can be ignored under some circumstances
[Ivan Hu]
* uefirtvariable: fix the uncheck return value warnings
[Phidias Chiang]
* README: Fix missing libglib2.0-dev dependency in README
-- Alex Hung Wed, 17 Dec 2014 15:57:35 +0800
fwts (14.11.00-0ubuntu1) vivid; urgency=low
[Alex Hung]
* acpi: method: add check for _UPC
* acpi: method: add check for _PMD
* acpi: method: add check for _PRL
* acpi: method: add check for _FPS
* acpi: method: add check for _DEP
* acpi: method: add check for _DLM
* acpi: method: add check for _MBM
* acpi: method: add check for _MLS
* acpi: method: add check for _ALR
[Colin Ian King]
* bios: mpcheck: reduce error level if ACPI is being used (LP: #1373340)
* json: allow for different paths to json.h (LP: #1326911)
* ACPICA: update to version 20140926. (LP: #1374816)
* fwts-test: disassemble-0001: update to sync with latest ACPCIA changes
* acpi: acpidump: don't assume FPDT tables are correct about their record
sizes (LP: #1375258)
* acpi: acpidump: check for short length headers (LP: #1375300)
* fwts-test: update tests to sync with method test
* acpi: acpidump: fix 32 bit build error
* ACPICA: update to version 20141107. (LP: #1391860)
* fwts-test: sync tests with new ACPICA 20141107 changes
* fwts-test: fix disassemble test to work with latest ACPICA changes
[Ivan Hu]
* securebootcert: report info instead of failure for missing DB and KEK when
secureboot disabled (LP: #1374351 )
* uefirtauthvar: add the test for creating authenticated variable
* uefirtauthvar: cleanup environment before testing
* uefirtauthvar: add test with setting the same authenticated variable
* uefirtauthvar: add test for setting authenticated variable created by
another key
* uefirtauthvar: add the normal append operation test
* uefirtauthvar: add test update the authenticated variable
* uefirtauthvar: add setting old authenticated variable test
* uefirtauthvar: delete authenticated variable test
* uefirtauthvar: setting authenticated variable with invalid modified data
test
* uefirtauthvar: setting authenticated variable with invalid modified
timestamp
* uefirtauthvar: setting authenticated variable with different guid test
* uefirtauthvar: setting authenticated variable with invalid attribute test
* uefirtauthvar: test with both authenticated attributes are set
* uefirtauthvar: Set and delete authenticated variable created by different
key test
* uefirtauthvar: cleanup environment for another authenticated variable
* fwts-test: update tests for the new uefirtauthvar tests
* uefi: open efi_runtime driver with flag O_WRONLY | O_RDWR
[Matt Fleming]
* efi_runtime: Don't use get_user() on non-pointer
[Pradeep Gaddam]
* efi_runtime: Copied the structure from userland locally in kernel space
[Yi Li]
* Add arm64 to support dmicheck test
-- Alex Hung Tue, 18 Nov 2014 16:55:31 +0800
fwts (14.09.00-0ubuntu1) utopic; urgency=low
[Alex Hung]
* acpi: method: fix incorrect comment in _CPC test
* acpi: method: fix incorrect type comparison of
ACPI_TYPE_INTBUF (LP: #1362426)
* acpi: method: fix _STR's output should be buffer, not string
(LP: #1362503)
* acpi: method: add check for _EVT
* acpi: method: add check for _GHL
* acpi: method: method: add check for _GLK
* acpi: method: add check for _SST
* acpi: method: add check for _PUR
* acpi: method: add check for _TZD and _TZM
* acpi: method: add check for _TRT
* acpi: method: add check for _PSL
* acpi: method: add check for _ART
* acpi: method: add check for _GTF and _GTM
* fwts-test: update tests for new acpi method tests
* acpi: method: fix incorrect failure messages for _TRT
* acpi: method: fix _CID errors when it returns a package (LP: #1370924)
[Colin Ian King]
* ACPICA: update to version 20140828 (LP: #1362786)
* acpi: method: extra sanity checks for _PSx objects, (LP: #1363904)
* acpi: method: add check for ACPI 5.1 _DSD (LP: #1363925)
* fwts-test: update tests because of new _DSD method check
* acpi: method: acpi: method: add check for ACPI 5.1 _CCA (LP: #1363936)
* fwts-test: update tests because of new _CCA method check
* lib + tests: make --pm-method logind dependant on glib version
(LP: #1364998)
* Check that we are at least using glib that supports logind
* data: klog.json: add a few more error message patterns
* acpi: acpidump: avoid using void * pointer arithmetic
* acpi: dmar: avoid using void * pointer arithmetic
* lib: fwts_alloc: avoid using void * pointer arithmetic
* lib: fwts_mmap: avoid using void * pointer arithmetic
* lib: fwts_multiproc: avoid using void * pointer arithmetic
* lib: fwts_pipeio: remove gcc cleanup attribute, it confuses cppcheck
* lib: fwts_alloc: add field width limit for sscanf
* lib: fwts_battery: add field width limit for sscanf
* lib: fwts_ioport: use sigsetjmp and siglongjmp
* acpi: wmi: update WMI GUIDs to be in sync with 3.17 kernel
* lib: fwts: add more sanity checks when fetching the RSDP (LP: #1372849)
* fwts-test: wmi: update test to sync with new GUIDs added to wmi test
* uefi: uefivarinfo: fix double free on data (LP: #1372874)
[Ivan Hu]
* uefirtvariable: fix the wrong operator used, coverity scan error
(LP: #1362893)
* uefivarinfo: allocate buffer rewrite to avoid realloc failure
(LP: #1362540)
[Keng-Yu Lin]
* debian: unrestrict automake and aclocal to be v1.11
* debian: increment Standards-Version to 3.9.5
* debian: unrestrict the automake version in Build-Depends
-- Keng-Yu Lin Wed, 24 Sep 2014 15:41:17 +0800
fwts (14.08.00-0ubuntu0) utopic; urgency=low
[Alberto Milone]
* Make the --pm-method argument part of fwts_framework
* Store all the pm_method related functions in fwts_pm_method.c
* s3.c: make use of the functions in fwts_power_method.h
* s4.c: add support for logind and sysfs methods
* fwts_pm_method.h: move _cleanup_free_ here and share it with s3 and s4
* s3power.c: add support for logind and sysfs methods
* doc/fwts.1: update man page since --pm-method parameter also applies to S4
* s3.c: add backward compatibility with older glib releases
* s3power.c, s4.c: add backward compatibility with older glib releases
[Alex Hung]
* ACPI: change GTDT field names in ACPI 5.1 (LP: #1350170)
* fwts-test: update arg-help-0001/0002 for pm-method changes
* fwts-test: fix up tests related to iasl and syntaxcheck changes
[Colin Ian King]
* ACPICA: update to version 20140724 (LP: #1348342)
* fwts-test: update disassemble test to sync with latest ACPICA changes
* fwts-test: update syntaxcheck test to sync with latest ACPICA changes
* ACPI: Add new ACPI 5.1 MADT stuctures and checks (LP: #1348581)
* ACPI: Add new ACPI 5.1 FADT fields and update acpidump (LP: #1348598)
* fwts-test: update ACPI table related tests due to ACPI 5.1 fwts changes
* ACPI: Fix up GTDT corrections as in ACPI 5.1 (LP: #1348618)
* lib + tests: re-work iASL backand and API to handle externals
(LP: #1317390)
* Update contributors in man page
* lib: don't use #pragma GCC push and pop
[Ivan Hu]
* uefirtvariable: setvariable without deleting the original variable
(LP: #1354301)
* uefi: add the variable attribute definition for append write (LP: #1356194)
* lib: uefi: add the status error report for the IP addr conflict
(LP: #1356195)
* uefirtvariable: skip test when specific attributes not supported
(LP: #1356199)
* uefirtvariable: add test for setvariable with both authenticated attributes
are set (LP: #1356207)
* s3: fix multiple s3 tests stop working (LP: #1359037)
-- Kun Yang Thu, 21 Aug 2014 20:48:36 +0800
fwts (14.07.00-0ubuntu0) utopic; urgency=low
[Alberto Milone]
* src/Makefile.am: depend on glib and gio
* Add build dependency on libglib2.0-dev
* Add support for different power methods to suspend
* debian/copyright: add copyright for the derivative work from systemd
* doc/fwts.1: update man page with information on the --pm-method parameter
* src/Makefile.am: use pkg-config to include glib and gio
* debian/control: add build dependency on pkg-config
[Alex Hung]
* cpu: microcode: remove failures when kernel does not have newer version
(LP: #1322534)
* lib: fwts_dump: add cpuinfo dump
* doc: fwts_dump: add cpuinfo.log to man page
* acpi: method: add _PCL control method test (LP:1343070)
[Colin Ian King]
* src/lib/*.h: remove extraneous , at end of enum lists
* acpi: acpidump: minor tidy up of code
* acpi: acpitables: minor code tidy up
* acpi: acpidump: re-arrange code to avoid declarations after code
* acpi: method: re-arrange code to avoid declarations after code
* acpi: method: re-arrange code to avoid declarations after code
* Remove extraneous ; following FWTS_REGISTER macro
* acpi: wmi: don't use unnamed struct/unions
* hpet/hpet_check: re-arrange code to avoid declarations after code
* uefi: uefidump: re-arrange code to avoid declarations after code
* uefi: securebootcert: re-arrange code to avoid declarations after code
* kernel tests: Remove extraneous ; following FWTS_REGISTER macro
* acpi: acpitables: make two more functions static
* acpi: crsdump: fix shadowing of variable 'sharing'
* acpi: method: fix shadowing of variable 'obj'
* acpi: s3: fix shadowing of variable 'i'
* acpi: s4: fix shadowing of variable 'i'
* cpu: virt: put extern virt helper func declarations in virt.h
* cpu: microcode: make microcode_find_cpu static
* dmi: dmicheck: don't inline dmi_str_check and fix variable shadowing
* hpet: hpet_check: fix shadowing of variable 'str'
* uefi: uefidump: fix shadowing of variable 'i'
* acpi: acpidump: fix shadowing of variable table
* acpi: acpitables: fix spelling mistake (LP: #1330186)
* lib: wakealarm: fix spelling mistake
* acpica: update to version 20140627 (LP: #1335280)
* Re-work include of acpi.h to work around warnings
* fwts-test: dissassemble-0001: update disassembly logs to sync with ACPICA
* fwts-test: method-0001: update test to be in sync with method test
* lib: fix handling of -ve read returns
* utilities: kernelscan: use memmove instead of strcpy
* acpi: syntaxcheck: free lists on error exit return
* acpi: s3: fix spelling mistake
[Ivan Hu]
* uefi: add a test for sanity checking for the UEFI Boot path (LP: #1316019)
* uefi: uefirtvariable: print out the duplicate variable name (LP: #1340492)
* uefidump: add Relative Offset Range subtype support for Media device path
(LP: #1322465)
-- Kun Yang Wed, 30 Jul 2014 19:08:27 +0800
fwts (14.06.00-0ubuntu0) utopic; urgency=low
[Colin Ian King]
* lib: fwts_framework: change fwts-live progress feedback (LP: #1321664)
* cpu: cpufreq: add more granularity to progress feedback
* acpi: fan: add more granularity to progress feedback
* acpi: acpidump: remove duplicate consts
* live-image: save various system and firmware data at end of test
(LP: #1322543)
* cpu: cpufreq: add more precision to GHz CPU frequency information
* cpu: cpufreq: print MHz as float, remove erroneous rounding
* cpu: cpufreq: show Turbo Boost with top _PSS value
* cpu: cpufreq: sort frequencies using almost equal comparison (LP: #1322531)
* acpica: update to version 20140424 (LP: #1312351)
* Add support for ACPI 1.0 GUID
* live-image: Add UEFI tests to the run all batch tests menu item
(LP: #1322545)
* fwts-test: arg-show-progress-dialog-0001: fix armhf failures
* fwts-test: arg-show-progress-dialog-0001: fix armhf failures, for test-0002
[Keng-Yu Lin]
* debian: add watch file
* fwts-test: arg-show-progress-dialog: sync with fwts
-- Ivan Hu Wed, 18 Jun 2014 10:20:44 +0800
fwts (14.05.00-0ubuntu0) utopic; urgency=low
[Alex Hung]
* acpi: s3power: update usage example as 10 minutes or more is suggested
[Colin Ian King]
* fwts_acpica: fix potential null ptr dereference (LP: #1298419)
* acpi: acpitables: more ACPI table header sanity checking
* acpi: acpitables: better checking on FADT SCI_INT
* acpi: acpidump: fix typo "patform" --> "platform"
* doc: fwts: add --s3-power-sleep-delay option
* doc: fwts: use lower case for description
* fwts-test: acpidump-0001: sync test with fwts
* fwts-test: arg-help-0001: sync with recent changes in fwts
* fwts-test: arch-show-tests-full-0001: keep in sync with fwts
* fwts-test: acpitables-000*: sync with recent acpitables changes
* fwts-test: arg-table-path-0001: sync test with recent fwts changes
* data: klog.json: Add a circular list ACPI warning checks
* data: klog.json: re-work _S1 and _S2 advice
* Use json_object_object_get_ex if is available
* lib: fwts_acpi_tables: fix memory leak on error exit path
* lib: fwts_button: free data after successful fwts_get()
* pci: crs: fix memory leak on cmdline
* lib: fwts_ac_adapter: fix memory leak
* lib: fwts_formatting: fix memory leak
* cpu: cpufreq: avoid division by zero ob cpu_top_speed
* acpi: cstates: fix potential integer overflow
* cpu: cpufreq: use uint64_t for CPU frequencies on HZ.
* lib: fwts_framework: avoid division by zero in % calculations
* lib: fwts_hwinfo: ensure buf.ifr_name is null terminated
[Ivan Hu]
* uefi: uefidump: fix the Partition Signature length for the HD Media Device
Path isn't correct (LP: #1308415)
* uefi: uefidump: dumping the new definitions for ipv4 ipv6 device path
(LP: #1311538)
* uefi: uefirtvariable: fix the fail GUID checking for uniqueness of variable
(LP: #1311822)
* uefi: uefirtvariable: report failure when setting variable with invalid
attribute successfully (LP: #1310686)
* fwts: uefi: clean up all test variable before doing the uefirtvariable test
(LP: #1313554)
* auto-packager: mkpackage.sh: add utopic and remove raring saucy
[Jeremy Kerr]
* Don't hard-code the installation prefix
* uefi: Don't abort on non-UEFI firmware
* fwts: fix acpi table access on failed load
* Fix include and lib dirs for srcdir != builddir builds
* acpcia: Fix makefile rules for srcdir != builddir builds
* acpica/compile: Fix srcdir != builddir builds
[Matt Fleming]
* efi_runtime: Set default value for $KVER
* efi_runtime: Refactor ioctl code into helper functions
* efi_runtime: Group kernel version dependent functions
* efi_runtime: Do not pass user addresses to firmware
-- Ivan Hu Wed, 07 May 2014 09:46:52 +0800
fwts (14.03.01-0ubuntu2) trusty; urgency=low
[Alex Hung]
* klog: ACPI does not specify _BQC as a mandatory method
* s3: add a "s3-hybrid" option to enable hybrid sleep for s3 (LP: #1295146)
* fwts-test: klog: updates for _BQC changes in
76c3ffd814cc882564f680b16f2c2d314ae58b07
* fwts-test: arg-help-0001: updates tests for new --s3-hybrid option
* fwts-test: arg-help-0001: fix test-0002.sh incorrectly uses
arg-help-0001.log
* doc: add --s3-hybrid man page entry
[Colin Ian King]
* acpi: wmi: add some newer UUIDs that are supported by linux (LP: #1292515)
* fwts_hwinfo: don't compare network addresses (LP: #1293297)
* acpi: acpidump: fix dump offsets in various table dumps (LP: #1293613)
* fwts-test: re-sync with fwts fix to acpidump
* lib: fwts_alloc: fix low 32 bit memory allocator (LP: #1295849)
* fwts-test: arg-help-0001: don't check the version field
* fwts-test: wmi-0001: update test to sync with WMI changes in fwts
* fwts-test: arg-log-format-0001: fix aarch64 failures
* acpi: method: add more advice for failed _PTS, _TTS and _WAK (LP: #1296737)
* lib: fwts_acpi_object_eval: report better advice on exec failure
(LP: #1296710)
* acpi: method: fix _ACx test (LP: #1297323)
* fwts-test: keep method-0001 test in sync with changes in fwts method
* acpica: update to version 20140325 (LP: #1297531)
* fwts-test: update ACPICA related tests due to ACPICA updates
[Keng-Yu Lin]
* debian: skip fwts-test on arm64
[Matt Fleming]
* lib: fwts_log: Add missing log field flags
-- Ivan Hu Thu, 27 Mar 2014 10:09:59 +0800
fwts (14.03.00-0ubuntu1) trusty; urgency=low
[Colin Ian King]
* acpi: fwts_acpi_tables: fix up missing FACS (LP: #1284097)
* acpi: acpidump: provide table provenance (LP: #1284205)
* apci: acpiinfo: enable for non-x86 arches (LP: #1284557)
* Add utility to dump _PLD (Physical Device Location) information
(LP: #1281835)
* acpi: add in a tool to dump GPE information (LP: #1283473)
* lib: fwts_acpi_tables: handle zero 64 bit addrs in FADT (LP: #1285167)
* bios: hda_audio: skip the test if audio devices don't exist (LP: #1285571)
* Remove copy-acpica.sh script, it is no longer used
* acpi: checksum: print RSDP checksum correctly (LP: #1287815)
* lib: fwts_acpi_tables: update RSDP checksum on fixed-up RSDP (LP: #1287852)
* acpi: acpitables: remove irrelevant test case (LP: #1287891)
* uefi: uefidump: small re-working of uefi GUID lookup
* fwts-test: update acpidump-0001
* fwts-test: acpitables-0002: sync with recent table fixing
* fwts-test: syntaxcheck-0001: update to sync with fwts
* fwts-test: arg-show-tests-0001: keep in sync with fwts
* fwts-test: arg-show-tests-full-0001: keep in sync with fwts
* fwts-test: checksum-0001: update due to fwts formatting fixes
* fwts-test: arg-table-path-0001: sync with fwts changes
* fwts-test: acpitables-0003: update to sync with fwts
* fwts-test: acpitables-0004: update test
* fwts-test: acpitables-0005: update test
* fwts-test: acpitables-0006: update test
* fwts-test: acpitables-0007: update test
* fwts-test: acpitables-0008: update test
* fwts-test: skip some tests on non-x86 builds
* fwts-test: fix tests not to compare against date (LP: #1289225)
* fwts-test: arg-help-0001: fix up some tests issues
* fwts-test: arg-log-format-0001: make test less pedandic on line numbers
* fwts-test: arg-show-progress-dialog: remove version from test
* acpica: ppc64el needs to be built as a 64 bit architecture
* debian: limit architectures to i386 amd64 armel armhf arm64 ppc64 ppc64el
[Keng-Yu Lin]
* fwts-test: Copy all files from fwts-test git tree (LP: #1201250)
* lib: Make --disassemble-aml accept the outputdir argument (LP: #1201250)
* fwts-test: Update disassemble-0001 test (LP: #1201250)
* fwts-test: Update the test scripts for new test environment (LP: #1201250)
* lib: fwts_args: determine tty width from stdin
* fwts-test: disassemble-0001: rename *.orig to *.original
-- Ivan Hu Mon, 17 Mar 2014 15:13:44 +0800
fwts (14.02.00-0ubuntu0) trusty; urgency=low
[Colin Ian King]
* acpi: method: fix ppc64el build failure (LP: #1272265)
* acpi: acpidump: handle invalid MADT table data (LP: #1278422)
* cpu: cpufreq: tidy code, show advice when cpu scaling unavailable
(LP: #1267959)
* lib: fwts_release: call lsb_release rather than parsing raw data
(LP: #1266823)
* ACPICA: update to version 20140214. (LP: #1281096)
* lib: fwts_acpi_tables: fix parsing of empty data (LP: #1281197)
[Ivan Hu]
* data: klog.json: lower the level of the failure when the _S1 and _S2 not
implemented (LP: #1279714)
-- Alex Hung Wed, 19 Feb 2014 11:48:01 +0800
fwts (14.01.01-0ubuntu0) trusty; urgency=low
[Alex Hung]
* auto-packager: mkpackage.sh: add trusty
* debian: add dependency lts-saucy to fwts-efi-runtime-dkms
[Colin Ian King]
* fwts: add subdir-objects as required now by automake 1.14 (LP: #1268685)
* ACPICA: update to version 20140114 (LP: #1269423)
* fwts_log.h: remove LOG_TAG, fix up following bitfields (LP: #1269076)
* updated automake files for libjson-c (LP: #1268005)
* lib: fwts_framework: fix --stdout-summary output (LP: #1252186)
* Allow for RSDP that is not 16 byte aligned (LP: #1271522)
* fwts_exec: fix status check (LP: #1271607)
-- Alex Hung Fri, 24 Jan 2014 10:54:58 +0800
fwts (14.01.00-0ubuntu1) trusty; urgency=low
[Alex Hung]
* dmi: change max value of "Upgrade" field" from 0x2a to 0x2c (LP: #1263634)
[Colin Ian King]
* cpu: microcode: test should skip if no microcound found (LP: #1259900)
* acpi: acpidump: add SPCR table (LP: #1260351)
* acpi: acpidump: add DBGP table (LP: #1260353)
* acpi: acpidump: add DBG2 table (LP: #1260356)
* Enable ACPI table dumping for non-x86 systems (LP: #1260470)
* Allow RSDP to be provided manually or scan for it in klog (LP: #1260400)
* Dump ACPI table addresses with correct address length (LP: #1260482)
* ACPICA: update to version 20131218 (LP: #1262348)
* acpi: acpidump: dump out table descriptions (LP: #1261483)
* acpi: acpidump: Add MCHI table (LP: #1261484)
* fwts: remove launchpad tagging from fwts
* doc: remove tag options --lp-tags and --lp-tags-log
* data: klog.json: remove redundant tags from database
* lib: klog: add fwts_klog_find_changes to compare klogs (LP: #1262208)
* acpi: s3: do kernel log comparisons without destroying klog (LP: #1262208)
* acpi: s4: do kernel log comparisons without destroying klog (LP: #1262208)
* lib: add fwts_exec() helper function
* fwts: use fwts_exec rather than fwts_pipe_exec
* acpi: crsdump: fix large resource length calculation (LP: #1255793)
* acpi: crsdump, prsdump: add support for _PRS dumping (LP: #1265827)
* fwts: all: update copyright year to 2014
* fwts: debian: update copyright dates
* fwts: doc: update dates, some of these are way too old
* dmi: dmicheck: add more checks for invalid DMI fields (LP: #1262236)
* data: klog: sync up with 3.13 kernel (LP: #1266786)
* fwts: attempt to make fwts less Ubuntu specific, (LP: #1246653)
* fwts: fix common realloc() memory leak anti-pattern (LP: #1267193)
* acpi: s3: remove redundant variable
* bios: pciirq: fix printf format and tidy some variable scopes
* acpi: powerbutton: ensure we don't get scanf buffer overflow
* cpu: cpufreq: use correct printf format specifiers
[IvanHu]
* lib: fwts_uefi header add attribure packed for struct typedef
* uefi: uefidump: add the Media Protocol subtype-5 support on media device
path type for uefidump (LP: #1260147)
* uefi: uefidump: add the PIWG Firmware File subtype-6 support on media device
path type for uefidump (LP: #1260147)
* uefi: uefidump: add the PIWG Firmware Volume subtype-7 support on media
device path type for uefidump (LP: #1260147)
* uefi: uefidump: extend the Messaging Device Path type Vedor subtype-10
(LP: #1262095)
-- Alex Hung Tue, 14 Jan 2014 16:13:37 +0800
fwts (13.12.00-0ubuntu1) trusty; urgency=low
[Alex Hung]
* data: klog.json: set _DOS error to low as kernel workarounds it
(LP: #1250764)
* acpi: method: add _PIC control method test (LP: #1252997)
* acpi: method: move commented _CWS to correct section
* acpi: method: add _IFT and _SRV control method tests (LP: #1255915)
* acpi: method: remove resource descriptor field "_INT" from
method/object list
[Colin Ian King]
* lib: fwts_hwinfo.c: Fix strict aliasing build failure on Lucid
(LP: #1251587)
* ACPICA: update to version 20131115
* data: klog.json: thermal overrun messages should be checked on
klog test (LP: #1253146)
* data: klog.json: fix two spelling mistakes
* acpi: method: fix spelling mistake in comment
* cpu: cpufreq: check CPU freq max limits (LP: #1253047)
* cpu: maxfreq: report maxfreq and tidy up the test (LP: #1253658)
* cpu: msr: tidy up output and tidy up source (LP: #1253684)
* cpu: msr: Add Ivybridge and Haswell MSRs (LP: #1254066)
* cpu: msr: remove the need for shift in tables, tidy up tables
* lib: fwts_guid: consitify and minor tidy up
* lib: fwts_acpi: constify fwts_acpi_fadt_preferred_pm_profile
* acpi: acpidump: constify tables and func args, tidy up source
* hpet: hpet_check: skip test3 if HPET address was not found (LP: #1257825)
* acpi: autobrightness: make error reporting far less verbose (LP: #1257782)
* doc: fix --s3-sleep-delay man page entry
* lib: remove fwts_virt, it contains code that is not used (LP: #1259655)
[Ivan Hu]
* uefi: uefidump: add more subtype support on acpi device path type for
uefidump (LP: #1253000)
* uefi: uefidump: dealing with the End of Hardware Device Path sub-type
0x01 (LP: #1253906)
* uefi: uefidump: add the Fibre Channel Ex subtype-21 support on messaging
device path type for uefidump (LP: #1255387)
* uefi: uefidump: add the SATA subtype-18 support on messaging device path
type for uefidump (LP: #1255387)
* uefi: uefidump: add the USB WWID subtype-16 support on messaging device
path type for uefidump (LP: #1255387)
* uefi: uefidump: add the VLAN subtype-20 support on messaging device path
type for uefidump(LP: #1255387)
* uefi: uefidump: add the Device Logical Unit subtype-17 support on messaging
device path type for uefidump(LP: #1255387)
* uefi: uefidump: add the SAS Ex subtype-22 support on messaging device path
type for uefidump(LP: #1255387)
* uefi: uefidump: add the iSCSI subtype-19 support on messaging device path
type for uefidump(LP: #1255387)
* uefi: uefidump: add the NVM Express namespace subtype-23 support on
messaging device path type for uefidump (LP: #1255387)
* lib: fwts_acpi_table: multi-FADT table support fimware make sure the table
from XSDT be checked first. (LP: #1258378)
-- Keng-Yu Lin Wed, 11 Dec 2013 14:09:00 +0800
fwts (13.11.00-0ubuntu1) trusty; urgency=low
[Alex Hung]
* acpi: method: correct alphabetical order in comments to sync with acpi spec
* acpi: method: add missing names to acpi-method list
* acpi: method: add _CBA control method test (LP: #1249171)
* acpi: method: add _CDM control method test (LP: #1249172)
* acpi: method: add _CID control method test (LP: #1249174)
* acpi: method: add _GAI control method test (LP: #1249894)
* acpi: method: add _MSG control method test (LP: #1249939)
* acpi: method: add _PMM control method test (LP: #1249941)
* acpi: method: add _UPD and _UPP control method tests (LP: #1251168)
[Colin Ian King]
* lib: framework: report warning[s] correctly (LP:#1223736)
* lib: update copyright year. (LP: #1226590)
* acpi: mcfg: Parse /sys/bus/pci rather than using lspci (LP: #1226615)
* syntaxcheck: report IASL compiler remarks as low failures (LP: #1200606)
* acpi: fadt: sanity check reset register settings (LP: #1230394)
* ACPICA: update to version 20130927.
* iasl: capture output from stderr to catch iasl fatal errors
* pci: aspm: remove the need to run and parse lspci output (LP: #1227853)
* lib: fwts_klog: Add ability to write message to kernel log
* acpi: s3: add timings report for suspend/resume (LP: #1241638)
* acpi: s3: add --s3-suspend-time and --s3-resume-time (LP: #1241638)
* lib: add new PCI definitions
* pci: aspm: use new fwts PCI defintions
* pci: maxreadreq: don't use lspci to get PCI specific data (LP: #1244676)
* uefi: uefidump: add more checks to avoid buffer overruns (LP: #1239641)
* bios: mtrr: don't use lspci to get PCI specific data (LP: #1244673)
* wakealarm: use ioctl() interface as this more of a generic interface
(LP: #1244184)
* Tests: replace "check" with "test" in test name headings (LP: #1246650)
* data: klog.json: Sync up with latest kernel 3.12 (LP: #1248499)
* lib: Add PCI helper to return description of a device
* lib: fwts_hwinfo: don't use external utils for H/W checks (LP: #1246646)
* debian: control: remove some unrequired suggests
* acpi: brightness: use /sys/class/backlight interface (LP: #1250517)
* acpi: brightness: break up brightness test (LP: #1250429)
* acpi: syntaxcheck: non-x86 may have ACPI support (LP: #1251293)
* acpi: method: Change "Check" to "Test", (LP: #1246650)
[Ivan Hu]
* uefi: uefidump: fix the boot load option Boot#### larger than Boot1000
doesn't be parsered (LP: #1225850)
* uefi: uefidump: Add support for DriverOrder (LP: #1237263)
* uefi: uefidump: add support for Driver#### (LP: #1237263)
* uefidump: add support for Key#### (LP: #1237263)
* uefi: uefidump: add support for db, dbx, dbt... variables scan
(LP: #1247749)
* uefi: uefidump: compare the SignarureType GUID and print out type for
signature database parser (LP: #1247749)
* uefi: uefidump: add support for KEK, KEKDefault, PK, PKDefault global
variables scan (LP: #1247749)
[Keng-Yu Lin]
* Force to use automake1.11 to prevent FTBFS in Trusy (LP: #1250340)
-- Keng-Yu Lin Fri, 15 Nov 2013 14:11:00 +0800
fwts (13.09.01-0ubuntu1) saucy; urgency=low
[Alex Hung]
* live-image/fwts-frontend-text: add uefi tests to fwts-live (LP: #1223793)
[Keng-Yu Lin]
* efi_runtime: fix the broken kernel vermagic when upgrading the kernel
pacakge (LP: #1223801)
-- Keng-Yu Lin Tue, 17 Sep 2013 15:27:31 +0800
fwts (13.09.00-0ubuntu1) saucy; urgency=low
[Colin Ian King]
* lib/fwts_uefi.c: fix time-of-use race on open/stat (LP: #1209251)
* lib: fwts_cpu.c: fix time-of-use race on stat/open (LP: #1209225)
* lib: fwts_dump: remove the redundant path in fwts_dump_info (LP: #1216344)
* data: klog.json: Add some more ACPI related kernel error messages
(LP: #1219006)
* fwts: framework: Add missing closed parenthesis for -U option (LP: #1219576)
[Ivan Hu]
* UEFI: move the UEFI tests into the UEFI category (LP:#1207200)
* uefi: uefidump: Add support for HwErrRecSupport
* uefi: uefidump: Add support for OsIndicationsSupported
* uefi: uefidump: Add support for VendorKeys
[Naresh Bhat]
* ACPICA:enable 64bit build for aarch64 architecture
-- Keng-Yu Lin Tue, 10 Sep 2013 17:33:17 +0800
fwts (13.08.00-0ubuntu1) saucy; urgency=low
[Alex Hung]
* dmi: dmi_decode: merge smbios test as they both check dmi/smbios
* dmi: rename dmi_decode test to dmicheck
[Colin Ian King]
* uefi: uefirtvariable: minor cleanup of failure message
* uefi: uefirtvariable: add options to specify iterations in variable stress
tests (LP: #1197742)
* efi_runtime: Fix efi_runtime build warnings (LP: #1198168)
* efi_runtime: ensure it always builds for kernels > 3.0.0 (LP: #1198168)
* efi_runtime: memset the entire structure (LP: #1198236)
* lib: add acpica mode types
* lib: framework: add new acpica mode flags
* lib: acpica: set various ACPICA global mode flags depending on acpica_mode
* lib: fwts_framework: add support for new --acpica option
* acpi: method: handle ACPICA slack mode gracefully
* doc: add --acpica option to man page
* acpi: syntaxcheck: use ASL_MESSAGE_TYPES instead of #defining them
(LP: #1200568)
* acpi: syntaxcheck: ensure error message strings are in sync with error
(LP: #1200568)
* lib: fwts_log: set non-TTY log with to 80 characters (LP: #1200592)
* acpi: syntaxcheck: fix spelling mistake (LP: #1200602)
* fwts_iasl_interface.c: ensure we read in all of stdout (LP: #1200426)
* data: klog.json: rename "Common" label prefix to "Klog", (LP: #1201311)
* data: klog.json: Update patterns to keep in sync with Linux 3.10
(LP: #1201335)
* bios: hdaaudio: skip the test if no BIOS pin config found (LP: #1201903)
* pci: aspm: test should skip if it can't read FACP or PCIe config
(LP: #1201909)
* docs: remove legacy notes created during early fwts development
* smatchify.sh: fix spelling mistake
* bios: mtrr: fix spelling mistake
* acpica: Makefile.am: fix spelling mistake
* data: syntaxcheck.json: fix spelling mistakes
* data: klog.json: fix spelling mistakes
* docs: fwts.1: fix spelling mistake
* doc: fwts-frontend-text.1: fix spelling mistake
* ACPICA: update to version 20130725 (LP: #1205203)
* acpi: syntaxcheck: strcpy should be replaced with strncpy (LP: #1205215)
* acpi: method: check for NULL buf before dereferencing it (LP: #1205267)
* lib: fwts_alloc: use plain old mmap on 32 bit machines (LP: #1204065)
* ACPICA BZ 1035 fixes segfault with too many ^^^^^^ prefixes.
(LP: #1205714)
* lib: fwts_log_json: check sting from json is not null (LP: #1206285)
* acpi: acpidump: fix segfault on BERT entries (LP: #1206643)
* data: klog.json: Add some firmware related kernel warnings (LP: #1206958)
* utils: kernelscan: also scan for warning messages (LP: #1206953)
* lib: fwts_log_json: enable json human readable formatting (LP: #1206290)
[Zhang Rui]
* update README_ACPICA to reflect the real ACPICA repo
-- Keng-Yu Lin Wed, 07 Aug 2013 10:27:51 +0800
fwts (13.07.00-0ubuntu1) saucy; urgency=low
[Alex Hung]
* data: klog.json: remove duplicated patterns
[Colin Ian King]
* data: klog.json: Add some more advice for the now common lpc_ich warnings
* apci: acpidump: fix segfault when dumping ASF! tables (LP: #1188209)
* acpica: fwts_acpica: some cosmetic tidying up.
* acpica: fwts_acpica: no need to check for null ptr on fwts_low_free
* lib: acpica + fwts_framework: add --acpica-debug option
* cpu: cpufreq: re-phrase P-state coordination message
* cpu: cpufreq: remove the time to run from the description
* Makefile.am: move apicedge test to keep tests in alpabetical order
* bios: smbios: minor re-structure of test1
* klog: move from acpi to kernel directory
* bios: mpdump: fix indexing outside of mpdump_sys_addr_type array
* lib, acpi, hotkey: remove redundant null checks before free()
* bios: smbios: add more sanity checks to SMBIOS information
* lib: fix assembly/disassembly segfault when AcpiOsVprintf is calle
(LP: #1195209)
* ACPICA: update to version 20130626
* acpica: nspredef: fix null pointer dereference issue (LP: #1195251)
* lib: fwts_framework: remove fwts_framework_setting
* lib: fwts_framework: minor tidy up of code
* lib: fwts_framework: remove some old and redundant #defines
* fwts_iasl_interface.c: allocate temp buffers required for IASL
(LP: #1196463)
[Ivan Hu]
* uefivarinfo: add the utility to show the NVRam and variable info
[Keng-Yu Lin]
* update_version.sh: use non-localised date representation
-- Keng-Yu Lin Wed, 03 Jul 2013 11:07:03 +0800
fwts (13.06.00-0ubuntu1) saucy; urgency=low
[Alex Hung]
* bios: mtrr: add uncached string for DEFAULT type
* pci: maxreadreq: Audio device to chipset devices.
* data: klog.json: remove a redudent line break
[Colin Ian King]
* debian: control: fix typo
* lib: fwts_uefi: make vars work on recent kernels (LP: #1171617)
* cpufreq: use qsort to sort frequencies
* lib: fwts_uefi: cast to __SWORD_TYPE 32 bit builds
* apic: apicedge: minor code tidy-up
* cmos: cmosdump: remove unused commented out code
* cmos: cmosdump: minor code tidy up, formatting
* cpu: maxfreq: remove unused fwts_cpuinfo typedef
* cpu: maxfreq: use number of cpus as number of items in calloc()
* cpu: maxfreq: use doubles for cpu freqs rather than int
* doc/fwts.1 add in names of contributors to fwts
* copy-acpica.sh: update to use the correct ACPICA git repo
* uefi: uefidump: don't recurse forever on zero lengths (LP: #1174947)
* acpica: update to ACPICA version 20130418.
* cpu: cpufreq: fix leak of file if fgets returns NULL
* cpu: cpufreq: fix leak of dir before we return
* cpu: maxfreq: fix leak of cpuinfo
* lib: fwts_microcode: fix leak of allocated microcode buffer
* lib: fwts_memorymap: free klog on error
* lib: fwts_keymap: free keymap_list on error
* lib: fwts_cpu: free cpu on error
* hotkey: close fd on error
* cpu: nx: free fwts_nx_cpuinfo on error
* bios: mtrr: free mtrr_list on file open error
* cpu: maxfreq: free cpufreq on error
* acpi: dmar: free klog list on error
* acpi: fan: fix resource leak bugs
* acpi: lid: free gpe resources on error
* acpi: s3: free quirks and command resources
* acpi: s3power: free quirks and command resources
* lib: fwts_cpu: initialize variable, stop coverity warning
* lib: fwts_uefi: fix check of empty d_name
* lib: fwts_uefi: only close fp if it was successfully opened
* lib: fwts_memorymap: handle the case where str maybe NULL
* cpu: cpufreq: avoid division by zero
* uefi: uefidump: fix missing break in switch statement
* uefi: uefidump: missing va_end on str == NULL return path
* dmi: dmi_decode: remove redundant snprintf
* acpi: cstates: set state->present[nr] if nr < MAX_CSTATE
* utilities: kernelscan: fix memory leak
* lib: fwts_dump: check error return on mkdir
* lib: fwts_acpid: check fcntl return rather than assuming it works
* hotkey: check lstat() return value rather
* acpi: ac_adapter: initialize matching and not_matching
* acpi: acpidump: fix overflow before widening bug
* lib: fwts_args: free long_options on error
* lib: fwts_framework: free resources on error
* lib: fwts_log: free filenames on error condition
* acpica: fwts_acpica: clear sa_mask fields
* bios: hdaaudio: free list items and not list
* lib: fwts_framework: free just items in list and not list descriptor
* acpi: lid: Fix nesting bug
* acpi: battery: Fix nesting bug
* lib: fwts_release: check *str rather than str
* acpica: fwts_acpica: missing unlock on error path
* cpu: virt: correctly return true if SVM is enabled
* lib: fwts_framework: ensure we don't truncate null names
* acpi: fan: fix cur_state comparison bugs
* acpi: brightness: check get_setting return
* acpi: s4: free quirks
* acpi: s3: free quirks
* lib: fwts_log: free log_file on error exit
* acpica: Fix for _INI regression.
* acpi: battery: free gpe resources on error
* data: klog.json: Add ACPI video notify handler check
* data: klog.json: Add ACPI video notify handler remove check
* data: klog.json: Add checks for Intel Lynxpoint LPSS errors
* data: klog.json: Add check for ACPI region field type error
* data: klog.json: Add check for object repair or convert failure
* data: klog.json: Add ACPI fixed event error checking
* data: klog.json: Make ArgType a regex to match various similar strings
* data: klog.json: Drop ACPI prefix, make patten a string match
* data: klog.json: Bit offset pattern should be a regex not a string match
* Revert "acpi: s3: free quirks and command resources"
* lib: framework: don't check for long string if src is NULL
* acpi: acpidump: ensure we are shifting a 64 bit unsigned long
* cpu: cpufreq: make test more generic for non-x86 systems
* acpica: update to ACPICA version 20130517.
* lib: remove fwts_microcode
* cpu: microcode: rewrite so we no longer need to load microcode (LP: #1120240)
* dmi: dmi_decode: Add checks for frequent bad defaults on AMI firmware
* acpi: wakealarm: enable for non-x86 devices (LP: #1182630)
* acpi: wakealarm: minor tidy up to the test
* acpi: acpiinfo: missing possessive apostrophe
* data: klog.json: fix spelling mistake
[Ivan Hu]
* lib: fwts_uefi: modify the return value of the fwts_uefi_get_interface
* acpica: fix the build error after patch the update to ACPICA version 20130418
* uefirtvariable: fix the unchecked return value
* lib: fwts_uefi: add the function to check the efivars interface existence
* securebootcert: need to check the efivars interface existence while checking the variable db and kek
[Keng-Yu Lin]
* efi_runtime: Update the address of the Free Software Foundation
* auto-packager: mkpackage.sh: remove Natty and Oneiric
* debian: control: Add the backported HWE kernel header packages
* auto-packager: mkpackage.sh: Add Saucy
* configure.ac: Use AM_PROG_AR when it exists
-- Keng-Yu Lin Wed, 05 Jun 2013 10:51:43 +0800
fwts (0.26.08-0ubuntu1) raring; urgency=low
[Colin Ian King]
* uefi: uefivariable: fix build error on older compilers
* acpi: acpidump: fix spelling mistake, useage -> usage
* acpi: acpidump: abort dumping of SLIC if length is zero
* data: klog.json: Add in another batch of BIOS and ACPI related checks
* dmi: dmi_decode: Add another commonly used serial number
* uefi: uefirtvariable: minor reformatting for 80 char width lines
* uefi: uefirtvariable: minor code tidy up, constify and statics
[Ivan Hu]
* efiruntime: getnextvariablename update the VariableNameSize before return
when get EFI_BUFFER_TOO_SMALL
* uefirtvariable: add some information for the GetNextVariableName sub-tests
-- Keng-Yu Lin Mon, 08 Apr 2013 16:45:31 +0800
fwts (0.26.07-0ubuntu1) raring; urgency=low
[Colin Ian King]
* update_version.sh: Insert just date + time in date stamp
* acpi: mcfg: move PCI mmap and munmap to compare_config_space
* acpi: syntaxcheck: reformat warning messages
* acpi: syntaxcheck: add in extra error level messages
* acpi: syntaxcheck: re-work IASL error mappings
* data: syntaxcheck: remove redundant error code
* acpi: syntaxcheck: add helpers to convert error_code
* acpi: syntaxcheck: issue error messages depending on error level
* acpi: syntaxcheck: add some more per-table information in log
* data: syntaxcheck: add a few more advice entries
* lib: Add helper function to get release info
* data: cater for _PTS not existing
* data: klog.json: cater for CMOS handler errors
* data: klog.json: fix a typo: of --> if
* data: klog.json: Add some vague advice for AE_NOT_EXIST
* data: klog.json: Improve the advice for AE_AML_BUFFER_LIMIT
* lib: fwts_log_*: fix a few smatch errors
* dmi: dmi_decode: DMI not used by kernel should be low failures (LP: #1148703)
* lib: framework: add in test name before test description
* data: syntaxcheck.json: add more advice info for common errors
* data: klog.json: Add some more ACPI related kernel message checks
[Ivan Hu]
* lib: fwts_uefi: fixed the newer inteface never be used
* securebootcert: add Ubuntu UEFI secure boot tests
* securebootcert: add Ubuntu UEFI secure boot test - check MS UEFI CA
* securebootcert: add Ubuntu UEFI secure boot test - check Ubuntu CA presence
* lib: fwts_uefi: add a helper fuction to convert attribute into readable form
* data: klog.json: add message for the LVT offset conflict issue
[Matt Fleming]
* uefirtvariable: Correct DataSize for GetVariable()
* uefirtvariable: Check new VariableNameSize from GetNextVariableName()
* uefirtvariable: Test GetNextVariableName() returns unique variables
* uefirtvariable: Test GetNextVariableName() error handling
* efi_runtime: Add 'install' target
-- Keng-Yu Lin Tue, 12 Mar 2013 16:01:22 +0800
fwts (0.26.06-0ubuntu1) raring; urgency=low
[Alex Hung]
* lib: fwts_ioport: fix calling unmatched I/O function in a help function.
[Colin Ian King]
* lib: fwts_ioport: add dummy stubs for non-x86 arch
* acpica: fwts_acpica: remove fwtsInstallLateHandlers
* acpi: wmi: re-write to eval _WDG rather than parse AML
* acpi: method: print out BCL brightness levels rather than dump the object
* cpu: cpufreq: tidy up information message formatting
[Ivan Hu]
* wmi.c: fix build error when using gcc 4.6.3
[Keng-Yu Lin]
* debian: add fwts-efi-runtime-dkms package in the dependency
-- Keng-Yu Lin Thu, 21 Feb 2013 14:54:18 +0800
fwts (0.26.05-0ubuntu1) raring; urgency=low
[Colin Ian King]
* lib: fwts_uefi: fix build error when using gcc 4.6.3
* lib: fwts_uefi: fix a couple of spelling mistakes that crept in
* doc/fwts: remove debug options from fwts man page (LP: #1100955)
* data: klog.json: add better advice for a common firmware issue
* acpi: method: format _TSS states into a table
* acpi: method: Show the name of the _PSS control
* acpi: method: implement _CST sanity checks
* acpi: method: refactor some of the passed messages
* acpi: method: tidy up passed/failure messages
* apci: method: update comments on implemented tests
* acpi: method: use a helper function for MethodReturnNullObj errors
* data: klog.json: Make PnP BIOS message into an info message
* data: klog.json: Handle SystemIO conflict messages
* acpi: method: Add simple _FIX test
* acpi: method: Add _HPP (Hot Plug Parameters) sanity check
* lib: framework: Increase precision of progress, add a spinner progress
indicator
* acpi: method: Add _INI (Init) sanity check
* acpi: method: _CST test checks for wrong number of package elements
* acpi: method: Add _PRS return buffer sanity checking.
* acpi: method: update comments describing objects/controls
* acpi: method: Add helpers to check for package sizes
* lib: fwts_list: optimize list functions a little, make small helper funcs
inline
* acpi: method: fix some tests that don't indicate passed when they are
complete
* acpi: method: tidy up some more tests
* acpi: method: add helper to check for package contents, simplify code.
* lib: fwts_ioport: add helper functions to do port I/O
* acpi: fadt: use new I/O port helpers to avoid segfaults
* lib: fwts_cmos: Use new I/O helpers, add more error checking
* hpet: hpetcheck: fix a bug found by smatch
* apci: apicinstance: clean up smatch warning
* script: smatchify.sh: build fwts and check with smatch
* kernel: version: gather kernel boot command line
* acpi: crsdump: dump ACPI _CRS buffers in an annotated form
[Ivan Hu]
* data: klog.json: Make FADT truncated warning into info message
* efi_runtime: add UEFI runtime service QueryCapsuleCapabilities interface
* uefirtmisc: add UEFI runtime service QueryCapsuleCapabilities interface
test.
* efirtmisc: add UEFI runtime service QueryCapsuleCapabilities interface
stress test
-- Keng-Yu Lin Mon, 04 Feb 2013 15:25:56 +0800
fwts (0.26.04-0ubuntu1) raring; urgency=low
[Colin Ian King]
* lib: fwts_list: make list creation and initialisation more optimal.
* lib: cpu: add common CPU performance measuring code to fwts library
* lib: Makefile: Link in math library because we need sqrt()
* acpi: cstates: use new fwts_cpu_performance() helper function
* cpu: cpufreq: Use new fwts_cpu_performance() helper function
* bios: pciirq: make table dump more compact, fix formatting
* acpi: method: ignore _WAK return values
* acpi: method: don't bother dumping _WAK package, it's just noise
* acpi: cstates: cater for different kernel C-state info
* acpi: method: don't bother reporting internal ACPI lock success
* acpi: method: dump out _PSS states in a tabular format
* apci: method: don't bother dumping out the _BST contents
* apci: method: don't bother dumping out the _BIF contents
* apci: method: don't bother dumping out the _BIX contents
* apci: method: don't bother dumping out the _DOD contents
* cmos: cmosdump: add in some previously unknown RTC settings
* README: Updated for latest version of fwts. Add more info too.
* README_SOURCE: Reformat to make it 80 char width friendly, minor changes.
* src: lib: Makefile.am: Minor tidy up of the makefile.
* src: acpica: Makefile: Slight tidy up of the makefile.
* src/Makefile.am: Tidy up fwts main makefile, re-order tests
* lib: fwts_apci_method: rename object evaluation functions
* acpi: pcc: renaming of ACPI object evaluation function names
* acpi: method: renaming of ACPI object evaluation function names
* lib: rename fwts_acpi_method to fwts_acpi_object_eval
* lib: fwts_ac_adapter: constify some struct fields and variables
* lib: fwts_guid: constify guid_str_len and guid_len parameters
* lib: fwts_framework: test names should be dislayed in a wider format field
* data: klog: Remove a duplicate timer BIOS bug check
* data: klog.json: Add more specfic parse/execution failure checks on
timeouts
* data: klog.json: move the most generic parse/execition failure message down
* acpi: acpidump: use offsetof macro from stddef.h rather than define our own
* acpi: pcc: fix some stupid typos
* hpet: hpetcheck: add ACPI HPET table check
* lib: update copyright year to 2013
* tests: update copyright year to 2013
* misc: update copyright year to 2013
* lib + tests: don't stringify the test name in FWTS_REGISTER
* lib: fwts_framework: assert on FWTS_REGISTER names being too long
* lib: framework: log the fwts command line for reference.
* acpi: acpidump: fix ACPI FPDT dump
* cpu: cpufreq: fix a bunch of 32 bit build errors
* lib: fwts_acpi_tables: speed up table loading on 64 bit systems
* acpica: fwts_acpica: optimise semaphore tracking
* acpica + acpi: method test: remove fwts_acpica_simulate_sem_timeout()
* acpica: fwts_acpica: force indefinite AML Wait() to timeout
* acpi: method: Add better _CRS resource checking
* data: klog.json: fix spelling mistake
* data: klog.json: fix spelling mistake
[Ivan Hu]
* uefirtvariable: add more specific passed messages for each sub-tests
* uefirtvariable: add the function to print out the return status messages
* uefirttime: print out the return status and description when errors occur
* uefirttime: unload the efi_runtime module when deinit the test
* uefirtvariable: remove the invalid attribute tests after
ExitBootServices() is performed
* uefirtvariable: add function test for SetVariable with invalid attributes
* fwts_uefi:uefirtvariable:use sizeof() for defining long integer for fixing
build failure on 32 bit systems
* uefirtvariable: restore the environment when errors occur after the test
variables have been set
* uefirtvariable: add new test for UEFI runtime QueryVariableInfo
* uefirtvariable: add stress test for UEFI runtime interface GetVariable
* uefirtvariable: add stress test for UEFI runtime interface
GetNextVariableName
* uefirtvariable: add stress test for UEFI runtime interface SetVariable with
the same data
* uefirtvariable: add stress test for UEFI runtime interface SetVariable with
different data
* uefirtvariable: add stress test for UEFI runtime interface SetVariable with
different name
* uefirtvariable: add stress test for UEFI runtime interface SetVariable with
different name and data
* uefirtvariable: skip the tests when get the EFI_OUT_OF_RESOURCES from
firmware
* uefirtvariable: add stress test for the UEFI runtime QueryVariableInfo
interface
* uefirtmisc: add the test for UEFI runtime GetNextHighMonotonicCount
interface
* uefirtmisc: add stress test for UEFI runtime GetNextHighMonotonicCount
interface
[Keng-Yu Lin]
* uefi: uefirtvariable: use sizeof() for finding the bit size of long integer
* debian: change the mail address of the maintainer
* auto-packager: mkpackage.sh: Add raring
-- Keng-Yu Lin Thu, 17 Jan 2013 14:01:06 +0800
fwts (0.26.03-1) raring; urgency=low
[Colin Ian King]
* data: klog.json: fix up and correct a few miscellaneous klog items
* data: klog.json: promote EC error so it gets caught before generic handler
* kernel: version: make test infoonly rather than pass/fail tests
* cpu: cpufreq: spell Ghz as GHz and Mhz and MHz
* cpu: cpufreq: Make this test no longer experimental.
* lib: fwts_pipeio: fwts_pipe_exec() should return FWTS_ERROR instead of -1
* lib + tests: modify fwts_pipe_exec to return the child exit status
* acpi: apicinstance: make this an Intel x86 only test
* acpi: method: handle ACPI failures a little more gracefully
* apci: aspm: clean up messages
* acpi: acpidump: print a message if no ACPI tables could be found.
* lib: fwts_dump_data: tidy up code, ensure we limit nbytes to 16
* data: klog.json: Add next 20 or so ACPI_ERROR messages
* utilities: kernelscan: Add check for ACPI_ERROR_METHOD kernel errors
* data/klog.json: Scan for all the ACPI_ERROR_METHOD kernel errors
* acpi: acpidump: fix formatting of bit fields
* data/klog.json: Update a parse/execution failure advice line
* acpi: acpiinfo: Complete reworking to bring it up to date.
* acpi: fadt: only perform port read on valid port widths
* pci: aspm: make pcie_capability a packed struct type
* bios: mtrr: remove unused VGA region check
* bios: mtrr: move buffer memset() to after failed is declared.
* bios: mtrr: make the failed flag a boolean
* bios: mtrr: make is_prefetchable() return a bool type
* bios: mtrr: make skiperror a boolean
* acpi: dmar: Make this test no longer experimental.
* lib: fwts_cmos: fix build error with non-Intel architectures
* lib: fwts_smbios: fix build error with non-Intel architectures
* lib: fwts_virt: fix non-Intel build errors
* acpi: pcc: make this test an Intel only test
* bios: mtrr: make prefetchable checks handle lspci exec failures
* bios: mtrr: remove mtrr_test4 because we're removed FWTS_TEST_VGA_REGION
* lib, tests: remove fwts common test, merge into fwts klog
[Ivan Hu]
* uefirtvariable: Add new test for UEFI runtime GetVariable
* uefirtvariable: Add new test for UEFI runtime GetNextVariableName
* uefirtvariable: Add new test for UEFI runtime SetVariable, subtest 1
* uefirtvariable: Add new test for UEFI runtime SetVariable, subtest 2
* uefirtvariable: Add new test for UEFI runtime SetVariable, subtest 3
* uefirtvariable: Add new test for UEFI runtime SetVariable, subtest 4
* uefirtvariable: Add new test for UEFI runtime SetVariable, subtest 5
-- Keng-Yu Lin Mon, 17 Dec 2012 15:13:11 +0800
fwts (0.26.02-1) raring; urgency=low
[Alex Hung]
* acpi: mcfg: Set MCFGMMIONotReserved error to low
[Colin Ian King]
* fwts_mmap: fwts_page_size fix comparing size_t against -1
* lib: fwts: add FWTS_UNUSED() macro for unused func arguments
* lib: fwts_*: use FWTS_UNUSED on unused func args in fwts library
* lib: Makefile.am: enable -Wextra
* dmi: dmi_decode: remove some redundant range changes on uint8_t values
* tests: use FWTS_UNUSED on unused func args
* Makefile.am: enable -Wextra
* lib: include: fwts_log, add in new label field
* lib: klog: load labels from json data file rather than auto-generate
* data: klog.json: add in label for each error message
* lib: klog: tidy up the code a little
* utilities: kernelscan: Tool to scan kernel for error messages
* utilities: kernelscan: tidy up the formatting of output messages.
* utilities: kernelscan.sh: scan various directories for kernel error messages
* utlities: kernelscan: make some regex optimisations
* utilities: kernelscan: fix comment that explains how to use this tool
* utilities: kernelscan.sh - add execute flag to script
* data: klog.json: Add support for ACPI fan and ACPI processor throttling
* data: klog.json: Add support for the ACPI SMBUS driver
* data: klog.json: Add support for the ACPI utils kernel error messages
* data: klog.json: Add support for the ACPI processor_idle kernel error messages
* data: klog.json: Add support for the ACPI arch x86 kernel sleep
* data: klog.json: Add support for the ACPI container handler
* data: klog.json: Add support for the ACPI Lid errors
* data: klog.json: Add support for the ACPI Docking handler
* data: klog.json: Add support for the ACPI EC handler
* data: klog.json: Add support for the ACPI thermal zone handler.
* data: klog.json: Add support for the ACPI device power handler
* data: klog.json: Add support for the ACPI PCI root handler
* data: klog.json: Add support for the ACPI initialisation error messages
* data: klog.json: Add support for the ACPI blocklisting messages
* data: klog.json: Add support for the ACPI osl messages
* data: klog.json: Add support for the ACPI memory hotplug messages
* data: klog.json: Add support for the ACPI glue code
* data: klog.json: Add support for the ACPI video handler
* data: klog.json: Add support for the ACPI processor perf driver
* data: klog.json: Add support for the ACPI processor driver
* data: klog.json: Add support for the ACPI PCI link control messages
* data: klog.json: Add support for the ACPI PCI slot messages
* data: klog.json: Add in some more miscellaneous ACPI error messages
* data: klog.json: Add support for the ia64 ACPI handler.
* data: klog.json: Add support for the x86 MTRR kernel messages
* data: klog.json: Add support for various BIOS and PnPBIOS kernel messages
* utilities: kernelscan: add in ACPI configs and more printk message types
* utilities: kernelscan.sh: Add more paths to scan
* data: klog.json: Add support for the APM driver kernel messages
* data: klog.json: Add support for E820 handler in 3.2.x Kernels
* utilities: kernelscan.sh: Check that the file exists
* utilities: kernelscan.c: Add scanning for ACPI_ERROR
* cpu: microcode: ensure we don't overflow with strncpy
* pci: maxreadreq: ensure we don't overflow with strncpy
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPI ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* lib: fwts_oops: check for WARN_ON messages as well as oopses
* kernel: oops: also check for WARN_ON messages found
* acpi: s3: also check for WARN_ON messages found
* acpi: s4: also check for WARN_ON messages found
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* data: klog.json: ACPICA ACPI_ERROR messages
* utilities: kernelscan.c: add scanning for ACPI_BIOS_ERROR messages
* lib: fwts_test: calloc being called with args swapped
* lib: fwts_oops: fix fwts_oops_check dereference checks on oopses and warn_ons
* utilities: kernelscan: swap calloc arguments in unget_next()
* utilities: kernelscan.c: add scanning for ACPI_EXCEPTION messages
* acpi: pcc: New test to sanity check PCC, (LP: #863175)
* data: klog.json: ACPICA ACPI_ERROR messages, exutils.c
* data: klog.json: ACPICA ACPI_ERROR messages, utmath.c
* data: klog.json: ACPICA ACPI_ERROR messages, dswload2.c
* data: klog.json: ACPICA ACPI_ERROR messages, utexcep.c
* data: klog.json: ACPICA ACPI_ERROR messages, hwxfsleep.c
* data: klog.json: ACPICA ACPI_ERROR messages, exoparg2.c
* data: klog.json: ACPICA ACPI_ERROR messages, evevent.c
* data: klog.json: ACPICA ACPI_ERROR messages, utmutex.c
* lib: fwts_framework: make framework magic id into a uint32_t
* lib: fwts_framework: failed_level should be type fwts_log_level
* lib: fwts_framework: show_progress flag should be a bool
* lib: fwts_framework: print_summary should be a bool
* lib: fwts_framework: use fwts_framework_flags instead of int
* lib: fwts_framework: make test priority a strongly typed enum
* lib: fwts_klog: forgot to log a klog error using the pattern string
* lib: fwts_klog: Don't regex compile non-regex strings
* lib: fwts_framework, fwts_klog: Add filtering to fwts errors
* lib: fwts_framework: sanity check new options
* doc: Add new --filter-error-discard and --filter-error-keep options.
* data: klog.json: Add the final set of ACPI_EXCEPTION errors
* data: klog.json: fix up the RSDP error exception advice to make more sense
* data: klog.json: Add all the ACPI_BIOS_ERROR messages
[Ivan Hu]
* klog: change the MSR_IA32_ENERGY_PERF_BIAS test from fauilure to info
* uefirttime: add the fwts test for the UEFI get wakeup time runtime service
* uefirttime: add the fwts test for the UEFI set wakeup time runtime service
* cpufreq: fix the CPUFreqCPUsSetToSW_ANY failed LP#1076694
* cpufreq: fix the CPUFreqSW_ALL and CPUFreqSW_ANY failed LP#1076694
[Keng-Yu Lin]
* data: klog.json: remove the duplicated KlogEnergyPerfBiasSetToNormal item
-- Keng-Yu Lin Thu, 29 Nov 2012 13:52:59 +0800
fwts (0.26.01-1) raring; urgency=low
[Alex Hung]
* pcie: aspm: add more information for L0s and L1 warnings (LP: #1055430)
* hotkey: remove redundant framework parameter from hotkey_find_keyboard
* bios: hdaaudio: fix user pin configurations (user_pin_configs) is not checked.
[Colin Ian King]
* lib: acpi: add ACPI 5.0 GIC and GICD structs to MADT
* acpi: acpidump: Dump out the new MADT GIC and GICD structures
* acpi: acpitables: Add checks for MADT GIC and GICD
* acpi: acpitables: fix typo in LAPICX2 APIC NMI Flags tag
* lib: acpi: Add support for the new ACPI 5.0 PCCT
* acpi: acpidump: Add support for ACPI 5.0 PCCT
* acpi: apcidump: Add ACPI 5.0 support for boot flag CMOS RTC present bit
* acpi: method: re-order tests based on location in specification
* acpi: method: re-order method test functions
* acpi: method: tidy source; 80 columns wide formatting
* acpi: method: add some more comments
* acpi: method: clean up spacing in for loops
* acpi: method: add in all ACPI control method and objects
* acpi: method: add DDN, HID, HRV, PLD, SUB, STR checks
* acpi: method: add checks for EDL, RMV, STA
* acpi: method: add BCT test
* acpi: method: add checks for GCP, GRT, GWS
* acpi: method: Add check for GSB
* acpi: method: Add check for SEG
* acpi: method: Add PRx, SxD, SxW checks
* acpi: method: fix typo SWP --> SWS
* acpi: method: Add _S0_ .. _S5_, _SWS checks
* acpi: method: Add CPC, CSD, PCT, PDL, PPC, TDL, TSD and TSS checks
* bios: smbios: fix typo Stucture ==> Structure
* cpu: virt fix typo extentions ==> extensions
* cpu: virt: fix typo originall ==> originally
* lib: fwts_formatting: fix typo upto ==> up to
* lib: fwts_log_html: fix typo convertion ==> conversion
* lib: fwts_checkeuid: fix typo priviledges ==> privileges
* example: blank test: fix typos ommitted ==> omitted
* acpi: wakealarm: fix typo existance ==> existence
* acpi: acpitables: fix typo managment ==> management
* acpi: acpidump: print format using inttypes
* acpi: acpitables: print format using inttypes
* acpi: checksum: print format using inttypes
* acpi: fadt: print format using inttypes
* acpi: method: print format using inttypes
* acpi: s3power: print format using inttypes
* bios: bios32: print format using inttypes
* bios: ebda_region: print format using inttypes
* bios: ebdadump: print format using inttypes
* bios: mtrr: print format using inttypes
* bios: mpcheck: print format using inttypes
* cpu: msr: print format using inttypes
* dmi: dmi_decode: print format using inttypes
* hpet: hpet_check: print format using inttypes
* lib: fwts_memorymap: print format using inttypes
* uefi: csm: print format using inttypes
* uefi: uefidump: print format using inttypes and whitespace tidy
* lib: fwts_acpid: fix checking of return from read()
* lib: fwts_acpi_method: fix for loop index type
* lib: fwts_dump: fix loop variable type to match table length type
* lib: fwts_framework: Make string length type a size_t rather than an int
* lib: fwts_framework: remove redundant parameter from fwts_framework_run_test
* lib: fwts_framework: remove redundant fw parameter from fwts_framework_show_tests_brief
* lib: fwts_framework: remove fw parameter from fwts_framework_test_find
* lib: fwts_framework: remove fw parameter from fwts_framework_skip_test_parse
* lib: fwts_battery: remove redundant framework parameter in helper functions
* lib: fwts_button: Remove framework parameter from fwts_button_match_state_proc
* lib: fwts_button: fix comment on function name
* acpi: acpidump: fix a bunch of int type issues.
* acpi: acpitables: use the correct type for failed
* acpi: mcfg: make mcfg_size a ssize_t
* acpi: wmi: make size a size_t
* bios: bios_info: fix bug where product_serial was not being dumped
* bios: hdaaudio: remove redundant fw parameter from hda_audio_check_pins
* bios: dmi_decode: remove redundant parameters from helper functions
* dmi: dmi_decode: failed_count should be uint32_t
* pci: aspm: remove redundant parameter in pcie_check_aspm_registers
* cpu: maxfreq: remove redundant init and deinit functions
* hotkey: remove redundant framework parameter from hotkey_find_keymap
* uefi: csm: use uint32_t for BIOS address ranges
* uefi: uefidump: cast to ptrdiff_t to remove mixed signed/unsigned comparison
* acpi: method: fix a bunch of mixed type comparison issues
* lib: fwts_alloc: use ptrdiff_t to ensure non-mixed type comparison
* lib: fwts_json: wrapper for json error returns
* lib: fwts_klog: use FWTS_JSON_ERROR macro for error checking
* acpi: syntaxcheck: use FWTS_JSON_ERROR macro for error checking
* uefi: uefidump: remove FWTS_FLAG_UNSAFE from test.
* lib: fwts_ac_adapter: constify state
* lib: fwts_acpi_method: constify funcs and static tables
* lib: fwts_acpi_tables: constify func arguments where appropriate
* lib: fwts_args: constify func arguments where appropriate
* lib: fwts_battery: constify func arguments where appropriate
* lib: fwts_button: constify function arguments where appropriate
* lib: fwts_checkeuid: constify function arguments where appropriate
* lib: fwts_hwinfo: constify function arguments where appropriate
* lib: fwts_memorymap: constify function arguments where appropriate
* lib: fwts_log: constify function arguments where appropriate
* lib: fwts_summary: constify function arguments where appropriate
* cpu: cpufreq: add init function to determine number of CPUs
* lib: fwts_mmap: add fwts_page_size()
* acpi: acpidump: correctly dump out MCFG configuration
* acpi: mcfg: use fwts_acpi_mcfg_configuration as defined in fwts_acpi.h
* acpi: mcfg: more code tidying.
* acpi: mcfg: split into two distinct tests
[Ivan Hu]
* efi_runtime: add efi_runtime kernel driver module into fwts
* efi_runtime: add checking the efi environment
* efi_runtime: add UEFI runtime service QueryVariableInfo interface
* efi_runtime: add UEFI runtime service GetNextHighMonotonicCount interface
* lib: fwts_efi_module: add fwts library helper fuctions for efi_runtime module
* uefirttime: add fwts tests for the UEFI get/set time runtime services
[Keng-Yu Lin]
* uefi: Add fwts-efi-runtime-dkms package
* Add autotools scripts for the data directory
-- Keng-Yu Lin Thu, 25 Oct 2012 16:14:43 +0800
fwts (0.26.00-1) quantal; urgency=low
[Colin Ian King]
* uefi: uefidump: Dump out variables containing kernel messages
* uefi: uefidump: add support for ConErrDev
* uefi: uefifump: Add support for dumping SecureBoot and SetupMode vars
* uefi: uefidump: Add support for dumping MemoryOverwriteRequestControl.
* uefi: uefidump: Add support for AcpiGlobalVariable
* uefi: uefidump: Add support for SignatureSupport variable
* lib: fwts_guid: Add fwts_guid_str_to_buf to convert string back to a GUID
* uefi: add in support for new uefivar file system interface
* lib: framework: Add "unsafe" test category
* lib + tests: bulk rename of fwts flag macros
* lib: fwts_framework: fix unnecessary escaping
* acpica: Fix segfault when disassembling AML (LP: #1050475)
[Keng-Yu Lin]
* auto-packager: mkpackage.sh: checksum only the specified version
-- Keng-Yu Lin Fri, 14 Sep 2012 13:35:31 +0800
fwts (0.25.07-1) quantal; urgency=low
[Chris Van Hoof]
* fwts-collect: make sure we are executing as root or with sudo
* fwts-collect: reference sudo requirement in show_help()
[Colin Ian King]
* acpi: method: remove _GTS and _BFS tests
* acpi: method: _PSS power dissipation levels can be equal to previous level
* acpi: method: only get pedantic about therm returns if values are hard coded
* misc: remove old crufty valgrind script
* acpica: tidy up code to remove GCC warnings
* Add some MTRR specific klog tests.
* lib: fwts_klog: sanity check json klog data is readable
[Ivan Hu]
* msr: remove the IA32_A_PMC0-3 and IA32_TSC_AUX from cosistent test
* mtrr: fix mtrr checking without devices that are under bridges
[Keng-Yu Lin]
* auto-packager: Add Quantal and remove Maverick
* auto-packager: update mkpackage.README
* auto-packager: Add mktar.sh to make the release tarball
* auto-packager: mkpackage.sh to handle the released tarball
* auto-packager: Update the mkpackage.README
* debian: change source package format to 3.0 (quilt)
* Add dh-autoreconf support and clean up generated files (LP: #1042287)
-- Keng-Yu Lin Wed, 05 Sep 2012 16:31:13 +0800
fwts (0.25.06) quantal; urgency=low
[Alex Hung]
* acpi: method: Change _BBN's test_type from METHOD_MOBILE to METHOD_OPTIONAL
[Colin Ian King]
* acpi: acpidump: add extra ACPI 5.0 fields to FACP
* acpi: acpidump: Add support for bit 20 and 21 of FADT flags
* Update FADT preferred PM profile to add Tablet
* dmi: dmi_decode: make advice more relevant to data handled by the kernel
* Add mutex around semaphore counting (LP: #1017388)
* acpi: method: remove race delay kludge
* lib: acpi_acpi_tables: Add tables based on ACPI name and not file name.
* lib: fwts_acpi_tables: Force fixup on XSDT and RSDT when loading from .dat
files
* lib: acpica: fix semaphore counting by waiting for threads to complete
* acpica: incorporate new ACPICA sources to enable fwts to build
* acpica: use latest ACPICA source
* Update copy-acpica.sh to copy over new sources
* Update README_ACPICA.txt to add in new acpica sources
* acpi: acpidump + acpi headers: Add simple support for FPDT
* acpi: acpidump + acpi headers: Add basic dump of RASF
* acpi: acpidump: Add stub for MPST
* acpi: acpidump: make arrays static
* data: klog.json: make the _OSC failure advice more general and hand-wavy
* cpu: cpufreq: cpufreq and cpuidle dirs confusing cpuN parsing
* cpu: cpufreq: make progress estimate more accurate
* cpu: cpufreq: tidy up table output
* cpu: cpufreq: rename some global variables to make them more readable
* cpu: cpufreq: various whitespace clean ups
* cpu: cpufreq: tidy up memset usage
* cpu: cpufreq: make HzToHuman() more efficient
* cpu: cpufreq: add need to run as root
* bios: mtrr: fix stupid typos
* lib: fwts_klog: optimize regex scanning (LP: #1028031)
[Keng-Yu Lin]
* debian: Add hardening options
-- Keng-Yu Lin Fri, 27 Jul 2012 17:22:07 +0800
fwts (0.25.05) quantal; urgency=low
[Chris Van Hoof]
* live-image/fwts-frontend-text: use mv versus ln as symbolic links are not
supported on fat file systems
[Colin Ian King]
* dmi_decode: Add some more advice text
* dmi_decode: Only be pedantic if we are sure about the board type
(LP: #1021674)
* dmi_decode: report chassis types with 0x prefix since they are in hex
* lib: tidy up source, remove trailing whitespaces and empty lines
* acpi: method: update table of implemented tests
* acpi: method: add new _AEI check
* acpi: method: Add stub for ACPI 5.0 _CPC
* acpi: method: Add new ACPI 5.0 _PRE
* acpi: method: Add new ACPI 5.0 _PSE check
* acpi: acpidump: Add ACPI 5.0 GTDT support.
* acpi: acpidump: Add ACPI 5.0 BGRT support.
* lib: fwts_log_json: do more json object out of memory checking
* acpi: acpidump: dump out ACPI UEFI tables
* acpi: acpidump: Add SLIC table dump
* acpi: acpidump: dump out the DMAR table
* acpi: acpidump: dump out the ASF! table
* acpi: acpidump: Add dump of TCPA
* acpi: s4: hibernate/resume failures should be HIGH failures
* acpi: s3: suspend/resume failures should be HIGH failures
* Add empty m4 directory so autoreconf does not fail
* Remove the autotool generated files
* lib: fwts_hwinfo: sort device info before comparing (LP: #1018288)
[Keng-Yu Lin]
* Install the libraries in pkglib
* debian: Add autoreconf parameters -ivf
-- Keng-Yu Lin Wed, 11 Jul 2012 13:58:43 +0800
fwts (0.25.04) quantal; urgency=low
[Colin Ian King]
* apci: acpitables: only check CMOS in BOOT table from firmware tables
(LP: #1016469)
* lib: fwts_acpi_tables: add ACPI table provenance
* lib: fwts_acpi_tables: load tables in deterministically
* lib: fwts_log: handle special logfile names
* lib: log: move line counting to logging back-ends
* lib: fwts_log: remove fwts_log_line_number(), no longer used
* lib: fwts_framework: output all logfile names being written to
* lib: fwts_log: add fwts_log_get_filenames()
* lib: fwts_summary: remove references to log line number
[Keng-Yu Lin]
* debian: Fix up the dependency of debian packages
-- Keng-Yu Lin Mon, 25 Jun 2012 16:44:51 +0800
fwts (0.25.03) quantal; urgency=low
[Chris Van Hoof]
* live-image/fwts-frontend-text: conditional added to done_tests_finish()
which creates a symbolic link to the latest results.html at the top level
WORK_DIR
* live-image/fwts-frontend-text: adding support for both plaintext and html
log out by default with --log-type
[Colin Ian King]
* apci: checksum: RSDT and XSDT checksum failures should not be critical
(LP: #1013168)
* lib: fwts_log_html: convert misc ASCII chars to HTML mnemonics
* lib: fwts_framework: handle --log-type parse errors
* lib: fwts_summary: handle the log_type now that it is a bit map
* lib: rework logging and framework to allow for multiple output logs
* lib: fwts_framework: handle nested log section endings on ABORT
* lib: fwts_log_html: remove timestamp as it is in the heading anyhow
* Update README
* lib: fwts_acpi_tables: fake table start address when loading from file.
* lib: fwts_framework: set log name suffix when using --log-type option
* lib: fwts_summary: HTML summary should not be in verbatim
* lib: fwts_log_html: tweak style and table format
* lib: fwts_memorymap: output should be in verbatim style
* bios: mtrr: make MTRR overview all verbatim style, looks better on HTML log
* lib: add HTML logging backend
* lib: fwts_framework: log advice as LOG_ADVICE and not LOG_RESULT
* lib: fwts_framework: remove fwts_framework_results, remove redundant code
* lib: fwts_log: add extra log types and upper case flavour of
fwts_log_field_to_str_full()
* lib: fwts_framework: drop unneccessary \n in log call
* lib: add xml logging
* lib: fwts_acpi_method: remove leading 0x in front of dumped strings
* bios: mtrr: strip off trailing newlines
* bios: bios_info: strip off trailing newlines
* kernel: version: strip off trailing newline
* lib: fwts_wakealarm.c: add more comments
* lib: fwts_oops.c: add more comments
* lib: fwts_mmap.c: add more comments
* lib: fwts_keymap.c: add more comments
* lib: fwts_iasl.c: add more comments
* lib: fwts_guid.c: add more comments
* lib: fwts_button.c: add more comments
* lib: fwts_ac_adapter.c: add more comments
[Keng-Yu Lin]
* debian: update copyright to conform to copyright-format 1.0
* debian: update the control file
-- Keng-Yu Lin Tue, 19 Jun 2012 13:31:53 +0800
fwts (0.25.02) quantal; urgency=low
* fwts V0.25.02 release (LP: #1004410)
[Alex Hung]
* acpi: battery: add trip point tests for acpi batteries
* lib: fwts_battery: fix incorrect strings for a battery with unit of mWh
* lib: fwts_battery: fix no fclose() after fopen is called.
* acpi: battery: added cycle count check for acpi batteries.
[Colin Ian King]
* doc: update man page
* lib: fwts_summary.c: force non-word wrap using *_verbatim logging
* lib: fwts_framework: default to plaintext log type
* lib: re-work logging to add in json formatted log output
* lib: fwts_log: tidy up white spaces and strncmps
* lib: fwts_log: re-work log underline
* lib: move log line number into log struct
* lib: fwts_log: remove default line num and test name from log
* lib: fwts_args: remove strlen() calls, more efficient and stops valgrind
complaining
* acpica: fwts_acpica.c: Override ACPICA Semaphores to fix memory leak bug
* pci: aspm: make functions static
* pci: aspm: free memory from lists
* pci: aspm: fix memory read outside buffer
* lib: fwts_battery: added interface for cycle count.
-- Keng-Yu Lin Fri, 25 May 2012 18:11:11 +0800
fwts (0.25.01) precise; urgency=low
[Keng-Yu Lin]
* wmi: Fix an error on processing the _WDG data
-- Keng-Yu Lin Thu, 26 Apr 2012 10:30:35 +0800
fwts (0.25.00) precise; urgency=low
[Alex Hung]
* doc: remove --aspm option from man page
* pcie: added explanations to aspm messages.
[Colin Ian King]
* acpi: method: add _PSS test
* lib: fwts_acpi_method: gather all object names rather than just method names
* acpica: add -fno-strict-aliasing to ignore type punning warnings (LP: #971886)
* Update copy-acpica.sh to include new ACPICA sources
* acpica: force infinite loops and OS delays to complete faster since timing is not relevant
* acpica: fwts_iasl_interface: we need to enable preprocessor to stop ramdom segfaulting
* data: syntaxcheck.json: re-order based on new ACPICA error code updates
* acpica + lib: fix assemble/dissassemble to work with new ACPICA core
* lib: fwts_acpi_tables: ensure we don't overflow a table name when given bad input
* Update README_ACPICA.txt to reflect new ACPICA sources added
* acpica: fwts_acpica: reworking required for new ACPICA changes
* acpica: update Makefiles
* acpica: updates to existing ACPICA sources
* acpica: new ACPICA sources
* lib: fwts_fileio.c: remove unnecessary variable len
* acpi: acpidump: remove unnecessary variable n
* lib: fwts_tag: use size_t instead of int
* lib: fwts_stringextras: use size_t instead of int
* lib: fwts_framework: use size_t instead of int
* lib: fwts_battery: use size_t instead of int
* lib: fwts_acpi_method: use size_t instead of int
* acpica: fwts_acpica: use size_t instead of int
* acpi: method: use size_t instead of int
* acpi: cstates: use size_t instead of int
* acpi: acpitables: use size_t instead of int
* lib: fwts_args: only handle non-zero length short_names
* Update copyright year
* Remove old TODO.txt
* klog: Add EC transaction failure detection
[Keng-Yu Lin]
* debian: update Standards-Version and debhelper version
-- Keng-Yu Lin Fri, 20 Apr 2012 09:54:15 +0800
fwts (0.24.21) precise; urgency=low
[Alex Hung]
* pcie: add pcie aspm registers check on root port and device.
[Chris Van Hoof]
* fwts-frontend: v2 update to conditional logic to better detect
if we're booted via casper and additional logic to toggle auto
shutdown behaviour when testing
[Colin Ian King]
* uefi: uefidump: handle realloc failure
* lib: fwts_pipeio: handle realloc failure
* lib: fwts_args: handle realloc failure
* lib: acpid: handle realloc failures in fwts_acpi_event_read()
* lib: fwts_acpi_tables: handle fwts_low_realloc() failures
* acpica: handle realloc failures in fwts_acpica_vprintf()
* lib: fwts_klog: remove redundant free()
* acpi: checksum: flag up errors that are critical, add more helpful advice
* acpi: checksum: fix typo shorted -> shortened
* acpi: checksum: reformat lines to fit into 80 columns
* acpi: wmi: use snprintf to be safe
* acpi: wmi: const func args
* acpi: wmi: reformat source into 80 columns
* acpi: dmar: make seg a uint16_t rather than an int
* acpi: dmar: make func args const
* acpi: acpiinfo: tidy up source
* bios: hdaaudio: ensure source fits into 80 columns
* bios: hdaaudio: use calloc() instead of malloc()
* lib: fwts_tag: handle out of memory failure
* bios: ebdadump: ensure source fits into 80 columns
* bios: bios32: ensure source fits into 80 columns
* lib: arg + framework: more robust out of memory handling.
* lib: fwts_stringextras: handle out of memory failure
* uefi: uefidump: fix infinite recursion on unknown end terminator (v2)
* bios: memmapdump: ensure source fits into 80 columns
* acpica: fwts_acpica_init(): handle out of memory failures
* bios: mtrr: handle out of memory failures
* hpet: hpet_check: make func args const where possible
* hpet: hpet_check: ensure source fits into 80 columns
* fwts-collect: fix typo
* fwts-collect: tidy up error handling
* fwts-collect: collect more fwts dumped data
* read /proc/mtrr rather than use ioctl() interface
[Keng-Yu Lin]
* debian: use autoreconf instead of dh-autoreconf
-- Keng-Yu Lin Fri, 09 Mar 2012 15:04:30 +0800
fwts (0.24.20) precise; urgency=low
[Chris Van Hoof]
* debian: update fwts-frontend.install to include
fwts-frontend-text man page
* doc: addition of fwts-frontend-text man page
* src/Makefile: include fwts-frontend-text.1 to man_MANS
[Keng-Yu Lin]
* auto-packager: change the git location
* auto-packager: add Precise release
-- Keng-Yu Lin Thu, 09 Feb 2012 18:00:42 +0800
fwts (0.24.19) precise; urgency=low
[Alex Hung]
* dmi: dmi_decode: check type 3 chassis type with acpi preferred_pm_profile
* dmi: dmi_decode: check acpi battery if type 22 is present.
* pcie: aspm: use FWTS_ROOT_PRIV flag
[Colin Ian King]
* cpu: msr: GPF avoidance on BOCHs QEMU systems (LP: #925001)
-- Keng-Yu Lin Thu, 09 Feb 2012 13:52:50 +0800
fwts (0.24.18) precise; urgency=low
[Alex Hung]
* cpu:msr: fixed errors for checking SMRR MSR registers
[Keng-Yu Lin]
* Fix a typo error of "DSTD"
-- Keng-Yu Lin Mon, 06 Feb 2012 16:39:43 +0800
fwts (0.24.17) precise; urgency=low
[Alex Hung]
* pcie: aspm: add aspm option and detect if the
"PCIe ASPM Controls" bit is set in FADT.
[Colin Ian King]
* Sanity check for MSR_IA32_ENERGY_PERF_BIAS messages.
* Since aspm is a test, move it out of the fwts core library
* Update copyright year
[Keng-Yu Lin]
* lib: add PCIe ASPM configuration check in the batch test
* debian: use dh-autoreconf
-- Keng-Yu Lin Tue, 31 Jan 2012 13:47:48 +0800
fwts (0.24.16) precise; urgency=low
[Chris Van Hoof]
* Renaming directory 'iso-image' to 'live-image' and
'live-image/fwts_wrapper' to 'live-image/fwts-frontend-text'
* Adding a default dialogrc configuration file to select the Ubuntu color
palatte when fwts-frontend-text is executed
* Adding a bit of conditional logic to fwts-frontend-text to better detect
if executed in a live image and setting defaults which make the script
easier to control
* debian: adding fwts-frontend.install
* debian: update control file to build the _optional_ fwts-frontend package
-- Keng-Yu Lin Mon, 09 Jan 2012 11:08:06 +0100
fwts (0.24.15) precise; urgency=low
* lib: fwts_acpi_find_rsdp_bios should only scan for RSDP on Intel/AMD
* cpu: msr: disabled test for non-Intel/AMD architectures
-- Keng-Yu Lin Mon, 09 Jan 2012 10:17:46 +0100
fwts (0.24.14) precise; urgency=low
* Add copy-acpica.sh script that updates the ACPI
* data: klog: add _OSC evaluation failure tests
* data: klog: add _CRS evaluation PNP kernel erro
* uefi: csm: fix typo.
-- Keng-Yu Lin Wed, 16 Nov 2011 11:49:04 +0800
fwts (0.24.13) precise; urgency=low
* acpi: power_button: remove check on /proc/acpi/button/power
* lib: fwts_button: add power button support
* acpi: lid: use button helper
* lib: add generic button helper into lib
* lib: add generic button helper
-- Colin King Tue, 9 Nov 2011 12:37:00 +0100
fwts (0.24.12) precise; urgency=low
* debian: update control
* uefi: add UEFI CSM check.
-- Colin King Tue, 9 Nov 2011 10:05:00 +0100
fwts (0.24.11) oneiric; urgency=low
* lib: update battery helpers and re-work tests
* acpi: s3power: use fwts_battery helper
* lib: add fwts_battery
* s3power: use fwts_ac_adapter()
* acpi: ac_adapter: use fwts_ac_adapter lib
* lib: add fwts_ac_adapter
* acpi: ac_adapter: use newer /sys interface
* acpi: method: clean up dangling whitespaces
* acpi: method: handle mobile platform tests when FADT is lying
* acpi: method: dump return object on non-null return failures.
* acpi: method: make lock delay between each test 0 usecs
* acpi: method: on non-mobile tests explicitly report skipped mobile tests
* lib: fwts_cmos: disabled interrupts during port I/O (LP: #880472)
* bios: pciirq: fix typo
* bios: pnp: fix typo in event_notification_addr
-- Colin King Fri, 4 Nov 2011 09:09:00 +0100
fwts (0.24.10) oneiric; urgency=low
* fwts-collect: fix mpdump log and don't remove README.txt
* doc: remove --dmidecode option from man page
* pci: crs: fetch BIOS date from /sys/class/dmi/id/bios_date
* lib + tests: remove framework dmidecode and --dmidecode option
* lib: fwts_dump: don't use fw->dmidecode anymore
* lib: fwts_dump: warnings if not being run by root.
* lib: fwts_framework: fwts_framework_show_version() more generic
* lib + tests: add warning flag to fwts_check_root_euid()
* klog: enable this for non-x86
* pci: maxreadreq: enable this for non-x86
* kernel: oops: enable this for non-x86
* lib: fwts_dump: do sensible non-x86 dumps
* lib: fwts_smbios: fix non-x86 build failure.
-- Colin King Thu, 20 Oct 2011 09:11:00 +0100
fwts (0.24.09) oneiric; urgency=low
* bios: Add PnP Installation Check structure test
* bios: pciirq: fix formatting
* bios: Add Legacy PCI IRQ Routing Table test
-- Colin King Wed, 19 Oct 2011 18:41:00 +0100
fwts (0.24.08) oneiric; urgency=low
* debian: remove dependancy on dmidecode
* pci: crs: get BIOS date from SMBIOS rather than rely on dmidecode
* lib: fwts_smbios: add in fwts_dmi_header from dmi_decode
* lib: fwts_smbios, fetch version number too.
* dmi: dmi_decode: complete re-write, better detection (LP: #874373)
* bios: smbios: handle legacy DMI header
* lib: smbios: handle legacy DMI header
* lib: tidy up headers
* bios: smbios: use smbios find helper
* lib: add smbios find helper
* bios: smbios: check header fully and dump fields (LP: #876331)
* bios: bios32: use fwts_checksum
* acpi: checksum: use fwts_checksum
* lib: fwts_acpi_tables: use fwts_checksum
* lib: multiproc: use fwts_checksum
* lib: add checksum helper fwts_checksum()
* bios: smbios: use systab efi helper
* lib: fwts_acpi_tables: use systab efi helper
* lib: add efi systab scanning helper.
* acpi: fwts_apci_method + method: improve error checking and object dumping
-- Colin King Tue, 18 Oct 2011 16:36:00 +0100
fwts (0.24.07) oneiric; urgency=low
* uefi: uefidump: use new fwts_guid_buf_to_str()
* acpi: wmi: use new fwts_guid_buf_to_str()
* lib: Add GUID string formatting
* acpi: method: use acpi_methods_* funcs
* lib: add acpi_methods_* handling
-- Colin King Fri, 14 Oct 2011 15:56:00 +0100
fwts (0.24.06) oneiric; urgency=low
* libfwtsiasl: ensure .y builds are not racey
* acpi: method: fix typo on method_exists() func name
* lib: fwts_log: fix off-by error on month on %date (LP: #872736)
* Add debian autopackager
-- Colin King Thu, 13 Oct 2011 11:29:00 +0100
fwts (0.24.05) oneiric; urgency=low
* libfwtsiasl: fix pbuilder warnings
* Add notes on structure and coding conventions of fwts
* example: blank test - fix to use new framework style
* fwts_wrapper: update copyright dates
* Remove old cruft
* Update README_ACPICA to keep in sync with latest ACPICA
* Update with autoreconf respin
* Update to ACPICA, commit 45ebe2cf90521fe511b827007e9c1e5c610292b6
-- Colin King Fri, 7 Oct 2011 19:01:00 +0100
fwts (0.24.04) oneiric; urgency=low
* acpi: checksum: output correct checksum value (LP: #869018)
* framework: -T option should be -t, (LP: #868226)
* klog: detect WMI driver pr_info() warning messages (LP: #865384)
-- Colin King Thu, 6 Oct 2011 14:50:00 +0100
fwts (0.24.03) oneiric; urgency=low
* acpi: acpitables: Tidy FADT RESET_REG error message.
* acpi: method: relax _BIF, _BIX tests.
* acpi: acpitables: fix spurious advice infomation (LP: #862170)
* acpi: method: less noisy errors when many _BCL levels are in wrong order.
* acpi: method: Check _BST charging + discharging more thoroughly (LP: #862153)
-- Colin King Thu, 29 Sep 2011 10:48:49 +0100
fwts (0.24.02) oneiric; urgency=low
* acpi: method: check AE_OK return from AcpiEvaluateObject()
* pci: maxreadreq: add more helpful advice (LP: #859651)
* acpi: method: Make incorrect _WAK returns non-fatal as kernel ignores these anyway.
* lib: fwts_hwinfo: do pactl checking correctly (LP: #837606)
-- Colin King Wed, 28 Sep 2011 11:42:00 +0100
fwts (0.24.01) oneiric; urgency=low
* add fwts-collect man page
* debian: add fwts-collect to fwts installer
* scripts: fwts-collect - collect up logs for bug reporting
-- Colin King Tue, 20 Sep 2011 18:28:46 +0100
fwts (0.24.00) oneiric; urgency=low
* iso-image: fwts_wrapper dialog wrapper script.
* assets: fwts logo
-- Colin King Tue, 20 Sep 2011 18:16:00 +0100
fwts (0.23.23) oneiric; urgency=low
* cmos: cmosdump: fix floppy disk info
* cmos: cmosdump: fix register 0x0b dump (LP: #837969)
-- Colin King Wed, 31 Aug 2011 17:07:34 +0100
fwts (0.23.22) oneiric; urgency=low
* declare various private variables and functions static (LP: #837215)
* bios: multiproc: make mpdump_get_apic_id static
* bios: multiproc: remove redundant mpcheck_get_apic_id()
* cpu: virt: make cpu_has_vmx static
* acpi: lid: make lid_*() static
* acpi: ac_adapter: make ac_adapter_check_field static
* acpi: powerbutton: make power_button_check_field static
* acpi: brightness: make *_setting static
* cpu: virt: make cpu_has_svm, vt_locked_by_bios static
* lib: framework: make init funcs static
* acpi: wmi: make wmi_wdg_flags_to_text() static
* bios: mtrr: rename fwts_virt_cpuinfo to fwts_cpuinfo
* acpi: acpidump: make table_vec static
* cpu: msr: make cpuinfo static
* acpi: ac_adapter: make ac_adapterdir static
* acpi: lid: make liddir static
* acpi: powerbutton: make power_buttondir static
* bios: mtrr: remove redundant mtrr_resource
* acpi: acpidump: fix typo 'Sealed Case'
* cpu: msr: drop TSC_AUX and SMBASE tests (LP: #834591)
-- Colin King Tue, 30 Aug 2011 09:18:53 +0100
fwts (0.23.21) oneiric; urgency=low
* acpi: acpitables: remove false positive warnings (LP: #833644)
* acpi: method: don't run mobile platform tests on servers (LP: #834554)
* bios: mpcheck: check uniqueness of CPU APIC IDs (LP: #834504)
* acpi: cstates: drop experimental status of the test.
-- Colin King Fri, 26 Aug 2011 11:05:19 +0100
fwts (0.23.20) oneiric; urgency=low
* hpet: hpet_check: get HPET base on newer kernel logs (LP: #832273)
-- Colin King Tue, 23 Aug 2011 19:56:23 +0100
fwts (0.23.19) oneiric; urgency=low
* apci: fan: use newer thermal interface, test fans on loaded CPU (LP: #831905)
-- Colin King Tue, 23 Aug 2011 12:12:12 +0100
fwts (0.23.18) oneiric; urgency=low
* lib: acpica: ensure table pointers are NULL when table input is corrupt (LP: #826774)
-- Colin King Mon, 15 Aug 2011 15:33:30 +0100
fwts (0.23.17) oneiric; urgency=low
* acpi: method: tidy up source.
* acpi: acpitables: tidy up source.
* acpi: wmi: tidy up source.
* acpi: wakealarm: tidy up source.
* acpi: syntaxcheck: tidy up source.
* acpi: s4: tidy up source.
* acpi: s3power: tidy up source.
* acpi: s3: tidy up source.
* acpi: powerbutton: tidy up source.
* acpi: osilinux: tidy up source.
* acpi: mcfg: tidy up source.
* acpi: lid: fix failure format string (LP: #826676)
* acpi: klog: tidy up source.
* acpi: fan: tidy up source.
* acpi: fadt: tidy up source.
* acpi: dmar: tidy up source.
* acpi: cstates: tidy up source.
* acpi: common: tidy up source.
* acpi: checksum: tidy up source.
* acpi: battery: tidy up source.
* acpi: apicinstance: tidy up source.
* acpi: acpiinfo: tidy up source.
* acpi: ac_adapter: tidy up source.
-- Colin King Mon, 15 Aug 2011 12:11:12 +0100
fwts (0.23.16) oneiric; urgency=low
* cpu: virt: tidy up sources.
* cpu: nx: tidy up source.
* cpu: msr: tidy up source.
* cpu: microcode: tidy up source.
* cpu: maxfreq: tidy up source.
* cpu: cpufreq: tidy up source.
* hotkey: hotkey: tidy up source.
* dmi: dmi_decode: fix failure format string (LP: #826418)
* kernel: version: tidy up source.
* kernel: oops: tidy up source.
* cmos: cmosdump: tidy up source.
* apic: apicedge: tidy up source.
* pci: maxreadreq: tidy up source.
* pci: crs: tidy up source.
-- Colin King Sun, 14 Aug 2011 21:04:00 +0100
fwts (0.23.15) oneiric; urgency=low
* lib: fwts_framework: helper macros: use fmt arg
* bios: os2gap: add more failure info.
* bios: smbios: tidy up source.
* bios: romdump: tidy up source.
* bios: os2gap: fix failure format string (LP: #825945)
* bios: mtrr: tidy up source.
* bios: memmapdump: tidy up source.
* bios: hdaaudio: tidy up source.
* bios: ebda_region: tidy up source.
* bios: ebdadump: tidy up source.
* bios: bios_info: tidy up source.
* bios: bios32: tidy up source.
* bios: mpcheck: tidy up source.
-- Colin King Sat, 13 Aug 2011 21:33:00 +0100
fwts (0.23.14) oneiric; urgency=low
* lib: fwts_acpi_tables: make acpidump parsing more resiliant to bad data.
* lib: fwts_acpi_tables: read in data correctly (LP: #818042)
* acpi: checksum: handle RSDP.
* lib: fwts_acpi_tables.h: add fwts_acpi_checksum
* lib: fwts_acpi_tables: name RSD PTR to RSDP.
* lib: fwts_acpi_tables: handle ACPI 1.0 sized RSDP
* lib: fwts_acpi: rsdp requires a 64 bit xsdt
* acpi: syntaxcheck: log errors as per-test failures and include unique error code in error.
* acpi: acpitables: add more advice, deprecate FACS test, it was nonsense.
-- Colin King Fri, 29 Jul 2011 17:28:00 +0100
fwts (0.23.13) oneiric; urgency=low
* lib + method test: better handling of object eval errors. (LP: #816877)
* apci: method: detect zero sized access bit width (LP: #816877)
* acpi: method: check for NULL _DDC and _UID object returns.
* acpi: method: only derefernce non-null _DOD objects (LP: #816824)
* lib: acpica: make hash unsigned int (LP: #816819)
* acpi: syntaxcheck: don't erroneously put syntaxcheck_table.
* cmosdump: print drive info with %hhu and pluralise.
* mpcheck: print uint8_t values with %hhu
* mtrr: print entry reg as uint8_t.
* bios32: print bios32 values in hex.
* fadt: ensure we print out preferred_pm_profile as 8 bit int.
* acpitables: ensure we are printing out correct int values.
* acpi: wmi: fix typo in test identifier.
-- Colin King Wed, 27 Jul 2011 14:17:23 +0100
fwts (0.23.12) oneiric; urgency=low
* lib + tests: add unique test label that identifies each failure test.
* lib + tests: replace fwts_failed_low with fwts_failed.
* lib + tests: replace fwts_failed_medium with fwts_failed.
* lib + tests: replace fwts_failed_high with fwts_failed.
* lib + tests: replace fwts_failed_critical with fwts_failed.
* lib: remove fwts_failed_level macro
* lib + tests: fwts_failed now includes log level.
* lib: fix ARM FTBFS (LP: #814745)
* apcica lib: fake PCI config reads (LP: #813376)
-- Colin King Mon, 25 Jul 2011 14:54:44 +0100
fwts (0.23.11) oneiric; urgency=low
* data: klog.json: add 7 more MTRR BIOS misconfiguration log checks.
-- Colin King Mon, 18 Jul 2011 16:44:42 +0100
fwts (0.23.10) oneiric; urgency=low
* lib: fwts_log: increase log width.
* apci: method: reduce infinite AML loops to 0x0100 iterations.
* cpu: msr: remove redundant variable 'failed'.
* cpu: cpufreq: remove redundant variable i
* bios: smbios: comment out redundant assigment.
* acpi: method: fix ommitted args to method evaluate calls.
* lib: fwts_framework: remove redundant var percent.
-- Colin King Tue, 5 Jul 2011 17:42:00 +0100
fwts (0.23.09) oneiric; urgency=low
* acpi: syntaxcheck: fix segfault due to null error list (LP: #805980)
-- Colin King Tue, 5 Jul 2011 15:45:20 +0100
fwts (0.23.08) oneiric; urgency=low
* kernel: oops: make oops failures critical (LP: #797649)
-- Colin King Wed, 15 Jun 2011 12:08:00 +0100
fwts (0.23.07) oneiric; urgency=low
* fix changelog LP bug number formatting
* fix incorrect aborted total (LP: #789114)
* fix table loading (LP: #784013)
* fwts_iasl: fix segfault on bad input (LP: #781709)
* acpi: method: fix incorrect sem counts (LP: #744405)
-- Colin King Fri, 27 May 2011 16:20:23 +0100
fwts (0.23.06) oneiric; urgency=low
* acpi: s3power: measure power loss during S3 suspend.
* lib: fwts_framework: fix LP: #789114, incorrect aborted total
* acpi: s3: remove redundant deinit
-- Colin King Fri, 27 May 2011 15:17:02 +0100
fwts (0.23.05) oneiric; urgency=low
* lib: fwts_acpi_tables: fix LP: #784013, cannot load tables.
* acpi: apicinstance: fix 64 bit build error
* acpi: acpidump: fix 64 bit build error
* lib: fwts_pipeio: fix 64 bit build error
* lib: fwts_list: tidy up fwts_list_len
-- Colin King Tue, 17 May 2011 16:42:00 +0100
fwts (0.23.04) oneiric; urgency=low
* lib: fwts_iasl: fix LP: #781709, segfault on bad input
* lib: fwts_stringextras: use const where appropriate
* lib: fwts_pipe_read: length should be ssize_t
* lib: fwts_mp_checksum: use const where appropriate
* lib: fwts_mmap: use const where appropriate
* lib: fwts_firmware: remove redundant FLAGS
* lib: fwts_cmos_read: offset should be const uint8_t
* lib: fwts_tag: use const where appropriate
* lib: fwts_uefi: use const where appropriate
* lib: fwts_formatting: use const where appropriate
* lib: fwts_acpi_tables: use const and size_t where appropriate
* lib: fwts_acpi_table_info: make data const void * and length size_t
* lib + tests: fwts_acpi_event_read(): use size_t for length
* lib: fwts_alloc: use const
-- Colin King Thu, 12 May 2011 17:38:00 +0200
fwts (0.23.03) oneiric; urgency=low
* acpi: syntaxcheck: remove redundant params
* lib: fwts_multiproc: fix -Wextra warnings
* lib: fwts_log.h: make magic unsigned int
* lib: fwts_klog: fix calloc failure check
* lib: fwts_dump: fix -Wextra warnings
* lib: fwts_alloc: make magic unsigned int
* lib: fwts_interactive: make fwts_getchar more robust
* lib: fwts_cpu: call _exit() on signal
* lib: fwts_text_list: remove fwts_text_list_dump
* doc: manpage: update introduction
-- Colin King Wed, 4 May 2011 08:59:42 +0100
fwts (0.23.02) oneiric; urgency=low
* debian: control: fix typos
* bios: mpcheck: fix reporting of incorrect CPU entry that has suspect LAPIC ID
* bios: multiproc: drop APIC version check, fix io_apic_entries feedback.
* acpi: method: fix typo in THERM check.
* acpi: method: fix false alert with THERM check.
* acpi: wmi: fix guidstr: should be all in uppercase.
* cpu: msr: Add AMD specific MSR checks.
* cpu: msr: add CPU arch specific MSR checks.
* lib: fwts_cpu: use sysconf to determine number of CPUs
* acpi: method: fix LP: #744405, incorrect sem counts
* method: rename *execute* -> *evaluate*
* hotkey: check for keyboard find failure.
* lib: acpica: disable single step debug when hitting AML_BREAK_POINT opcodes.
* bios: hdaudio: minor tidy up of formatting and code.
* acpi: s4: remove redundant 'Restarting tasks' check
* acpi: wmi: check for known GUIDs
-- Colin King Fri, 8 Apr 2011 10:36:52 +0100
fwts (0.23.01) oneiric; urgency=low
* work around systems that don't support MAP32_BIT (LP: #739256)
-- Colin King Mon, 21 Mar 2011 10:49:00 +0000
fwts (0.23.00) oneiric; urgency=low
* post natty freeze, bug fixes and new features
* fix segfault of method test on 64 bit machines (LP: #736874)
* drop thermal_trip test (LP: #730132)
* Fix cstates test (LP: #728685)
* acpi: acpidump: use more sensible heading, fix SCI text
* hpet: Fail test and skip sanity check when base address not found
* bios: ebda_region: close fd on error
* acpi: acpidump: use more sensible heading, fix SCI text
* hpet: Fail test and skip sanity check when base address not found
* bios: ebda_region: close fd on error.
* lib: fwts_acpi_tables: check for broken table sizes.
* lib: use low memory allocator for ACPI tables
* lib: fwts: include fwts_alloc.h
* lib: add 32 bit allocator
* lib: multiproc: add check of lower 1K region
* cpu: msr: fix 64 bit build warnings.
* lib: summary: add totals to table.
* cpu: msr: add MSR checking.
* lib: cpu: add Intel and AMD cpu ident checks.
* pci: crs: use FWTS_ROOT_PRIV flag
* uefi: uefidump: use FWTS_ROOT_PRIV flag
* pci: maxreadreq: use FWTS_ROOT_PRIV flag
* hpet: hpet_check: use FWTS_ROOT_PRIV flag
* hotkey: hotkey: use FWTS_ROOT_PRIV flag
* dmi: dmi_decode: use FWTS_ROOT_PRIV flag
* cpu: virt: use FWTS_ROOT_PRIV flag
* cpu: nx: use FWTS_ROOT_PRIV flag
* cpu: microcode: use FWTS_ROOT_PRIV flag
* bios: smbios: use FWTS_ROOT_PRIV flag and remove .init
* bios: romdump: use FWTS_ROOT_PRIV flag and remove .init
* bios: mpdump: use FWTS_ROOT_PRIV flag
* bios: mpcheck: use FWTS_ROOT_PRIV flag
* bios: mtrr: use FWTS_ROOT_PRIV flag
* bios: ebdadump: use FWTS_ROOT_PRIV flag and remove .init
* bios: ebda_region: use FWTS_ROOT_PRIV flag
* bios: bios32: use FWTS_ROOT_PRIV flag and remove .init
* acpi: wakealarm: use FWTS_ROOT_PRIV flag
* acpi: s4: use FWTS_ROOT_PRIV flag
* acpi: s3: use FWTS_ROOT_PRIV flag
* acpi: mcfg: use FWTS_ROOT_PRIV flag
* acpi: fadt: use FWTS_ROOT_PRIV flag
* cmos: cmosdump: use FWTS_ROOT_PRIV flag, remove init check
* lib: framework: allow FWTS_ROOT_PRIV flag on test
* lib: framework: add ROOT_PRIV flag, tidy _run_test
* lib: framework: rationalise test status logging.
* lib: framework: rename FWTS_*_TEXT to FWTS_FRAMEWORK_*, move typedef into header.
* framework + tests: remove .headline, replace with .description
* data: klog.json: add 6 MultiProcessor table checks.
* lib, bios: mpcheck: move MP header signature to fwts_multiproc.h
* bios: multiproc check - fix to make it a batch test.
* bios: multiproc check - fix test heading.
* add new multiproc table sanity checking.
* method: reference /sys/class/thermal rather than /proc/acpi/thermal_zone
* tests, lib: use new fwts_ebda_get() primitive
* lib: add fwts_ebda_get - return EBDA offset for mmap'ing the region
* acpi: acpudump: use more sensible heading, fix SCI text
* bios: add ebdadump to dump EBDA region
* tests: use fwts_mmap primitives
* lib: use fwts_mmap primitives
* lib: add fwts_mmap - memory mapping primitives
* multiproc: mpdump: collate data into tables.
* lib + test: initial MultiProc test support
* hpet: Fail test and skip sanity check when base address not found
* bios: ebda_region: close fd on error.
-- Colin King Thu, 17 Mar 2011 16:43:54 +0000
fwts (0.22.03) natty; urgency=low
* Fixes for lintian warnings (LP: #725336)
* fix build order (acpica/source/compiler must build first)
-- Colin King Fri, 25 Feb 2011 23:15:01 +0000
fwts (0.22.02) natty; urgency=low
* clean up libtool linker usage.
* fix build order (acpica/source/compiler must build first).
* remove redundant 2nd pciutils from control file.
* lib: virt: rename exec_cpuid to fwts_exec_cpuid
* lib: acpid: rename event funcs with fwts_ prrefix
* configure.ac: remove AC_PROG_OBJCOPY
* debian: control: add more description to libraries.
* acpi: acpidump: fix typo 'suppored' -> 'supported'.
* doc: fwts man page: fix - to \-
-- Colin King Fri, 25 Feb 2011 16:36:23 +0000
fwts (0.22.01) natty; urgency=low
* Fixes for minor bugs (LP: #723746)
* bios: mtrr: fix: disable MTRR VGA test as it is not helpful.
* doc: fix fwts man page, remove duplicated -s options.
* acpi: s3: fix typo.
* acpi: method: comments on what needs testing.
* bios: mtrr: fix to stop valgrind complaining.
* lib: fwts_summary: fix summary fields to fit in 80 columns.
-- Colin King Wed, 23 Feb 2011 14:37:00 +0000
fwts (0.22.00) natty; urgency=low
* New version for Natty release (LP: #720271)
* New upstream version 0.22.00
-- Colin King Wed, 16 Feb 2011 18:47:59 +0000
fwts (0.21.15) natty; urgency=low
* summary: collate summary items for a more compact summary.
* klog: add better progress feedback when scanning large logs.
* args: fix optind offset bug.
* klog: add _BCM execution failure check.
* klog: add more intelligence to FADT checking.
* New upstream version 0.21.15
-- Colin King Wed, 16 Feb 2011 16:20:00 +0000
fwts (0.21.14) natty; urgency=low
* acpi: s3,s4: break up pass/fail message summary.
* New upstream version 0.21.14
-- Colin King Tue, 15 Feb 2011 19:50:04 +0000
fwts (0.21.13) natty; urgency=low
* Print informational count when non-zero
* tidy up progress output.
* change results text "informational" to "info only".
* cpu microcode test: remove need to alloc/free cpu list.
* bios mtrr test: check for list_new NULL return.
* arg handling: remove need for alloc/free of options_list
* sort tests on name when dumping list of available tests.
* New upstream version 0.21.13
-- Colin King Sat, 12 Feb 2011 18:38:20 +0000
fwts (0.21.12) natty; urgency=low
* Print informational count when non-zero
* New upstream version 0.21.12
-- Colin King Fri, 11 Feb 2011 23:29:00 +0000
fwts (0.21.11) natty; urgency=low
* Fix skipped message truncation
* Make static libs into shared libs
* New upstream version 0.21.11
-- Colin King Fri, 11 Feb 2011 22:49:40 +0000
fwts (0.21.10) natty; urgency=low
* Extend progress feedback.
* New upstream version 0.21.10
-- Colin King Thu, 10 Feb 2011 18:33:39 +0000
fwts (0.21.09) natty; urgency=low
* Add more feedback during s3, s4 tests.
* Add better arg checking post arg parsing.
* Fix a bunch of typos in s3, s4 help.
* New upstream version 0.21.09
-- Colin King Thu, 10 Feb 2011 15:13:22 +0000
fwts (0.21.08) natty; urgency=low
* Ensure all tests log a passed/failed/skipped/aborted/infoonly state (LP: #715755)
* Add --s3-device-check-delay option
* Add --s4-device-check-delay option
* New upstream version 0.21.08
-- Colin King Wed, 9 Feb 2011 15:08:20 +0000
fwts (0.21.07) natty; urgency=low
* Add --s3-quirks option
* Add --s4-quirks option
* Update man page
* New upstream version 0.21.07
-- Colin King Wed, 9 Feb 2011 11:07:02 +0000
fwts (0.21.06) natty; urgency=low
* Add hwinfo device checking for s3 and s4 tests
* Update man page
* New upstream version 0.21.06
-- Colin King Wed, 9 Feb 2011 00:51:47 +0000
fwts (0.21.05) natty; urgency=low
* acpi: dmar: don't free table as it's a cached copy.
* New upstream version 0.21.05
-- Colin King Tue, 8 Feb 2011 13:38:31 +0000
fwts (0.21.04) natty; urgency=low
* s3, s4: multiple tests must run at least twice if multiples not specified.
* s4, s4: scan log for oopsing to catch driver/kernel breakages.
* oops: Add test to scan for random kernel oopsing.
* manpage - fix data/date typo.
* New upstream version 0.21.04
-- Colin King Wed, 2 Feb 2011 12:03:03 +0000
fwts (0.21.03) natty; urgency=low
* Add uefidump to dump UEFI variables
* Fix cmosdump - was dumping too much data in hex dump.
* Add klog check for banned ioport operations from AML.
* New upstream version 0.21.03
-- Colin King Tue, 25 Jan 2011 15:05:05 +0000
fwts (0.21.02) natty; urgency=low
* Add --s4-min-delay, --s4-max-delay, --s4-delay-delta S4 delay options
* New upstream version 0.21.02
-- Colin King Fri, 21 Jan 2011 16:06:49 +0000
fwts (0.21.01) natty; urgency=low
* Fix null pointer bug
* New upstream version 0.21.01
-- Colin King Sun, 16 Jan 2011 19:42:03 +0000
fwts (0.21.00) natty; urgency=low
* New version for release (LP: #702821)
-- Colin King Fri, 14 Jan 2011 11:13:00 +0000
fwts (0.20.20) natty; urgency=low
* acpi: wmi: handle "table not found" correctly.
* doc: manpage. fix --disassemble-aml text.
* lib: framework: report month correctly (offset by 1)
-- Colin King Fri, 14 Jan 2011 09:28:00 +0000
fwts (0.20.19) natty; urgency=low
* New version for release (LP: #701843)
* lib: framework: add --disassemble-aml to help.
* lib: fwts_acpi.h: remove old FWTS_GET_* macros.
* all: update copyright date.
* lib: framework: use list head macro.
* lib: list: include list head and tail macros
* hpet: hpet_check: use list iterator (for klog scanning).
* bios: mtrr: minor rewrite to stop scoping of item confusion when
doing mtrr_bios_list scanning
* bios: mtrr: use list iterator
* New upstream version 0.20.19
-- Colin King Wed, 12 Jan 2011 09:58:07 +0000
fwts (0.20.18) natty; urgency=low
* Add --disassemble-aml to disassemble AML in DSDT and SSDT tables
* Add more syntaxcheck advise
* New upstream version 0.20.18
-- Colin King Mon, 10 Jan 2011 16:11:52 +0000
fwts (0.20.17) natty; urgency=low
* Add --s4-sleep-delay=N option to specify delays during hibernate
* Add syntaxcheck advise from a json lookup table
* New upstream version 0.20.17
-- Colin King Thu, 6 Jan 2011 19:17:02 +0000
fwts (0.20.16) natty; urgency=low
* Dump out AML source with error message on syntaxcheck test
* New upstream version 0.20.16
-- Colin King Thu, 6 Jan 2011 11:47:47 +0000
fwts (0.20.15) natty; urgency=low
* Disable case sensitivity in lex scanner
* Tidy up iasl specific code
* New upstream version 0.20.15
-- Colin King Wed, 5 Jan 2011 19:07:59 +0000
fwts (0.20.14) natty; urgency=low
* Add debian/libfwtsiasl1.install
* New upstream version 0.20.14
-- Colin King Wed, 5 Jan 2011 14:14:05 +0000
fwts (0.20.13) natty; urgency=low
* Include ACPICA iasl compiler into a library
* Remove --iasl option
* Remove need to check for existance of iasl tool
* New upstream version 0.20.13
-- Colin King Wed, 5 Jan 2011 13:18:02 +0000
fwts (0.20.12) natty; urgency=low
* Update with latest ACPICA sources
* New upstream version 0.20.12
-- Colin King Tue, 28 Dec 2010 16:55:43 +0000
fwts (0.20.11) natty; urgency=low
* Add and use fwts_list_data() to access list data more abstractly
* acpica: fix init/deinit bug, avoid double free'ing of DSDT
* framework: add per test pass/fail/abort/warn/skip summary
* framework: move per test results to fwts_framework_ops so we can tabulate in summary
* framework: remove current_ops
* framework: fix memory leak detected with valgrind
* method: remove unwanted _OSI cruft
* remove trailing whitespaces from sources
* framework: pretty print -h, --help output to tty width
* framework: fix typos in help
* New upstream version 0.20.11
-- Colin King Tue, 21 Dec 2010 14:55:58 +0000
fwts (0.20.10) natty; urgency=low
* New version for release (LP: #690598)
* Fix a couple of memory leaks
* Add MTRR misconfiguration klog checks
* oscilinux: make test a warning rather than a low failure
* klog, only scan unique error messages and report repeats, reduces noise
* _OSI(Linux) klog errors logged as just information rather than an error
* New upstream version 0.20.10
-- Colin King Wed, 15 Dec 2010 11:27:27 +0000
fwts (0.20.09) natty; urgency=low
* show available tests in short form
* don't display progress on interactive tests
* New upstream version 0.20.09
-- Colin King Wed, 15 Dec 2010 00:01:23 +0000
fwts (0.20.08) natty; urgency=low
* method test: check for null object returns.
* New upstream version 0.20.08
-- Colin King Thu, 9 Dec 2010 15:05:44 +0000
fwts (0.20.07) natty; urgency=low
* s4 test: only attempt to hibernate if swap is available
* klog test: only dump advice if it's available.
* More info in _WAK test failure
* New upstream version 0.20.07
-- Colin King Thu, 9 Dec 2010 09:15:00 +0000
fwts (0.20.06) natty; urgency=low
* Fix hangs on corrupt input ACPI table data
* Add some IO APIC kernel log scanning checks
* New upstream version 0.20.06
-- Colin King Tue, 7 Dec 2010 11:53:00 +0000
fwts (0.20.05) natty; urgency=low
* Add --lp-tags-log option to log LP tags into the results log
* Make --lp-tags just dump out all LP tags found in testing
* New upstream version 0.20.05
-- Colin King Sat, 4 Dec 2010 19:22:39 +0000
fwts (0.20.04) natty; urgency=low
* Fix stack smashing on corrupt ACPI dumped data input
* Add -j, --json-data-path options
* New upstream version 0.20.04
-- Colin King Sat, 4 Dec 2010 01:12:22 +0000
fwts (0.20.03) natty; urgency=low
* Changes to run successfully on UEFI systems.
* New upstream version 0.20.03
-- Colin King Fri, 3 Dec 2010 15:48:57 +0000
fwts (0.20.02) natty; urgency=low
* Fix help and update man page for -u, --utils option
* New upstream version 0.20.02
-- Colin King Fri, 3 Dec 2010 11:56:01 +0000
fwts (0.20.01) natty; urgency=low
* Fix PowerPC and ARM FTBFS issues (LP: #684663)
* New upstream version 0.20.01
-- Colin King Fri, 3 Dec 2010 11:09:49 +0000
fwts (0.20.00) natty; urgency=low
* Add -u, --utils option
* New upstream version 0.20.00
-- Colin King Wed, 1 Dec 2010 16:27:37 +0000
fwts (0.19.29) maverick; urgency=low
* Fix 64 bit build warnings
* Add more advice into method test
* New upstream version 0.19.29
-- Colin King Mon, 30 Nov 2010 14:26:23 +0000
fwts (0.19.28) maverick; urgency=low
* Add in acpitable MADT checks for APICs
* dump out global_irq_base from MADT IO APIC correctly
* New upstream version 0.19.28
-- Colin King Fri, 26 Nov 2010 18:43:01 +0000
fwts (0.19.27) maverick; urgency=low
* Fix GCC warnings now that we're checking log printf() args
* Add infinite loop checking in AML method execution
* New upstream version 0.19.27
-- Colin King Fri, 26 Nov 2010 11:26:47 +0000
fwts (0.19.26) maverick; urgency=low
* Add more ACPI method tests
* New upstream version 0.19.26
-- Colin King Tue, 23 Nov 2010 15:41:34 +0000
fwts (0.19.25) maverick; urgency=low
* Add in ACPICA core + ACPI method tests
* New upstream version 0.19.25
-- Colin King Tue, 23 Nov 2010 10:02:10 +0000
fwts (0.19.24) maverick; urgency=low
* Minor changes in help text and better CMOS error detection.
* New upstream version 0.19.24
-- Colin King Sun, 21 Nov 2010 12:22:21 +0000
fwts (0.19.23) maverick; urgency=low
* More intelligent advice for FADT pointer mismatches to FACS
* New upstream version 0.19.23
-- Colin King Fri, 19 Nov 2010 18:36:56 +0000
fwts (0.19.22) maverick; urgency=low
* Add \_SB_._OSC buffer overflow checking
* Add more graceful ACPI table load failure error handling
* New upstream version 0.19.22
-- Colin King Thu, 18 Nov 2010 13:48:03 +0000
fwts (0.19.21) maverick; urgency=low
* Fix wmi and hpet test breakage
* New upstream version 0.19.21
-- Colin King Mon, 15 Nov 2010 17:39:34 +0000
fwts (0.19.20) maverick; urgency=low
* Add acpitable test
* New upstream version 0.19.20
-- Colin King Mon, 15 Nov 2010 13:22:23 +0000
fwts (0.19.19) maverick; urgency=low
* Add acpitable test
* New upstream version 0.19.19
-- Colin King Fri, 12 Nov 2010 15:33:17 +0000
fwts (0.19.18) maverick; urgency=low
* Update makefile
* New upstream version 0.19.18
-- Colin King Thu, 11 Nov 2010 15:37:53 +0000
fwts (0.19.17) maverick; urgency=low
* klog data now in json formatted datafile
* New upstream version 0.19.17
-- Colin King Thu, 11 Nov 2010 14:59:02 +0000
fwts (0.19.16) maverick; urgency=low
* New upstream version 0.19.16
-- Colin King Wed, 10 Nov 2010 16:24:27 +0000
fwts (0.19.15) maverick; urgency=low
* New upstream version 0.19.15
-- Colin King Wed, 10 Nov 2010 09:15:02 +0100
fwts (0.19.14) maverick; urgency=low
* New upstream version 0.19.14
-- Colin King Tue, 9 Nov 2010 15:59:32 +0100
fwts (0.19.13) maverick; urgency=low
* New upstream version 0.19.13
-- Colin King Sat, 6 Nov 2010 15:35:10 +0100
fwts (0.19.12) maverick; urgency=low
* New upstream version 0.19.12
-- Colin King Fri, 5 Nov 2010 15:33:23 +0100
fwts (0.19.11) maverick; urgency=low
* New upstream version 0.19.11
-- Colin King Mon, 1 Nov 2010 17:37:52 +0100
fwts (0.19.10) maverick; urgency=low
* New upstream version 0.19.10
-- Colin King Mon, 1 Nov 2010 16:47:21 +0100
fwts (0.19.09) maverick; urgency=low
* New upstream version 0.19.09
-- Colin King Sat, 30 Oct 2010 13:30:13 +0100
fwts (0.19.08) maverick; urgency=low
* New upstream version 0.19.08
-- Colin King Sat, 30 Oct 2010 11:51:10 +0100
fwts (0.19.07) maverick; urgency=low
* New upstream version 0.19.07
-- Colin King Thu, 28 Oct 2010 10:43:00 +0100
fwts (0.19.06) maverick; urgency=low
* New upstream version 0.19.06
-- Colin King Mon, 18 Oct 2010 12:24:02 +0100
fwts (0.19.05) maverick; urgency=low
* New upstream version 0.19.05
-- Colin King Mon, 11 Oct 2010 14:31:10 +0100
fwts (0.19.04) maverick; urgency=low
* New upstream version 0.19.04
-- Colin King Wed, 6 Oct 2010 16:41:21 +0100
fwts (0.19.03) maverick; urgency=low
* New upstream version 0.19.03
-- Colin King Wed, 6 Oct 2010 12:38:42 +0100
fwts (0.19.02) maverick; urgency=low
* New upstream version 0.19.02
-- Colin King Tue, 5 Oct 2010 09:49:10 +0100
fwts (0.19.01) maverick; urgency=low
* New upstream version 0.19.01
-- Colin King Mon, 4 Oct 2010 13:56:53 +0100
fwts (0.19.00) maverick; urgency=low
* New upstream version 0.19.00
-- Colin King Mon, 4 Oct 2010 13:15:22 +0100
fwts (0.18.02) maverick; urgency=low
* FADT test read correct ACPI table from /sys/firmware (closes: #627959)
* New upstream version 0.18.02
-- Colin King Wed, 1 Sep 2010 11:11:20 +0100
fwts (0.18.01) maverick; urgency=low
* New upstream version 0.18.01
-- Colin King Fri, 13 Aug 2010 10:04:54 +0100
fwts (0.18.0) maverick; urgency=low
* New upstream version 0.18.0
-- Colin King Thu, 12 Aug 2010 19:09:19 +0100
fwts (0.17.9.1) maverick; urgency=low
* New upstream version 0.17.9.1
-- Colin King Thu, 12 Aug 2010 19:01:49 +0100
fwts (0.17.9) maverick; urgency=low
* New upstream version 0.17.9
-- Colin King Sat, 7 Aug 2010 20:17:31 +0100
fwts (0.17.8) maverick; urgency=low
* New upstream version 0.17.8
-- Colin King Sat, 7 Aug 2010 19:08:56 +0100
fwts (0.17.7) maverick; urgency=low
* New upstream version 0.17.7
-- Colin King Sat, 7 Aug 2010 18:59:59 +0100
fwts (0.17.6) maverick; urgency=low
* New upstream version 0.17.6
-- Colin King Sat, 7 Aug 2010 18:14:48 +0100
fwts (0.17.5) maverick; urgency=low
* New upstream version 0.17.5
-- Colin King Fri, 6 Aug 2010 09:14:45 +0100
fwts (0.17.4) maverick; urgency=low
* New upstream version 0.17.4
-- Colin King Tue, 3 Aug 2010 15:36:02 +0100
fwts (0.17.3) maverick; urgency=low
* New upstream version 0.17.3
-- Colin King Fri, 30 Jul 2010 08:54:12 +0100
fwts (0.17.2) maverick; urgency=low
* New upstream version 0.17.2
-- Colin King Wed, 28 Jul 2010 12:20:07 +0100
fwts (0.17.1) maverick; urgency=low
* New upstream version 0.17.1
-- Colin King Tue, 27 Jul 2010 17:57:01 +0100
fwts (0.17.0) maverick; urgency=low
* New upstream version 0.17.0
-- Colin King