arch/x86/smbios.c: Fix for CONFIG_MAX_CPUS > 255

Change-Id: I079c99006fea95ba3dc2fb02c95a3747af55e218
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63482
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c
index c48ce86..fd41ff2 100644
--- a/src/arch/x86/smbios.c
+++ b/src/arch/x86/smbios.c
@@ -516,6 +516,8 @@
 	return len;
 }
 
+#define MAX_CPUS_ENABLED (CONFIG_MAX_CPUS > 0xff ? 0xff : CONFIG_MAX_CPUS)
+
 static int smbios_write_type4(unsigned long *current, int handle)
 {
 	unsigned int cpu_voltage;
@@ -570,7 +572,7 @@
 		t->thread_count = t->thread_count2;
 	}
 	/* Assume we enable all the cores always, capped only by MAX_CPUS */
-	t->core_enabled = MIN(t->core_count, CONFIG_MAX_CPUS);
+	t->core_enabled = MIN(t->core_count, MAX_CPUS_ENABLED);
 	t->core_enabled2 = MIN(t->core_count2, CONFIG_MAX_CPUS);
 	t->l1_cache_handle = 0xffff;
 	t->l2_cache_handle = 0xffff;