Re: [PATCH 1/1] efi: cper: Support different length of Error Section

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2014-03-04 at 16:38 -0800, Tony Luck wrote:
> On Tue, Mar 4, 2014 at 3:41 PM, Matt Fleming <matt@xxxxxxxxxxxxxxxxx> wrote:
> >> Tested on v3.14-rc5 with Grantley platform and Intel RAStool.
> 
> So - I've been playing with Grantley too - and didn't see these warnings about
> "error length section too small".  I suspect this is because I've been
> toggling the
> BIOS option under:
> 
>    EDKII > Advanced > System Event Log > WHEA Settings > UEFI Version
> 
> to request reports according to spec version 2.3.1 (to get the card handle and
> module handle fields)
Yes. This is the correct behavior because the size of struct
cper_sec_mem_err (drivers/firmware/efi/cper.c) and the error_data_length
field of struct acpi_generic_data are (80-byte memory error section).

For those BIOSes only support the UEFI spec versions which are less than
2.3, the error_data_length field of struct acpi_generic_data is 73
(73-byte memory error section) according to spec version 2.2, 2.1 and so
on. We will see the warning message after injecting a memory corrected
error. 

> Does that fit with your experience too?
Yes.

> 
> -Tony
> 
> [I note that there is a 2.4 version of UEFI ... are there more changes to the
> error record format there?  I know there are plans to tweak even more
> bits because
> some of the 2-byte fields in the memory error description are not big enough
> to describe locations on 64GB DIMMs]
I just checked version 2.4 and 2.4 Errata A. The size of memory error
section is still 80 bytes. The only difference is that the field
"Extended" in spec 2.4 Errata A replaces the field "reserved" in spec
2.4. This should be changed accordingly. 

If there are more added fileds to error record format in the newer UEFI
spec, we can simply modify proc_generic_section_len, mem_section_len and
pcie_section_len to support different length of error section. The
definition of mem_section_len is an example to support both 73-byte and
80-byte memory error section.

��.n��������+%������w��{.n�����{����*jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux