<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/firmware/efi/cper.c, branch linux-4.16.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-01-03T13:03:48+00:00</updated>
<entry>
<title>efi: Move ARM CPER code to new file</title>
<updated>2018-01-03T13:03:48+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2018-01-02T18:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c6d8c8ef1d0d94fdae9f5d72982963db89f9cdad'/>
<id>urn:sha1:c6d8c8ef1d0d94fdae9f5d72982963db89f9cdad</id>
<content type='text'>
The ARM CPER code is currently mixed in with the other CPER code. Move it
to a new file to separate it from the rest of the CPER code.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Cc: Arvind Yadav &lt;arvind.yadav.cs@gmail.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Matt Fleming &lt;matt@codeblueprint.co.uk&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Vasyl Gomonovych &lt;gomonovych@gmail.com&gt;
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/20180102181042.19074-5-ard.biesheuvel@linaro.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'uuid-for-4.14' of git://git.infradead.org/users/hch/uuid</title>
<updated>2017-09-12T20:27:21+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-09-12T20:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ae71948f398eb2572148006bf34f0c6d934206cb'/>
<id>urn:sha1:ae71948f398eb2572148006bf34f0c6d934206cb</id>
<content type='text'>
Pull uuid updates from Christoph Hellwig:
 "Just a single conversion to the new UUID API for this merge window"

* tag 'uuid-for-4.14' of git://git.infradead.org/users/hch/uuid:
  efi: switch to use new generic UUID API
</content>
</entry>
<entry>
<title>efi: switch to use new generic UUID API</title>
<updated>2017-08-30T12:40:40+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2017-07-19T18:28:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c0020756315eebec58310aca42cf9fb73e1322eb'/>
<id>urn:sha1:c0020756315eebec58310aca42cf9fb73e1322eb</id>
<content type='text'>
There are new types and helpers that are supposed to be used in new code.

As a preparation to get rid of legacy types and API functions do
the conversion here.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>ACPI: APEI: fix the wrong iteration of generic error status block</title>
<updated>2017-08-24T01:29:46+00:00</updated>
<author>
<name>gengdongjiu</name>
<email>gengdongjiu@huawei.com</email>
</author>
<published>2017-08-17T12:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c4335fdd38227788178953c101b77180504d7ea0'/>
<id>urn:sha1:c4335fdd38227788178953c101b77180504d7ea0</id>
<content type='text'>
The revision 0x300 generic error data entry is different
from the old version, but currently iterating through the
GHES estatus blocks does not take into account this difference.
This will lead to failure to get the right data entry if GHES
has revision 0x300 error data entry.

Update the GHES estatus iteration macro to properly increment using
acpi_hest_get_next(), and correct the iteration termination condition
because the status block data length only includes error data
length.

Convert the CPER estatus checking and printing iteration logic
to use same macro.

Signed-off-by: Dongjiu Geng &lt;gengdongjiu@huawei.com&gt;
Tested-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
Reviewed-by: Borislav Petkov &lt;bp@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>trace, ras: add ARM processor error trace event</title>
<updated>2017-06-22T17:22:05+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2017-06-21T18:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e9279e83ad1f4b5af541a522a81888f828210b40'/>
<id>urn:sha1:e9279e83ad1f4b5af541a522a81888f828210b40</id>
<content type='text'>
Currently there are trace events for the various RAS
errors with the exception of ARM processor type errors.
Add a new trace event for such errors so that the user
will know when they occur. These trace events are
consistent with the ARM processor error section type
defined in UEFI 2.6 spec section N.2.4.4.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Reviewed-by: Xie XiuQi &lt;xiexiuqi@huawei.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>efi: print unrecognized CPER section</title>
<updated>2017-06-22T17:22:04+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2017-06-21T18:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0fc300f414519b10c146fc3329a1b3094e4b6d52'/>
<id>urn:sha1:0fc300f414519b10c146fc3329a1b3094e4b6d52</id>
<content type='text'>
UEFI spec allows for non-standard section in Common Platform Error
Record. This is defined in section N.2.3 of UEFI version 2.5.

Currently if the CPER section's type (UUID) does not match with
one of the section types that the kernel knows how to parse, the
section is skipped. Therefore, user is not able to see
such CPER data, for instance, error record of non-standard section.

This change prints out the raw data in hex in the dmesg buffer so
that non-standard sections are reported to the user. Non-standard
section type errors should be reported to the user because these
can include errors which are vendor specific. The data length is
taken from Error Data length field of Generic Error Data Entry.

The following is a sample output from dmesg:
 Hardware error from APEI Generic Hardware Error Source: 2
 It has been corrected by h/w and requires no further action
 event severity: corrected
  time: precise 2017-03-15 20:37:35
  Error 0, type: corrected
   section type: unknown, d2e2621c-f936-468d-0d84-15a4ed015c8b
   section length: 0x238
   00000000: 4d415201 4d492031 453a4d45 435f4343  .RAM1 IMEM:ECC_C
   00000010: 53515f45 44525f42 00000000 00000000  E_QSB_RD........
   00000020: 00000000 00000000 00000000 00000000  ................
   00000030: 00000000 00000000 01010000 01010000  ................
   00000040: 00000000 00000000 00000005 00000000  ................
   00000050: 01010000 00000000 00000001 00dddd00  ................
...

The raw data from the error can then be decoded using vendor
specific tools.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
CC: Jonathan (Zhixiong) Zhang &lt;zjzhang@codeaurora.org&gt;
Reviewed-by: James Morse &lt;james.morse@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>efi: parse ARM processor error</title>
<updated>2017-06-22T14:43:47+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2017-06-21T18:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2f74f09bce4f8d0236f20174a6daae63e10fe733'/>
<id>urn:sha1:2f74f09bce4f8d0236f20174a6daae63e10fe733</id>
<content type='text'>
Add support for ARM Common Platform Error Record (CPER).
UEFI 2.6 specification adds support for ARM specific
processor error information to be reported as part of the
CPER records. This provides more detail on for processor error logs.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
CC: Jonathan (Zhixiong) Zhang &lt;zjzhang@codeaurora.org&gt;
Reviewed-by: James Morse &lt;james.morse@arm.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>cper: add timestamp print to CPER status printing</title>
<updated>2017-06-22T14:43:47+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2017-06-21T18:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8a94471fb73fd53589746561a2dba29e073ed829'/>
<id>urn:sha1:8a94471fb73fd53589746561a2dba29e073ed829</id>
<content type='text'>
The ACPI 6.1 spec added a timestamp to the generic error data
entry structure. Print the timestamp out when printing out the
error information.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
CC: Jonathan (Zhixiong) Zhang &lt;zjzhang@codeaurora.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>ras: acpi/apei: cper: add support for generic data v3 structure</title>
<updated>2017-06-22T14:43:47+00:00</updated>
<author>
<name>Tyler Baicar</name>
<email>tbaicar@codeaurora.org</email>
</author>
<published>2017-06-21T18:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bbcc2e7b642ed241651fee50ac6ed59643cb1736'/>
<id>urn:sha1:bbcc2e7b642ed241651fee50ac6ed59643cb1736</id>
<content type='text'>
The ACPI 6.1 spec adds a new revision of the generic error data
entry structure. Add support to handle the new structure as well
as properly verify and iterate through the generic data entries.

Signed-off-by: Tyler Baicar &lt;tbaicar@codeaurora.org&gt;
CC: Jonathan (Zhixiong) Zhang &lt;zjzhang@codeaurora.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>efi: Handle memory error structures produced based on old versions of standard</title>
<updated>2015-07-15T12:30:38+00:00</updated>
<author>
<name>Luck, Tony</name>
<email>tony.luck@intel.com</email>
</author>
<published>2015-06-30T22:57:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4c62360d7562a20c996836d163259c87d9378120'/>
<id>urn:sha1:4c62360d7562a20c996836d163259c87d9378120</id>
<content type='text'>
The memory error record structure includes as its first field a
bitmask of which subsequent fields are valid. The allows new fields
to be added to the structure while keeping compatibility with older
software that parses these records. This mechanism was used between
versions 2.2 and 2.3 to add four new fields, growing the size of the
structure from 73 bytes to 80. But Linux just added all the new
fields so this test:
	if (gdata-&gt;error_data_length &gt;= sizeof(*mem_err))
		cper_print_mem(newpfx, mem_err);
	else
		goto err_section_too_small;
now make Linux complain about old format records being too short.

Add a definition for the old format of the structure and use that
for the minimum size check. Pass the actual size to cper_print_mem()
so it can sanity check the validation_bits field to ensure that if
a BIOS using the old format sets bits as if it were new, we won't
access fields beyond the end of the structure.

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
</entry>
</feed>
