• Yinghai Lu's avatar
    x86: mtrr_cleanup try gran_size to less than 1M · 46240657
    Yinghai Lu authored
    one have gran < 1M
    
    reg00: base=0xd8000000 (3456MB), size= 128MB: uncachable, count=1
    reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1
    reg02: base=0x00000000 (   0MB), size=4096MB: write-back, count=1
    reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
    reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1
    reg05: base=0xd7f80000 (3455MB), size= 512KB: uncachable, count=1
    
    will get
    
    Found optimal setting for mtrr clean up
    gran_size: 512K         chunk_size: 2M  num_reg: 7      lose RAM: 0G
    range0: 0000000000000000 - 00000000d8000000
    Setting variable MTRR 0, base: 0GB, range: 2GB, type WB
    Setting variable MTRR 1, base: 2GB, range: 1GB, type WB
    Setting variable MTRR 2, base: 3GB, range: 256MB, type WB
    Setting variable MTRR 3, base: 3328MB, range: 128MB, type WB
    hole: 00000000d7f00000 - 00000000d7f80000
    Setting variable MTRR 4, base: 3455MB, range: 512KB, type UC
    rangeX: 0000000100000000 - 0000000128000000
    Setting variable MTRR 5, base: 4GB, range: 512MB, type WB
    Setting variable MTRR 6, base: 4608MB, range: 128MB, type WB
    
    so start from 64k instead of 1M
    Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    46240657
main.c 46 KB