audk/MdePkg/Library/BaseLib
Ceping Sun 68e37f4578 MdePkg/BaseLib: Update TdVmcall to always output the value in R11
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4572

According to section 3.2 of the [GHCI] spec, if the return status
of MapGPA is "TDG.VP.VMCALL_RETRY", TD must retry this operation
for the pages in the region starting at the GPA specified in R11.

Currently, TDVF has not handled the retry results and always clears
the R11 on unsuccessful return status. For this, the TdVmcall needs
to output the value of R11 on unsuccessful return status to handle
the retry results of MapGPA.

Reference:
[GHCI]: TDX Guest-Host-Communication Interface v1.0
https://cdrdv2.intel.com/v1/dl/getContent/726790

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Michael Roth <michael.roth@amd.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Ceping Sun <cepingx.sun@intel.com>
2023-11-09 17:15:39 +00:00
..
AArch64 MdePkg/BaseLib: correct register sizes in AArch64 SetJump/LongJump 2023-10-02 15:48:02 +00:00
Arm MdePkg/BaseLib: fix typo in Arm SetJump 2023-10-03 11:56:52 +00:00
Ebc MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ia32 MdePkg: Replace Opcode with the corresponding instructions. 2022-03-01 01:45:47 +00:00
LoongArch64 MdePkg/BaseLib: BaseLib for LOONGARCH64 architecture. 2022-10-14 02:16:33 +00:00
RiscV64 RISCV: Fix InternalLongJump to return correct value 2023-09-21 04:57:57 +00:00
X64 MdePkg/BaseLib: Update TdVmcall to always output the value in R11 2023-11-09 17:15:39 +00:00
ARShiftU64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseLib.inf MdePkg/BaseLib: Add SpeculationBarrier implementation for RiscV64 2023-06-06 20:37:18 +00:00
BaseLib.uni
BaseLibInternals.h MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BitField.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CheckSum.c MdePkg/BaseLib: Add CRC16-ANSI and CRC32c implementations 2022-06-13 02:41:35 +00:00
ChkStkGcc.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Cpu.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuDeadLoop.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DivS64x64Remainder.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DivU64x32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DivU64x32Remainder.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DivU64x64Remainder.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FilePaths.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
GetPowerOfTwo32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
GetPowerOfTwo64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HighBitSet32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HighBitSet64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
IntelTdxNull.c MdePkg: Introduce basic Tdx functions in BaseLib 2022-04-02 08:15:12 +00:00
LRotU32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LRotU64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LShiftU64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LinkedList.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LongJump.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LowBitSet32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
LowBitSet64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Math64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ModU64x32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MultS64x64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MultU64x32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MultU64x64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
QuickSort.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
RRotU32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
RRotU64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
RShiftU64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SafeString.c MdePkg: Update code to be more C11 compliant by using __func__ 2023-03-17 17:55:48 +00:00
SetJump.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
String.c MdePkg: Fix conditionally uninitialized variables 2023-04-03 15:29:08 +00:00
SwapBytes16.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SwapBytes32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SwapBytes64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SwitchStack.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Unaligned.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UnitTestHost.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UnitTestHost.h
UnitTestHostBaseLib.inf MdePkg/Library/BaseLib: HOST_APPLICATION IA32/X64 only 2023-04-10 05:59:02 +00:00
UnitTestHostBaseLib.uni
X86DisablePaging32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86DisablePaging64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86EnablePaging32.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86EnablePaging64.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86FxRestore.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86FxSave.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86GetInterruptState.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86MemoryFence.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86Msr.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86PatchInstruction.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86RdRand.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86ReadGdtr.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86ReadIdtr.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86SpeculationBarrier.c
X86Thunk.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86UnitTestHost.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86WriteGdtr.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
X86WriteIdtr.c MdePkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00