This repository has been archived by the owner on Jul 16, 2024. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BACKPORT: ACPI / APEI: Split ghes_read_estatus() to allow a peek at t…
…he CPER length ghes_read_estatus() reads the record address, then the record's header, then performs some sanity checks before reading the records into the provided estatus buffer. To provide this estatus buffer the caller must know the size of the records in advance, or always provide a worst-case sized buffer as happens today for the non-NMI notifications. Add a function to peek at the record's header to find the size. This will let the NMI path allocate the right amount of memory before reading the records, instead of using the worst-case size, and having to copy the records. Split ghes_read_estatus() to create __ghes_peek_estatus() which returns the address and size of the CPER records. This patch is needed because Quicksilver firmware-first error handling uses the SDEI notification type for communication between trusted firmware and the OS. This adds needed NMI and SDEI functionality so that the SDEI path in the kernel through APEI acts as an NMI and is properly wired up to the APEI interfaces. Backported from: torvalds/linux@e00a6e3 Signed-off-by: James Morse <[email protected]> Signed-off-by: Tyler Baicar <[email protected]>
- Loading branch information