aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2010-08-25 16:39:18 -0400
committerH. Peter Anvin <hpa@zytor.com>2010-08-27 14:13:51 -0400
commita587d2daebcd2bc159d4348b6a7b028950a6d803 (patch)
tree8001158a76efe400600a4e54dc5dae384b32b6e5
parenta9ce6bc15100023b411f8117e53a016d61889800 (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.h14
-rw-r--r--arch/x86/kernel/e820.c52
-rw-r--r--include/linux/early_res.h23
-rw-r--r--kernel/Makefile1
-rw-r--r--kernel/early_res.c590
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
115extern unsigned long end_user_pfn;
116
117extern u64 find_e820_area(u64 start, u64 end, u64 size, u64 align);
118extern u64 find_e820_area_size(u64 start, u64 *sizep, u64 align);
119extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
120
121extern unsigned long e820_end_of_ram_pfn(void); 115extern unsigned long e820_end_of_ram_pfn(void);
122extern unsigned long e820_end_of_low_ram_pfn(void); 116extern unsigned long e820_end_of_low_ram_pfn(void);
123extern void e820_register_active_regions(int nid, unsigned long start_pfn,
124 unsigned long end_pfn);
125extern u64 e820_hole_size(u64 start, u64 end);
126
127extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); 117extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align);
128 118
129void memblock_x86_fill(void); 119void memblock_x86_fill(void);
130
131extern void finish_e820_parsing(void); 120extern void finish_e820_parsing(void);
132extern void e820_reserve_resources(void); 121extern void e820_reserve_resources(void);
133extern void e820_reserve_resources_late(void); 122extern void e820_reserve_resources_late(void);
134extern void setup_memory_map(void); 123extern void setup_memory_map(void);
135extern char *default_machine_specific_memory_setup(void); 124extern char *default_machine_specific_memory_setup(void);
136 125
137void reserve_early(u64 start, u64 end, char *name);
138void 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 */
744u64 __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 */
757u64 __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 */
770u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align) 744u64 __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 */
860void __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 */
871u64 __init e820_hole_size(u64 start, u64 end)
872{
873 return memblock_x86_hole_size(start, end);
874}
875
876void reserve_early(u64 start, u64 end, char *name)
877{
878 memblock_x86_reserve_range(start, end, name);
879}
880void free_early(u64 start, u64 end)
881{
882 memblock_x86_free_range(start, end);
883}
884
885static void early_panic(char *msg) 833static 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
5extern void reserve_early(u64 start, u64 end, char *name);
6extern void reserve_early_overlap_ok(u64 start, u64 end, char *name);
7extern void free_early(u64 start, u64 end);
8void free_early_partial(u64 start, u64 end);
9extern void early_res_to_bootmem(u64 start, u64 end);
10
11void reserve_early_without_check(u64 start, u64 end, char *name);
12u64 find_early_area(u64 ei_start, u64 ei_last, u64 start, u64 end,
13 u64 size, u64 align);
14u64 find_early_area_size(u64 ei_start, u64 ei_last, u64 start,
15 u64 *sizep, u64 align);
16u64 find_fw_memmap_area(u64 start, u64 end, u64 size, u64 align);
17u64 get_max_mapped(void);
18#include <linux/range.h>
19int 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
14obj-$(CONFIG_HAVE_EARLY_RES) += early_res.o
15obj-y += groups.o 14obj-y += groups.o
16 15
17ifdef CONFIG_FUNCTION_TRACER 16ifdef 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
22struct early_res {
23 u64 start, end;
24 char name[15];
25 char overlap_ok;
26};
27static struct early_res early_res_x[MAX_EARLY_RES_X] __initdata;
28
29static int max_early_res __initdata = MAX_EARLY_RES_X;
30static struct early_res *early_res __initdata = &early_res_x[0];
31static int early_res_count __initdata;
32
33static 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 */
52static 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++)