Just here to say... it works on linux systems for Ryzen 1000-2000, as long as above 4g decoding in on and CSM is deactivated, in case anyone would want to try.
Thank you for this article! It clears up a mystery that was puzzling me. It's unfortunate that AMD used microcode for some instructions that they thought would never by used much, but no one can see the future.
CPU manufacturers haven't been keeping it from you. Well, at least Intel hasn't (the feature was there). It just wasn't used by GPUs. I imagine that Ryzen 5000 series supports it because AMD's GPU team decided they wanted to utilize it. I'm not sure what role BIOS plays here. Whether it's about the size of address space the root bridge gets (it doesn't get enough to support reBAR on GPUs). Or whether it has to facilitate the reconfiguration of a bridge. Or what. PCIe isn't my area of expertise. But I believe there are devices that do support resizing of BAR. For example, Mellanox InfiniBand host adapters. It could be one of the differences between consumer and server motherboards. Looking around, it seems AMD's GPU driver team has been playing with it years ago but had problems getting it to work on real systems (which would suggest the GPU supported it). Frankly, I'm not buying the story about emulated instructions.