• Y
    x86: mtrr cleanup for converting continuous to discrete layout, v8 · 95ffa243
    Yinghai Lu 提交于
    some BIOS like to use continus MTRR layout, and X driver can not add
    WB entries for graphical cards when 4g or more RAM installed.
    
    the patch will change MTRR to discrete.
    
    mtrr_chunk_size= could be used to have smaller continuous block to hold holes.
    default is 256m, could be set according to size of graphics card memory.
    
    mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs
    
    v2: fix -1 for UC checking
    v3: default to disable, and need use enable_mtrr_cleanup to enable this feature
        skip the var state change warning.
        remove next_basek in range_to_mtrr()
    v4: correct warning mask.
    v5: CONFIG_MTRR_SANITIZER
    v6: fix 1g, 2g, 512 aligment with extra hole
    v7: gran_sizek to prevent running out of MTRRs.
    v8: fix hole_basek caculation caused when removing next_basek
        gran_sizek using when basek is 0.
    
    need to apply
    	[PATCH] x86: fix trimming e820 with MTRR holes.
    right after this one.
    Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    95ffa243
main.c 34.5 KB