So far as I know:
1. The Ryzen chips support this inherently
2. That the B450 and B550 chipsets don’t enable this, except the Fatal1ty B450 Gaming-ITX/ac
3. That this is purely a marketing differention managed by the BIOS (I.e. no physical changes needed)
Interestingly, in a recent BIOS update, the 2x8 option DOES now appear - however, enabling currently does the same thing as the 4 x 4x option (I.e. shows 4 x PCIE x4 roots in the OS)
So I therefore think it was just a mistake on their part to put it in the menu, BUT hoping it’s possible to just mod a conditional in the module.
I downloaded the two latest BIOSes:
1.My board: https://www.msi.com/Motherboard/support/…US-AC#down-bios
2.The board that has this feature officially: https://www.asrock.com/MB/AMD/Fatal1ty%2…/index.asp#BIOS
I find the same module in both the roms, that’s titled:
2
3
4
5
6
7
8
Form Sets
--------------------------------------------------------------------------------
Offset: Title:
--------------------------------------------------------------------------------
0x80A8 AMD PBS (0x2 from string package 0x0)
And lower down I find the option (in the one for mine):
2
3
4
5
6
7
8
9
10
11
12
13
0x82E2 Suppress If {0A 82}
0x82E4 QuestionId: 0x2D equals value in list (0x1) {14 88 2D 00 01 00 01 00}
0x82EC QuestionId: 0x2 equals value in list (0x1, 0x3, 0x4) {14 0C 02 00 03 00 01 00 03 00 04 00}
0x82F8 Not {17 02}
0x82FA Or {16 02}
0x82FC End {29 02}
0x82FE One Of: PCIe x16/2x8 Switch, VarStoreInfo (VarOffset/VarName): 0xD, VarStore: 0x1, QuestionId: 0x9, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 19 00 1A 00 09 00 01 00 0D 00 10 10 00 01 00}
0x830F One Of Option: 2X8, Value (8 bit): 0x0 {09 07 1B 00 00 00 00}
0x8316 One Of Option: 1X16, Value (8 bit): 0x1 (default) {09 07 1C 00 10 00 01}
0x831D End One Of {29 02}
0x831F End If {29 02}
This looks virtually identical to the ASRock bios - the only differences are:
1. The offsets (as expected)
2. The question ID is different: 0x32 instead of 0x2D - I assume this is some kind of index to table of options
I clearly don't know quite enough yet, but looking at other tutorials, and trying to apply this here, so far as I know I somehow need to do two or three things:
1. Unsupress the option, by determining the hex for 'false', and replacing that in the preceding two bytes of the matching byte sequence for the question
2. Do something similar to choose the option itself
3.(Optionally?) connect up the item properly to the menu item that's already there (but seems to switch to 4 x 4x). Normally I'd expect the menu item to not be there at all, rather than broken. I'm not fussed about being able to dynamically set this, but it would be nice to know how to do it)
Would anyone be able to help me with this please?
I found a guide for an Intel-based chipset by @davidm71 : [Guide] - How to Bifurcate a PCI-E slot - but obviously that won't apply at all to the Ryzen.