1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_ASM_X86_MCE_H
3 #define _UAPI_ASM_X86_MCE_H
5 #include <linux/types.h>
6 #include <linux/ioctl.h>
8 /* Fields are zero when not available */
15 __u64 tsc
; /* cpu time stamp counter */
16 __u64 time
; /* wall time_t when error was detected */
17 __u8 cpuvendor
; /* cpu vendor as encoded in system.h */
18 __u8 inject_flags
; /* software inject flags */
21 __u32 cpuid
; /* CPUID 1 EAX */
22 __u8 cs
; /* code segment */
23 __u8 bank
; /* machine check bank */
24 __u8 cpu
; /* cpu number; obsolete; use extcpu now */
25 __u8 finished
; /* entry is valid */
26 __u32 extcpu
; /* linux cpu number that detected the error */
27 __u32 socketid
; /* CPU socket ID */
28 __u32 apicid
; /* CPU initial apic ID */
29 __u64 mcgcap
; /* MCGCAP MSR: machine check capabilities of CPU */
30 __u64 synd
; /* MCA_SYND MSR: only valid on SMCA systems */
31 __u64 ipid
; /* MCA_IPID MSR: only valid on SMCA systems */
32 __u64 ppin
; /* Protected Processor Inventory Number */
35 #define MCE_GET_RECORD_LEN _IOR('M', 1, int)
36 #define MCE_GET_LOG_LEN _IOR('M', 2, int)
37 #define MCE_GETCLEAR_FLAGS _IOR('M', 3, int)
39 #endif /* _UAPI_ASM_X86_MCE_H */