x86BiosReadIoSpace

UINT32 __fastcall x86BiosReadIoSpace(UINT64 a1, INT64 a2){
  unsigned __int16 v2; 
  UINT32 result; 
  if( XmPciBiosPresent )
  {
    if( (unsigned __int16)(a2 - 3320) <= 3u )
      return x86BiosReadPciAddressPort((unsigned int)a1, (unsigned __int16)a2 - 3320);
    if( XmPCIConfigAddress < 0 && (unsigned __int16)(a2 - 3324) <= 3u )
      return x86BiosReadPciDataPort((unsigned int)a1, (unsigned __int16)a2 - 3324);
  }
  if( (unsigned __int16)(a2 - 112) <= 1u )
    return x86BiosReadCmosPort((unsigned int)a1, a2, (unsigned int)a1);
  v2 = x86BiosIoSpace + a2;
  if( (_DWORD)a1 )
  {
    if( (_DWORD)a1 == 3 )
    {
      return __indword(v2);
    }
    else
    {
      LOWORD(result) = __inword(v2);
      return(unsigned __int16)result;
    }
  }
  else
  {
    LOBYTE(result) = __inbyte(v2);
    return(unsigned __int8)result;
  }
}

Referenced by:

XmInOp
XmInsOp