[PATCH 1/2] x86/microcode/AMD: Add a patch revision number union

From: Borislav Petkov
Date: Thu Mar 21 2024 - 08:06:31 EST


From: "Borislav Petkov (AMD)" <bp@xxxxxxxxx>

Add a structure which will be used to split the Zen generation of
microcode revision numbers into its corresponding elements. This will be
used to match microcode patches a lot easier and obviate the need for
a equivalence table.

Signed-off-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
Cc: John Allen <john.allen@xxxxxxx>
---
arch/x86/include/asm/microcode.h | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/arch/x86/include/asm/microcode.h b/arch/x86/include/asm/microcode.h
index 695e569159c1..c1de0a6aefbc 100644
--- a/arch/x86/include/asm/microcode.h
+++ b/arch/x86/include/asm/microcode.h
@@ -47,6 +47,18 @@ struct microcode_intel {
unsigned int bits[];
};

+union zen_patch_rev {
+ struct {
+ __u32 rev : 8,
+ stepping : 4,
+ model : 4,
+ __resv : 4,
+ ext_model : 4,
+ ext_fam : 8;
+ };
+ __u32 ucode_rev;
+};
+
#define DEFAULT_UCODE_DATASIZE (2000)
#define MC_HEADER_SIZE (sizeof(struct microcode_header_intel))
#define MC_HEADER_TYPE_MICROCODE 1
--
2.43.0