pc, pc64: fix wrong mtrr physmask() for machines without extended address size msr
This commit is contained in:
parent
9960a125a3
commit
153fcabb00
|
@ -113,6 +113,8 @@ physmask(void)
|
||||||
if(regs[0] >= Extaddrsz) { /* ax */
|
if(regs[0] >= Extaddrsz) { /* ax */
|
||||||
cpuid(Extaddrsz, regs);
|
cpuid(Extaddrsz, regs);
|
||||||
mask = (1LL << (regs[0] & 0xFF)) - 1; /* ax */
|
mask = (1LL << (regs[0] & 0xFF)) - 1; /* ax */
|
||||||
|
} else {
|
||||||
|
mask &= (1LL << 36) - 1;
|
||||||
}
|
}
|
||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue