STRUCT MCE_HW_ERR(9)
β¨ NAME β¨
struct mce_hw_err β the Hardware Error Record, bestie. This is from the Kernel API Manual, section 9, and it's literally the struct for keeping machine-check info and vendor-specific error tea organized. π
πΈ SYNOPSIS πΈ
okay so here's the exact shape, no edits, no cap:
struct mce_hw_err {
struct mce m;
union vendor_info {
struct {
u64 synd1;
u64 synd2;
} amd;
} vendor;
};
π Members π
mβ Machine Check record. The main character. πvendorβ Vendor-specific error information. It's aunion vendor_info, and inside it there's anamdstruct withu64 synd1;andu64 synd2;β literally right there in the synopsis, iykyk. π«Ά
π¦ Description π¦
okay so listen: vendor-specific fields should not be added to struct mce. Instead, vendors should export their vendor-specific data through their structure in the vendor union β yes, the one in the synopsis. That's the whole vibe: keep the vendor stuff in the vendor union, not in struct mce. β¨
AMD's vendor data is parsed by error decoding tools for supplemental error information. So the current offsets of existing fields must be maintained β do not move them, bestie, fr fr. Only add new fields at the end of AMD's vendor structure. π¨
warning: this is not a drill. Moving AMD's existing fields messes with the offset expectations of error decoding tools. New fields go at the end of AMD's vendor structure only. π
π SEE ALSO π
- Kernel file
./arch/x86/include/asm/mce.hβ go read the source, bestie. π
mwah π β source/version: ./arch/x86/include/asm; date: October 2026. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms