/* For Td guest TDVMCALL_IO is invoked to read I/O port. */
UINT8 EFIAPI IoRead8(IN UINTN Port)
/* For Td guest TDVMCALL_IO is invoked to read I/O port. */
UINT8 EFIAPI IoRead8(IN UINTN Port)
{
  UINT8    Data;
  BOOLEAN  Flag;
  Flag = FilterBeforeIoRead (FilterWidth8, Port, &Data);
  if (Flag) {
    if (IsTdxGuest ()) {
      Data = TdIoRead8 (Port);
    } else {
      __asm__ __volatile__ ("inb %w1,%b0" : "=a" (Data) : "d" ((UINT16)Port));
    }
  }
  FilterAfterIoRead (FilterWidth8, Port, &Data);
  return Data;
}