diff options
| author | Yinghai Lu <yinghai@kernel.org> | 2010-08-25 16:39:18 -0400 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2010-08-27 14:13:51 -0400 |
| commit | a587d2daebcd2bc159d4348b6a7b028950a6d803 (patch) | |
| tree | 8001158a76efe400600a4e54dc5dae384b32b6e5 | |
| parent | a9ce6bc15100023b411f8117e53a016d61889800 (diff) | |
x86: Remove not used early_res code
and some functions in e820.c that are not used anymore
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| -rw-r--r-- | arch/x86/include/asm/e820.h | 14 | ||||
| -rw-r--r-- | arch/x86/kernel/e820.c | 52 | ||||
| -rw-r--r-- | include/linux/early_res.h | 23 | ||||
| -rw-r--r-- | kernel/Makefile | 1 | ||||
| -rw-r--r-- | kernel/early_res.c | 590 |
5 files changed, 0 insertions, 680 deletions
diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h index 388fed29146..718646384e0 100644 --- a/arch/x86/include/asm/e820.h +++ b/arch/x86/include/asm/e820.h | |||
| @@ -112,31 +112,17 @@ static inline void early_memtest(unsigned long start, unsigned long end) | |||
| 112 | } | 112 | } |
| 113 | #endif | 113 | #endif |
| 114 | 114 | ||
| 115 | extern unsigned long end_user_pfn; | ||
| 116 | |||
| 117 | extern u64 find_e820_area(u64 start, u64 end, u64 size, u64 align); | ||
| 118 | extern u64 find_e820_area_size(u64 start, u64 *sizep, u64 align); | ||
| 119 | extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); | ||
| 120 | |||
| 121 | extern unsigned long e820_end_of_ram_pfn(void); | 115 | extern unsigned long e820_end_of_ram_pfn(void); |
| 122 | extern unsigned long e820_end_of_low_ram_pfn(void); | 116 | extern unsigned long e820_end_of_low_ram_pfn(void); |
| 123 | extern void e820_register_active_regions(int nid, unsigned long start_pfn, | ||
| 124 | unsigned long end_pfn); | ||
| 125 | extern u64 e820_hole_size(u64 start, u64 end); | ||
| 126 | |||
| 127 | extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); | 117 | extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); |
| 128 | 118 | ||
| 129 | void memblock_x86_fill(void); | 119 | void memblock_x86_fill(void); |
| 130 | |||
| 131 | extern void finish_e820_parsing(void); | 120 | extern void finish_e820_parsing(void); |
| 132 | extern void e820_reserve_resources(void); | 121 | extern void e820_reserve_resources(void); |
| 133 | extern void e820_reserve_resources_late(void); | 122 | extern void e820_reserve_resources_late(void); |
| 134 | extern void setup_memory_map(void); | 123 | extern void setup_memory_map(void); |
| 135 | extern char *default_machine_specific_memory_setup(void); | 124 | extern char *default_machine_specific_memory_setup(void); |
| 136 | 125 | ||
| 137 | void reserve_early(u64 start, u64 end, char *name); | ||
| 138 | void free_early(u64 start, u64 end); | ||
| 139 | |||
| 140 | /* | 126 | /* |
| 141 | * Returns true iff the specified range [s,e) is completely contained inside | 127 | * Returns true iff the specified range [s,e) is completely contained inside |
| 142 | * the ISA region. | 128 | * the ISA region. |
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index a9221d18a5e..d5fd89462d7 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
| @@ -739,32 +739,6 @@ core_initcall(e820_mark_nvs_memory); | |||
| 739 | #endif | 739 | #endif |
| 740 | 740 | ||
| 741 | /* | 741 | /* |
| 742 | * Find a free area with specified alignment in a specific range. | ||
| 743 | */ | ||
| 744 | u64 __init find_e820_area(u64 start, u64 end, u64 size, u64 align) | ||
| 745 | { | ||
| 746 | u64 mem = memblock_find_in_range(start, end, size, align); | ||
| 747 | |||
| 748 | if (mem == MEMBLOCK_ERROR) | ||
| 749 | return -1ULL; | ||
| 750 | |||
| 751 | return mem; | ||
| 752 | } | ||
| 753 | |||
| 754 | /* | ||
| 755 | * Find next free range after *start | ||
| 756 | */ | ||
| 757 | u64 __init find_e820_area_size(u64 start, u64 *sizep, u64 align) | ||
| 758 | { | ||
| 759 | u64 mem = memblock_x86_find_in_range_size(start, sizep, align); | ||
| 760 | |||
| 761 | if (mem == MEMBLOCK_ERROR) | ||
| 762 | return -1ULL | ||
| 763 | |||
| 764 | return mem; | ||
| 765 | } | ||
| 766 | |||
| 767 | /* | ||
| 768 | * pre allocated 4k and reserved it in memblock and e820_saved | 742 | * pre allocated 4k and reserved it in memblock and e820_saved |
| 769 | */ | 743 | */ |
| 770 | u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align) | 744 | u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align) |
| @@ -856,32 +830,6 @@ unsigned long __init e820_end_of_low_ram_pfn(void) | |||
| 856 | return e820_end_pfn(1UL<<(32 - PAGE_SHIFT), E820_RAM); | 830 | return e820_end_pfn(1UL<<(32 - PAGE_SHIFT), E820_RAM); |
| 857 | } | 831 | } |
| 858 | 832 | ||
| 859 | /* Walk the e820 map and register active regions within a node */ | ||
| 860 | void __init e820_register_active_regions(int nid, unsigned long start_pfn, | ||
| 861 | unsigned long last_pfn) | ||
| 862 | { | ||
| 863 | memblock_x86_register_active_regions(nid, start_pfn, last_pfn); | ||
| 864 | } | ||
| 865 | |||
| 866 | /* | ||
| 867 | * Find the hole size (in bytes) in the memory range. | ||
| 868 | * @start: starting address of the memory range to scan | ||
| 869 | * @end: ending address of the memory range to scan | ||
| 870 | */ | ||
| 871 | u64 __init e820_hole_size(u64 start, u64 end) | ||
| 872 | { | ||
| 873 | return memblock_x86_hole_size(start, end); | ||
| 874 | } | ||
| 875 | |||
| 876 | void reserve_early(u64 start, u64 end, char *name) | ||
| 877 | { | ||
| 878 | memblock_x86_reserve_range(start, end, name); | ||
| 879 | } | ||
| 880 | void free_early(u64 start, u64 end) | ||
| 881 | { | ||
| 882 | memblock_x86_free_range(start, end); | ||
| 883 | } | ||
| 884 | |||
| 885 | static void early_panic(char *msg) | 833 | static void early_panic(char *msg) |
| 886 | { | 834 | { |
| 887 | early_printk(msg); | 835 | early_printk(msg); |
diff --git a/include/linux/early_res.h b/include/linux/early_res.h deleted file mode 100644 index 29c09f57a13..00000000000 --- a/include/linux/early_res.h +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | #ifndef _LINUX_EARLY_RES_H | ||
| 2 | #define _LINUX_EARLY_RES_H | ||
| 3 | #ifdef __KERNEL__ | ||
| 4 | |||
| 5 | extern void reserve_early(u64 start, u64 end, char *name); | ||
| 6 | extern void reserve_early_overlap_ok(u64 start, u64 end, char *name); | ||
| 7 | extern void free_early(u64 start, u64 end); | ||
| 8 | void free_early_partial(u64 start, u64 end); | ||
| 9 | extern void early_res_to_bootmem(u64 start, u64 end); | ||
| 10 | |||
| 11 | void reserve_early_without_check(u64 start, u64 end, char *name); | ||
| 12 | u64 find_early_area(u64 ei_start, u64 ei_last, u64 start, u64 end, | ||
| 13 | u64 size, u64 align); | ||
| 14 | u64 find_early_area_size(u64 ei_start, u64 ei_last, u64 start, | ||
| 15 | u64 *sizep, u64 align); | ||
| 16 | u64 find_fw_memmap_area(u64 start, u64 end, u64 size, u64 align); | ||
| 17 | u64 get_max_mapped(void); | ||
| 18 | #include <linux/range.h> | ||
| 19 | int get_free_all_memory_range(struct range **rangep, int nodeid); | ||
| 20 | |||
| 21 | #endif /* __KERNEL__ */ | ||
| 22 | |||
| 23 | #endif /* _LINUX_EARLY_RES_H */ | ||
diff --git a/kernel/Makefile b/kernel/Makefile index 057472fbc27..80e61c3e44a 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
| @@ -11,7 +11,6 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o \ | |||
| 11 | hrtimer.o rwsem.o nsproxy.o srcu.o semaphore.o \ | 11 | hrtimer.o rwsem.o nsproxy.o srcu.o semaphore.o \ |
| 12 | notifier.o ksysfs.o pm_qos_params.o sched_clock.o cred.o \ | 12 | notifier.o ksysfs.o pm_qos_params.o sched_clock.o cred.o \ |
| 13 | async.o range.o | 13 | async.o range.o |
| 14 | obj-$(CONFIG_HAVE_EARLY_RES) += early_res.o | ||
| 15 | obj-y += groups.o | 14 | obj-y += groups.o |
| 16 | 15 | ||
| 17 | ifdef CONFIG_FUNCTION_TRACER | 16 | ifdef CONFIG_FUNCTION_TRACER |
diff --git a/kernel/early_res.c b/kernel/early_res.c deleted file mode 100644 index 7bfae887f21..00000000000 --- a/kernel/early_res.c +++ /dev/null | |||
| @@ -1,590 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * early_res, could be used to replace bootmem | ||
| 3 | */ | ||
| 4 | #include <linux/kernel.h> | ||
| 5 | #include <linux/types.h> | ||
| 6 | #include <linux/init.h> | ||
| 7 | #include <linux/bootmem.h> | ||
| 8 | #include <linux/mm.h> | ||
| 9 | #include <linux/early_res.h> | ||
| 10 | #include <linux/slab.h> | ||
| 11 | #include <linux/kmemleak.h> | ||
| 12 | |||
| 13 | /* | ||
| 14 | * Early reserved memory areas. | ||
| 15 | */ | ||
| 16 | /* | ||
| 17 | * need to make sure this one is bigger enough before | ||
| 18 | * find_fw_memmap_area could be used | ||
| 19 | */ | ||
| 20 | #define MAX_EARLY_RES_X 32 | ||
| 21 | |||
| 22 | struct early_res { | ||
| 23 | u64 start, end; | ||
| 24 | char name[15]; | ||
| 25 | char overlap_ok; | ||
| 26 | }; | ||
| 27 | static struct early_res early_res_x[MAX_EARLY_RES_X] __initdata; | ||
| 28 | |||
| 29 | static int max_early_res __initdata = MAX_EARLY_RES_X; | ||
| 30 | static struct early_res *early_res __initdata = &early_res_x[0]; | ||
| 31 | static int early_res_count __initdata; | ||
| 32 | |||
| 33 | static int __init find_overlapped_early(u64 start, u64 end) | ||
| 34 | { | ||
| 35 | int i; | ||
| 36 | struct early_res *r; | ||
| 37 | |||
| 38 | for (i = 0; i < max_early_res && early_res[i].end; i++) { | ||
| 39 | r = &early_res[i]; | ||
| 40 | if (end > r->start && start < r->end) | ||
| 41 | break; | ||
| 42 | } | ||
| 43 | |||
| 44 | return i; | ||
| 45 | } | ||
| 46 | |||
| 47 | /* | ||
| 48 | * Drop the i-th range from the early reservation map, | ||
| 49 | * by copying any higher ranges down one over it, and | ||
| 50 | * clearing what had been the last slot. | ||
| 51 | */ | ||
| 52 | static void __init drop_range(int i) | ||
| 53 | { | ||
| 54 | int j; | ||
| 55 | |||
| 56 | for (j = i + 1; j < max_early_res && early_res[j].end; j++) | ||
