UefiPayloadPkg: Setup temporary GDT for x64 UniversalPayload

Separate Exception Stacks has been enabled by default in
commit [1], in this case, TSS will be appended to original GDT.

As secondary bootloader, UniversalPayload solution has different
boot flow from original EDK2. When DxeMain tries to append TSS
after original GDT, the original GDT is empty. It leads to system
reboot when DxeMain tries to install new GDT which is appended with
TSS.

To fix this issue, set up temporary GDT with 64-bit code and data
descriptors.

[1] https://github.com/tianocore/edk2/commit/cec2c6

Signed-off-by: Ajan Zhong <ajan.zhong@newfw.com>
1 file changed