I had a ASRock b350 and missed the train to upgrade to a 5800x because of the BIOs. If I had a slightly different MoBo I could have upgraded.
Looking for a AM5 board now and putting in a 7600 for now. But looking to see if I can get 8800x3d or hopefully the 9800x3d in 2026.
Policy from the CPU maker and willingness to cooporate by the Mobo manufacturer.
In this case, there was also a technical limitation in the form of BIOS ROM chips that were too small to hold a BIOS that supports newer CPUs.
The socket on your mobo has to be compatible with the cpu socket type.
Also your power supply should be up to snuff for any upgrades.
Generally it’s the mobo chipset that determines which CPUs are compatible. Often the chipsets are compatible with two generations of CPUs, that was the case with H6xx from intel, i got one with an alderlake cpu amd could upgrade it a year and a half later with rocketlake. The mobo OEM needs to support this in their uefi/bios