|
@@ -352,8 +352,8 @@ unsigned int __cpuinit init_intel_cacheinfo(struct cpuinfo_x86 *c)
|
|
|
*/
|
|
|
if ((num_cache_leaves == 0 || c->x86 == 15) && c->cpuid_level > 1) {
|
|
|
/* supports eax=2 call */
|
|
|
- int i, j, n;
|
|
|
- int regs[4];
|
|
|
+ int j, n;
|
|
|
+ unsigned int regs[4];
|
|
|
unsigned char *dp = (unsigned char *)regs;
|
|
|
int only_trace = 0;
|
|
|
|
|
@@ -368,7 +368,7 @@ unsigned int __cpuinit init_intel_cacheinfo(struct cpuinfo_x86 *c)
|
|
|
|
|
|
/* If bit 31 is set, this is an unknown format */
|
|
|
for ( j = 0 ; j < 3 ; j++ ) {
|
|
|
- if ( regs[j] < 0 ) regs[j] = 0;
|
|
|
+ if (regs[j] & (1 << 31)) regs[j] = 0;
|
|
|
}
|
|
|
|
|
|
/* Byte 0 is level count, not a descriptor */
|