mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-20 23:55:42 -04:00
Merge tag 'x86-cpu-2024-05-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 cpu updates from Ingo Molnar: - Rework the x86 CPU vendor/family/model code: introduce the 'VFM' value that is an 8+8+8 bit concatenation of the vendor/family/model value, and add macros that work on VFM values. This simplifies the addition of new Intel models & families, and simplifies existing enumeration & quirk code. - Add support for the AMD 0x80000026 leaf, to better parse topology information - Optimize the NUMA allocation layout of more per-CPU data structures - Improve the workaround for AMD erratum 1386 - Clear TME from /proc/cpuinfo as well, when disabled by the firmware - Improve x86 self-tests - Extend the mce_record tracepoint with the ::ppin and ::microcode fields - Implement recovery for MCE errors in TDX/SEAM non-root mode - Misc cleanups and fixes * tag 'x86-cpu-2024-05-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits) x86/mm: Switch to new Intel CPU model defines x86/tsc_msr: Switch to new Intel CPU model defines x86/tsc: Switch to new Intel CPU model defines x86/cpu: Switch to new Intel CPU model defines x86/resctrl: Switch to new Intel CPU model defines x86/microcode/intel: Switch to new Intel CPU model defines x86/mce: Switch to new Intel CPU model defines x86/cpu: Switch to new Intel CPU model defines x86/cpu/intel_epb: Switch to new Intel CPU model defines x86/aperfmperf: Switch to new Intel CPU model defines x86/apic: Switch to new Intel CPU model defines perf/x86/msr: Switch to new Intel CPU model defines perf/x86/intel/uncore: Switch to new Intel CPU model defines perf/x86/intel/pt: Switch to new Intel CPU model defines perf/x86/lbr: Switch to new Intel CPU model defines perf/x86/intel/cstate: Switch to new Intel CPU model defines x86/bugs: Switch to new Intel CPU model defines x86/bugs: Switch to new Intel CPU model defines x86/cpu/vfm: Update arch/x86/include/asm/intel-family.h x86/cpu/vfm: Add new macros to work with (vendor/family/model) values ...
This commit is contained in:
@@ -9,6 +9,14 @@
|
||||
#include <linux/tracepoint.h>
|
||||
#include <asm/mce.h>
|
||||
|
||||
/*
|
||||
* MCE Event Record.
|
||||
*
|
||||
* Only very relevant and transient information which cannot be
|
||||
* gathered from a system by any other means or which can only be
|
||||
* acquired arduously should be added to this record.
|
||||
*/
|
||||
|
||||
TRACE_EVENT(mce_record,
|
||||
|
||||
TP_PROTO(struct mce *m),
|
||||
@@ -25,6 +33,7 @@ TRACE_EVENT(mce_record,
|
||||
__field( u64, ipid )
|
||||
__field( u64, ip )
|
||||
__field( u64, tsc )
|
||||
__field( u64, ppin )
|
||||
__field( u64, walltime )
|
||||
__field( u32, cpu )
|
||||
__field( u32, cpuid )
|
||||
@@ -33,6 +42,7 @@ TRACE_EVENT(mce_record,
|
||||
__field( u8, cs )
|
||||
__field( u8, bank )
|
||||
__field( u8, cpuvendor )
|
||||
__field( u32, microcode )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
@@ -45,6 +55,7 @@ TRACE_EVENT(mce_record,
|
||||
__entry->ipid = m->ipid;
|
||||
__entry->ip = m->ip;
|
||||
__entry->tsc = m->tsc;
|
||||
__entry->ppin = m->ppin;
|
||||
__entry->walltime = m->time;
|
||||
__entry->cpu = m->extcpu;
|
||||
__entry->cpuid = m->cpuid;
|
||||
@@ -53,20 +64,26 @@ TRACE_EVENT(mce_record,
|
||||
__entry->cs = m->cs;
|
||||
__entry->bank = m->bank;
|
||||
__entry->cpuvendor = m->cpuvendor;
|
||||
__entry->microcode = m->microcode;
|
||||
),
|
||||
|
||||
TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR/MISC/SYND: %016Lx/%016Lx/%016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PROCESSOR: %u:%x, TIME: %llu, SOCKET: %u, APIC: %x",
|
||||
TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR: %016Lx, MISC: %016Lx, SYND: %016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PPIN: %llx, vendor: %u, CPUID: %x, time: %llu, socket: %u, APIC: %x, microcode: %x",
|
||||
__entry->cpu,
|
||||
__entry->mcgcap, __entry->mcgstatus,
|
||||
__entry->bank, __entry->status,
|
||||
__entry->ipid,
|
||||
__entry->addr, __entry->misc, __entry->synd,
|
||||
__entry->addr,
|
||||
__entry->misc,
|
||||
__entry->synd,
|
||||
__entry->cs, __entry->ip,
|
||||
__entry->tsc,
|
||||
__entry->cpuvendor, __entry->cpuid,
|
||||
__entry->ppin,
|
||||
__entry->cpuvendor,
|
||||
__entry->cpuid,
|
||||
__entry->walltime,
|
||||
__entry->socketid,
|
||||
__entry->apicid)
|
||||
__entry->apicid,
|
||||
__entry->microcode)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_MCE_H */
|
||||
|
||||
Reference in New Issue
Block a user