summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/pc/mtrr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/9/pc/mtrr.c b/sys/src/9/pc/mtrr.c
index 77f754cb0..b92835d79 100644
--- a/sys/src/9/pc/mtrr.c
+++ b/sys/src/9/pc/mtrr.c
@@ -295,7 +295,9 @@ mtrr(uvlong base, uvlong size, char *tstr)
for(i = 0; i < vcnt; i++){
mtrrget(&mtrr, i);
mok = mtrrdec(&mtrr, &mp, &msize, &mtype);
- if(!mok || mp == base && msize == size){
+ if(slot == -1 && !mok || mtype == (def & Deftype))
+ slot = i; /* good, but look further for exact match */
+ if(mok && mp == base && msize == size){
slot = i;
break;
}