Yinghai Lu schrieb: > loop mtrr chunk_size and gran_size from 1M to 2G to find out optimal value. > > so user don't need to add mtrr_chunk_size and mtrr_gran_size, > > if optimal value is not found, print out all list to help select less optimal > value. > > add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card need more entries. On my system x86-latest + this patch and using no boot options gives me this /proc/mtrr: reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x80000000 (2048MB), size= 512MB: write-back, count=1 reg02: base=0xa0000000 (2560MB), size= 256MB: write-back, count=1 reg03: base=0xb0000000 (2816MB), size= 256MB: write-back, count=1 reg04: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg05: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 reg06: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 Which is OK. It could probably collapse reg01-reg03 into one but that's a minor issue (for me at least, there are probably cases where collapsing them might save the user from having to specify the mtrr_spare_reg_nr boot option). In any case it works fine here. dmesg is attached. Let me know if there's anything else I should test! And thanks a lot for all your work, Yinghai! :) Regards, Mika