/* Initialize the mPhysMemAddressWidth variable, based on CPUID data.  */
VOID AddressWidthInitialization(VOID)
/* Initialize the mPhysMemAddressWidth variable, based on CPUID data.  */
VOID AddressWidthInitialization(VOID)
{
  UINT32  RegEax;
  AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);
  if (RegEax >= 0x80000008) {
    AsmCpuid (0x80000008, &RegEax, NULL, NULL, NULL);
    mPhysMemAddressWidth = (UINT8)RegEax;
  } else {
    mPhysMemAddressWidth = 36;
  }
  ASSERT (mPhysMemAddressWidth <= 52);
  if (mPhysMemAddressWidth > 48) {
    mPhysMemAddressWidth = 48;
  }
}