summaryrefslogtreecommitdiffstats
path: root/firmware/ositech
diff options
context:
space:
mode:
authorGary Hade <garyhade@us.ibm.com>2012-03-21 15:28:50 -0700
committerLen Brown <len.brown@intel.com>2012-03-30 03:30:19 -0400
commit15afae604651d4e17652d2ffb56f5e36f991cfef (patch)
tree3386a102666376d1d987549d866f8232ec1aa8b1 /firmware/ositech
parent6ef19ab7fa1535d35006535dba6c407dad2d845c (diff)
downloadlinux-15afae604651d4e17652d2ffb56f5e36f991cfef.tar.gz
linux-15afae604651d4e17652d2ffb56f5e36f991cfef.tar.bz2
linux-15afae604651d4e17652d2ffb56f5e36f991cfef.zip
ACPI, APEI: Fix incorrect APEI register bit width check and usage
The current code incorrectly assumes that (1) the APEI register bit width is always 8, 16, 32, or 64 and (2) the APEI register bit width is always equal to the APEI register access width. ERST serialization instructions entries such as: [030h 0048 1] Action : 00 [Begin Write Operation] [031h 0049 1] Instruction : 03 [Write Register Value] [032h 0050 1] Flags (decoded below) : 01 Preserve Register Bits : 1 [033h 0051 1] Reserved : 00 [034h 0052 12] Register Region : [Generic Address Structure] [034h 0052 1] Space ID : 00 [SystemMemory] [035h 0053 1] Bit Width : 03 [036h 0054 1] Bit Offset : 00 [037h 0055 1] Encoded Access Width : 03 [DWord Access:32] [038h 0056 8] Address : 000000007F2D7038 [040h 0064 8] Value : 0000000000000001 [048h 0072 8] Mask : 0000000000000007 break this assumption by yielding: [Firmware Bug]: APEI: Invalid bit width in GAR [0x7f2d7038/3/0] I have found no ACPI specification requirements corresponding with the above assumptions. There is even a good example in the Serialization Instruction Entries section (ACPI 4.0 section 17.4,1.2, ACPI 4.0a section 2.5.1.2, ACPI 5.0 section 18.5.1.2) that mentions a serialization instruction with a bit range of [6:2] which is 5 bits wide, _not_ 8, 16, 32, or 64 bits wide. Compile and boot tested with 3.3.0-rc7 on a IBM HX5. Signed-off-by: Gary Hade <garyhade@us.ibm.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'firmware/ositech')
0 files changed, 0 insertions, 0 deletions