Re: [PATCH] x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE

From: Jiri Slaby
Date: Fri Jul 21 2023 - 00:47:56 EST


On 20. 07. 23, 22:28, John Allen wrote:
Future AMD cpus will have microcode patches that exceed the current
limit of three 4K pages. Increase substantially to avoid future size
increases.

Hi,

so with my current distro (openSUSE TW):
$ zgrep NODES_SHIFT /proc/config.gz
CONFIG_NODES_SHIFT=10

This:

static u8 amd_ucode_patch[MAX_NUMNODES][PATCH_MAX_SIZE];

is now 32M instead of 12M. That is a complete waste on my _one_ node system. Can we make amd_ucode_patch dynamic first, depending on num_online_nodes()?

Signed-off-by: John Allen <john.allen@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
arch/x86/include/asm/microcode_amd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/microcode_amd.h b/arch/x86/include/asm/microcode_amd.h
index e6662adf3af4..e3d5f5ae2f46 100644
--- a/arch/x86/include/asm/microcode_amd.h
+++ b/arch/x86/include/asm/microcode_amd.h
@@ -41,7 +41,7 @@ struct microcode_amd {
unsigned int mpb[];
};
-#define PATCH_MAX_SIZE (3 * PAGE_SIZE)
+#define PATCH_MAX_SIZE (8 * PAGE_SIZE)
#ifdef CONFIG_MICROCODE_AMD
extern void __init load_ucode_amd_bsp(unsigned int family);

thanks,
--
js
suse labs