Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/os/cpuid.c
          +++ new/usr/src/uts/intel/os/cpuid.c
↓ open down ↓ 5661 lines elided ↑ open up ↑
5662 5662                  if (*ecx & CPUID_INTC_ECX_POPCNT)
5663 5663                          hwcap_flags |= AV_386_POPCNT;
5664 5664                  if (*edx & CPUID_INTC_EDX_FPU)
5665 5665                          hwcap_flags |= AV_386_FPU;
5666 5666                  if (*edx & CPUID_INTC_EDX_MMX)
5667 5667                          hwcap_flags |= AV_386_MMX;
5668 5668                  if (*edx & CPUID_INTC_EDX_TSC)
5669 5669                          hwcap_flags |= AV_386_TSC;
5670 5670          }
5671 5671  
     5672 +        /* Detect systems with a potential CPUID limit  */
     5673 +        if (cpi->cpi_vendor == X86_VENDOR_Intel && cpi->cpi_maxeax < 4) {
     5674 +                cmn_err(CE_NOTE, "CPUID limit detected, "
     5675 +                    "see the CPUID(7D) man page for details\n");
     5676 +        }
     5677 +
5672 5678          /*
5673 5679           * Check a few miscellaneous features.
5674 5680           */
5675 5681          if (cpi->cpi_xmaxeax < 0x80000001)
5676 5682                  goto resolve_done;
5677 5683  
5678 5684          switch (cpi->cpi_vendor) {
5679 5685                  uint32_t *edx, *ecx;
5680 5686  
5681 5687          case X86_VENDOR_Intel:
↓ open down ↓ 2374 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX