in the commit right before coreboot removed D8/D16 support, make this change:
if (pDCTstat->Status & (1 << SB_Registered))
misc2 |= 1 << SubMemclkRegDly;
misc2 |= ((cs_mux_45 & 0x1) << 26);
in line 74 in the file src/northbridge/amd/amdmct/mct_ddr3/mctproc.c
Then both boards should boot up. Read on for more info. Not gonna edit this issue report, I'm just copying and pasting my thoughts as they were written, as notes.
according to comment on this reddit thread:
According to that person, it was 610d1c67b2 commit ID in coreboot that broke D8 booting before it was removed in coreboot later on. the commit is here on reddit (the commit that broke booting): https://review.coreboot.org/c/coreboot/+/18369
the fix above probably also works for D16 aswell.
I'm probing the redditor for more information.
So, with what the author of that reddit post wrote, I did some digging. All the author did was manually revert a change, instead of using "git revert". Info on what commit to revert:
coreboot commit fec8872c9d fixed RDIMM training stuff
coreboot commit 610d1c67b2 reverted the above commit
so when coreboot broke, per most user testing and automated coreboot testing, the board might have been affected by rdimm training, and had rdimm modules (registered modules, not unregistered like on consumer boards)
commit 10d1c67b2298a9840681c2b4492b6d3fdf44a46 is fixing a condition where if 8 DIMMs are used on a single CPU, or 8 each on 2 CPUs, "MC4 failures" occured and caused problems booting
fec8872c9d is in libreboot's version of coreboot
with just fec8872c9d but not the commit (see above) that reverted it, you can only use up to 4 modules per CPU on a D16.
and by reverting 10d1c67b2298a9840681c2b4492b6d3fdf44a46, D16 boots again in coreboot.
Find the commit that removed D16/D8 support from coreboot, and use that as a revision in libreboot for D16.
Hey, I'm Grantelbart4 from Reddit.
I only tested this on a KCMA-D8 (I don't own a KGPE-D16 yet) with an Opteron 4284. Fortunately the KCMA-D8 only has 4 memory slots per CPU, so I guess the fix won't break anything there. By manually reverting the change I was able to get the latest commit for both boards (ad983ee) to work.