diff options
| -rw-r--r-- | sys/src/9/pc/mtrr.c | 4 |
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; } |
