f9e1bdb9f3
Recognize the IA32/X64 Processor Error Section. Do the section decoding in a new "cper-x86.c" file and add this to the Makefile depending on a new "UEFI_CPER_X86" config option. Print the Local APIC ID and CPUID info from the Processor Error Record. The "Processor Error Info" and "Processor Context" fields will be decoded in following patches. Based on UEFI 2.7 Table 252. Processor Error Record. Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20180504060003.19618-5-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
24 lines
685 B
C
24 lines
685 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
// Copyright (C) 2018, Advanced Micro Devices, Inc.
|
|
|
|
#include <linux/cper.h>
|
|
|
|
/*
|
|
* We don't need a "CPER_IA" prefix since these are all locally defined.
|
|
* This will save us a lot of line space.
|
|
*/
|
|
#define VALID_LAPIC_ID BIT_ULL(0)
|
|
#define VALID_CPUID_INFO BIT_ULL(1)
|
|
|
|
void cper_print_proc_ia(const char *pfx, const struct cper_sec_proc_ia *proc)
|
|
{
|
|
if (proc->validation_bits & VALID_LAPIC_ID)
|
|
printk("%sLocal APIC_ID: 0x%llx\n", pfx, proc->lapic_id);
|
|
|
|
if (proc->validation_bits & VALID_CPUID_INFO) {
|
|
printk("%sCPUID Info:\n", pfx);
|
|
print_hex_dump(pfx, "", DUMP_PREFIX_OFFSET, 16, 4, proc->cpuid,
|
|
sizeof(proc->cpuid), 0);
|
|
}
|
|
}
|