GCD initialization and memory allocation HOBs
It looks like CoreInitializeMemoryServices (https://github.com/tianocore/edk2/blob/dd5c7e3c5282b084daa5bbf0ec229cec699b2c17/MdeModulePkg/Core/Dxe/Gcd/Gcd.c#L2116) does not honor any memory allocations outside of the HOB list itself. Should we add code to this function to make sure the region this function select does not end up over a reserved region that the HOB producer phase marked as already allocated? Either that or codify the specific requirements a bit more on to make sure cases like this are invalid. (producer might have to split up system resource entries, etc)
We can work on a change if we decide that we want to improve GCD but wanted to get feedback before we started on this.