Attention is currently required from: Stefan Ott, Nico Huber, Arthur Heymans, Kyösti Mälkki, Alexander Couzens, Elyes Haouas.
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/69447 )
Change subject: cpu/intel/socket_*: Clean up Kconfig files ......................................................................
Patch Set 4:
(1 comment)
Commit Message:
https://review.coreboot.org/c/coreboot/+/69447/comment/7fa52a3b_c4310073 PS3, Line 10: Move MAX_CPUS to mainboards.
Ack
The problem with having the defaults for `MAX_CPUS` in `cpu/intel/model_*/Kconfig` is that sockets that support multiple CPU models (e.g. LGA775) could end up using an incorrect default depending on the order in which the CPU models' Kconfig files are included. This happens because of the way Kconfig handles defaults (it uses the first applicable value it finds).
It's true that the status quo for `MAX_CPUS` defaults in pre-SoC Intel platforms isn't very consistent. There's some defaults in CPU-model Kconfig (model_2065x, model_206ax, haswell: the corresponding socket Kconfigs got dropped for the sake of simplicity), others in CPU-socket Kconfig (socket_BGA956, socket_FCBGA559, socket_p) and others in northbridge Kconfig (i945, x4x).
If you'd like to clean some things up, you can start with moving `MAX_CPUS` defaults from the northbridges to the corresponding CPU sockets. i945 is paired with LGA775 and socket_441 (both sockets support up to 4 CPUs), and x4x is only paired with LGA775 in coreboot.
Note: Boards that pair x4x with socket_p exist (e.g. Dell Precision M6400), but they're rare and none of them has coreboot support yet. While both socket_p and x4x provide the same default for `MAX_CPUS` (4), moving the values to sockets would remove the redundancy.