x86: trim mtrr don't close gap for resource allocation.
fix the bug reported here: http://bugzilla.kernel.org/show_bug.cgi?id=10232 use update_memory_range() instead of add_memory_range() directly to avoid closing the gap. ( the new code only affects and runs on systems where the MTRR workaround triggers. ) Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
@@ -28,6 +28,8 @@ extern void find_max_pfn(void);
|
||||
extern void register_bootmem_low_pages(unsigned long max_low_pfn);
|
||||
extern void add_memory_region(unsigned long long start,
|
||||
unsigned long long size, int type);
|
||||
extern void update_memory_range(u64 start, u64 size, unsigned old_type,
|
||||
unsigned new_type);
|
||||
extern void e820_register_memory(void);
|
||||
extern void limit_regions(unsigned long long size);
|
||||
extern void print_memory_map(char *who);
|
||||
|
||||
@@ -18,6 +18,8 @@ extern unsigned long find_e820_area(unsigned long start, unsigned long end,
|
||||
unsigned size, unsigned long align);
|
||||
extern void add_memory_region(unsigned long start, unsigned long size,
|
||||
int type);
|
||||
extern void update_memory_range(u64 start, u64 size, unsigned old_type,
|
||||
unsigned new_type);
|
||||
extern void setup_memory_region(void);
|
||||
extern void contig_e820_setup(void);
|
||||
extern unsigned long e820_end_of_ram(void);
|
||||
|
||||
Reference in New Issue
Block a user