hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/include/xen/interface/xen-mca.h
....@@ -183,7 +183,6 @@
183183 DEFINE_GUEST_HANDLE_STRUCT(mc_info);
184184
185185 #define __MC_MSR_ARRAYSIZE 8
186
-#define __MC_MSR_MCGCAP 0
187186 #define __MC_NMSRS 1
188187 #define MC_NCAPS 7
189188 struct mcinfo_logical_cpu {
....@@ -332,7 +331,11 @@
332331 };
333332 DEFINE_GUEST_HANDLE_STRUCT(xen_mc);
334333
335
-/* Fields are zero when not available */
334
+/*
335
+ * Fields are zero when not available. Also, this struct is shared with
336
+ * userspace mcelog and thus must keep existing fields at current offsets.
337
+ * Only add new fields to the end of the structure
338
+ */
336339 struct xen_mce {
337340 __u64 status;
338341 __u64 misc;
....@@ -353,6 +356,9 @@
353356 __u32 socketid; /* CPU socket ID */
354357 __u32 apicid; /* CPU initial apic ID */
355358 __u64 mcgcap; /* MCGCAP MSR: machine check capabilities of CPU */
359
+ __u64 synd; /* MCA_SYND MSR: only valid on SMCA systems */
360
+ __u64 ipid; /* MCA_IPID MSR: only valid on SMCA systems */
361
+ __u64 ppin; /* Protected Processor Inventory Number */
356362 };
357363
358364 /*