/* For Td guest TDVMCALL_MMIO is invoked to write MMIO registers. */
UINT32 EFIAPI MmioWrite32(IN UINTN Address, IN UINT32 Value)
/* For Td guest TDVMCALL_MMIO is invoked to write MMIO registers. */
UINT32 EFIAPI MmioWrite32(IN UINTN Address, IN UINT32 Value)
{
  BOOLEAN  Flag;
  ASSERT ((Address & 3) == 0);
  Flag = FilterBeforeMmIoWrite (FilterWidth32, Address, &Value);
  if (Flag) {
    MemoryFence ();
    if (IsTdxGuest ()) {
      TdMmioWrite32 (Address, Value);
    } else {
      *(volatile UINT32 *)Address = Value;
    }
    MemoryFence ();
  }
  FilterAfterMmIoWrite (FilterWidth32, Address, &Value);
  return Value;
}