From b3df8945bd2512349ae7662843d5bdcf15b3804d Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 8 Feb 2014 01:01:26 +0100 Subject: reuse mtrr slots with default memory type --- sys/src/9/pc/mtrr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; } -- cgit v1.2.3