Mercurial > illumos > illumos-gate
diff usr/src/uts/i86pc/os/cpuid.c @ 6317:8afb524fc268
6667600 Incomplete initialization of cpi_cacheinfo field of struct cpuid_info
6667614 Incorrect check for Extended Model of processor
Contributed by Ashok Raj <ashok.raj@intel.com>
author | kk208521 |
---|---|
date | Fri, 28 Mar 2008 18:21:02 -0700 |
parents | 2513339ac53a |
children | 950d3f34a725 |
line wrap: on
line diff
--- a/usr/src/uts/i86pc/os/cpuid.c Fri Mar 28 17:41:18 2008 -0700 +++ b/usr/src/uts/i86pc/os/cpuid.c Fri Mar 28 18:21:02 2008 -0700 @@ -1391,7 +1391,7 @@ dp = cpi->cpi_cacheinfo; if (BITX(cp->cp_eax, 31, 31) == 0) { uint8_t *p = (void *)&cp->cp_eax; - for (i = 1; i < 3; i++) + for (i = 1; i < 4; i++) if (p[i] != 0) *dp++ = p[i]; } @@ -1602,7 +1602,7 @@ celeron = xeon = 0; cp = &cpi->cpi_std[2]; /* cache info */ - for (i = 1; i < 3; i++) { + for (i = 1; i < 4; i++) { uint_t tmp; tmp = (cp->cp_eax >> (8 * i)) & 0xff; @@ -3446,7 +3446,7 @@ switch (cpi->cpi_vendor) { case X86_VENDOR_Intel: - create = CPI_MODEL(cpi) == 0xf; + create = IS_EXTENDED_MODEL_INTEL(cpi); break; case X86_VENDOR_AMD: create = CPI_FAMILY(cpi) == 0xf;