diff options
author | Toshi Kani <toshi.kani@hpe.com> | 2016-01-26 15:57:22 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-01-30 03:49:57 -0500 |
commit | 35d98e93fe6a7ab612f6b389ce42c1dc135d6eef (patch) | |
tree | fe2d32527ed270c65c2137b3256818cdbc4b467b | |
parent | 03cb525eb25018cf5f3da01d0f1391fc8b37805a (diff) |
arch: Set IORESOURCE_SYSTEM_RAM flag for System RAM
Set IORESOURCE_SYSTEM_RAM in flags of resource ranges with
"System RAM", "Kernel code", "Kernel data", and "Kernel bss".
Note that:
- IORESOURCE_SYSRAM (i.e. modifier bit) is set in flags when
IORESOURCE_MEM is already set. IORESOURCE_SYSTEM_RAM is defined
as (IORESOURCE_MEM|IORESOURCE_SYSRAM).
- Some archs do not set 'flags' for children nodes, such as
"Kernel code". This patch does not change 'flags' in this
case.
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: linux-arch@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mips@linux-mips.org
Cc: linux-mm <linux-mm@kvack.org>
Cc: linux-parisc@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Link: http://lkml.kernel.org/r/1453841853-11383-7-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/arm/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/arm64/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/avr32/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/m32r/kernel/setup.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/setup.c | 10 | ||||
-rw-r--r-- | arch/parisc/mm/init.c | 6 | ||||
-rw-r--r-- | arch/powerpc/mm/mem.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/setup.c | 8 | ||||
-rw-r--r-- | arch/score/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/setup.c | 8 | ||||
-rw-r--r-- | arch/sparc/mm/init_64.c | 8 | ||||
-rw-r--r-- | arch/tile/kernel/setup.c | 11 | ||||
-rw-r--r-- | arch/unicore32/kernel/setup.c | 6 |
13 files changed, 45 insertions, 38 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 7d0cba6f1cc5..139791ed473d 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -176,13 +176,13 @@ static struct resource mem_res[] = { | |||
176 | .name = "Kernel code", | 176 | .name = "Kernel code", |
177 | .start = 0, | 177 | .start = 0, |
178 | .end = 0, | 178 | .end = 0, |
179 | .flags = IORESOURCE_MEM | 179 | .flags = IORESOURCE_SYSTEM_RAM |
180 | }, | 180 | }, |
181 | { | 181 | { |
182 | .name = "Kernel data", | 182 | .name = "Kernel data", |
183 | .start = 0, | 183 | .start = 0, |
184 | .end = 0, | 184 | .end = 0, |
185 | .flags = IORESOURCE_MEM | 185 | .flags = IORESOURCE_SYSTEM_RAM |
186 | } | 186 | } |
187 | }; | 187 | }; |
188 | 188 | ||
@@ -851,7 +851,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc) | |||
851 | res->name = "System RAM"; | 851 | res->name = "System RAM"; |
852 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); | 852 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); |
853 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; | 853 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; |
854 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 854 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
855 | 855 | ||
856 | request_resource(&iomem_resource, res); | 856 | request_resource(&iomem_resource, res); |
857 | 857 | ||
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 8119479147db..450987d99b9b 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c | |||
@@ -73,13 +73,13 @@ static struct resource mem_res[] = { | |||
73 | .name = "Kernel code", | 73 | .name = "Kernel code", |
74 | .start = 0, | 74 | .start = 0, |
75 | .end = 0, | 75 | .end = 0, |
76 | .flags = IORESOURCE_MEM | 76 | .flags = IORESOURCE_SYSTEM_RAM |
77 | }, | 77 | }, |
78 | { | 78 | { |
79 | .name = "Kernel data", | 79 | .name = "Kernel data", |
80 | .start = 0, | 80 | .start = 0, |
81 | .end = 0, | 81 | .end = 0, |
82 | .flags = IORESOURCE_MEM | 82 | .flags = IORESOURCE_SYSTEM_RAM |
83 | } | 83 | } |
84 | }; | 84 | }; |
85 | 85 | ||
@@ -210,7 +210,7 @@ static void __init request_standard_resources(void) | |||
210 | res->name = "System RAM"; | 210 | res->name = "System RAM"; |
211 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); | 211 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); |
212 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; | 212 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; |
213 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 213 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
214 | 214 | ||
215 | request_resource(&iomem_resource, res); | 215 | request_resource(&iomem_resource, res); |
216 | 216 | ||
diff --git a/arch/avr32/kernel/setup.c b/arch/avr32/kernel/setup.c index 209ae5ad3495..e6928896da2a 100644 --- a/arch/avr32/kernel/setup.c +++ b/arch/avr32/kernel/setup.c | |||
@@ -49,13 +49,13 @@ static struct resource __initdata kernel_data = { | |||
49 | .name = "Kernel data", | 49 | .name = "Kernel data", |
50 | .start = 0, | 50 | .start = 0, |
51 | .end = 0, | 51 | .end = 0, |
52 | .flags = IORESOURCE_MEM, | 52 | .flags = IORESOURCE_SYSTEM_RAM, |
53 | }; | 53 | }; |
54 | static struct resource __initdata kernel_code = { | 54 | static struct resource __initdata kernel_code = { |
55 | .name = "Kernel code", | 55 | .name = "Kernel code", |
56 | .start = 0, | 56 | .start = 0, |
57 | .end = 0, | 57 | .end = 0, |
58 | .flags = IORESOURCE_MEM, | 58 | .flags = IORESOURCE_SYSTEM_RAM, |
59 | .sibling = &kernel_data, | 59 | .sibling = &kernel_data, |
60 | }; | 60 | }; |
61 | 61 | ||
@@ -134,7 +134,7 @@ add_physical_memory(resource_size_t start, resource_size_t end) | |||
134 | new->start = start; | 134 | new->start = start; |
135 | new->end = end; | 135 | new->end = end; |
136 | new->name = "System RAM"; | 136 | new->name = "System RAM"; |
137 | new->flags = IORESOURCE_MEM; | 137 | new->flags = IORESOURCE_SYSTEM_RAM; |
138 | 138 | ||
139 | *pprev = new; | 139 | *pprev = new; |
140 | } | 140 | } |
diff --git a/arch/m32r/kernel/setup.c b/arch/m32r/kernel/setup.c index a5ecef7188ba..136c69f1fb8a 100644 --- a/arch/m32r/kernel/setup.c +++ b/arch/m32r/kernel/setup.c | |||
@@ -70,14 +70,14 @@ static struct resource data_resource = { | |||
70 | .name = "Kernel data", | 70 | .name = "Kernel data", |
71 | .start = 0, | 71 | .start = 0, |
72 | .end = 0, | 72 | .end = 0, |
73 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 73 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
74 | }; | 74 | }; |
75 | 75 | ||
76 | static struct resource code_resource = { | 76 | static struct resource code_resource = { |
77 | .name = "Kernel code", | 77 | .name = "Kernel code", |
78 | .start = 0, | 78 | .start = 0, |
79 | .end = 0, | 79 | .end = 0, |
80 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 80 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
81 | }; | 81 | }; |
82 | 82 | ||
83 | unsigned long memory_start; | 83 | unsigned long memory_start; |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 569a7d5242dd..c745f0ea2577 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
@@ -732,21 +732,23 @@ static void __init resource_init(void) | |||
732 | end = HIGHMEM_START - 1; | 732 | end = HIGHMEM_START - 1; |
733 | 733 | ||
734 | res = alloc_bootmem(sizeof(struct resource)); | 734 | res = alloc_bootmem(sizeof(struct resource)); |
735 | |||
736 | res->start = start; | ||
737 | res->end = end; | ||
738 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | ||
739 | |||
735 | switch (boot_mem_map.map[i].type) { | 740 | switch (boot_mem_map.map[i].type) { |
736 | case BOOT_MEM_RAM: | 741 | case BOOT_MEM_RAM: |
737 | case BOOT_MEM_INIT_RAM: | 742 | case BOOT_MEM_INIT_RAM: |
738 | case BOOT_MEM_ROM_DATA: | 743 | case BOOT_MEM_ROM_DATA: |
739 | res->name = "System RAM"; | 744 | res->name = "System RAM"; |
745 | res->flags |= IORESOURCE_SYSRAM; | ||
740 | break; | 746 | break; |
741 | case BOOT_MEM_RESERVED: | 747 | case BOOT_MEM_RESERVED: |
742 | default: | 748 | default: |
743 | res->name = "reserved"; | 749 | res->name = "reserved"; |
744 | } | 750 | } |
745 | 751 | ||
746 | res->start = start; | ||
747 | res->end = end; | ||
748 | |||
749 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | ||
750 | request_resource(&iomem_resource, res); | 752 | request_resource(&iomem_resource, res); |
751 | 753 | ||
752 | /* | 754 | /* |
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 1b366c477687..3c07d6b96877 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -55,12 +55,12 @@ signed char pfnnid_map[PFNNID_MAP_MAX] __read_mostly; | |||
55 | 55 | ||
56 | static struct resource data_resource = { | 56 | static struct resource data_resource = { |
57 | .name = "Kernel data", | 57 | .name = "Kernel data", |
58 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 58 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
59 | }; | 59 | }; |
60 | 60 | ||
61 | static struct resource code_resource = { | 61 | static struct resource code_resource = { |
62 | .name = "Kernel code", | 62 | .name = "Kernel code", |
63 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 63 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
64 | }; | 64 | }; |
65 | 65 | ||
66 | static struct resource pdcdata_resource = { | 66 | static struct resource pdcdata_resource = { |
@@ -201,7 +201,7 @@ static void __init setup_bootmem(void) | |||
201 | res->name = "System RAM"; | 201 | res->name = "System RAM"; |
202 | res->start = pmem_ranges[i].start_pfn << PAGE_SHIFT; | 202 | res->start = pmem_ranges[i].start_pfn << PAGE_SHIFT; |
203 | res->end = res->start + (pmem_ranges[i].pages << PAGE_SHIFT)-1; | 203 | res->end = res->start + (pmem_ranges[i].pages << PAGE_SHIFT)-1; |
204 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 204 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
205 | request_resource(&iomem_resource, res); | 205 | request_resource(&iomem_resource, res); |
206 | } | 206 | } |
207 | 207 | ||
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index d0f0a514b04e..f078a1f94fc2 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c | |||
@@ -541,7 +541,7 @@ static int __init add_system_ram_resources(void) | |||
541 | res->name = "System RAM"; | 541 | res->name = "System RAM"; |
542 | res->start = base; | 542 | res->start = base; |
543 | res->end = base + size - 1; | 543 | res->end = base + size - 1; |
544 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 544 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
545 | WARN_ON(request_resource(&iomem_resource, res) < 0); | 545 | WARN_ON(request_resource(&iomem_resource, res) < 0); |
546 | } | 546 | } |
547 | } | 547 | } |
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 9220db5c996a..cedb0198675f 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -374,17 +374,17 @@ static void __init setup_lowcore(void) | |||
374 | 374 | ||
375 | static struct resource code_resource = { | 375 | static struct resource code_resource = { |
376 | .name = "Kernel code", | 376 | .name = "Kernel code", |
377 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 377 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
378 | }; | 378 | }; |
379 | 379 | ||
380 | static struct resource data_resource = { | 380 | static struct resource data_resource = { |
381 | .name = "Kernel data", | 381 | .name = "Kernel data", |
382 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 382 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
383 | }; | 383 | }; |
384 | 384 | ||
385 | static struct resource bss_resource = { | 385 | static struct resource bss_resource = { |
386 | .name = "Kernel bss", | 386 | .name = "Kernel bss", |
387 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 387 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
388 | }; | 388 | }; |
389 | 389 | ||
390 | static struct resource __initdata *standard_resources[] = { | 390 | static struct resource __initdata *standard_resources[] = { |
@@ -408,7 +408,7 @@ static void __init setup_resources(void) | |||
408 | 408 | ||
409 | for_each_memblock(memory, reg) { | 409 | for_each_memblock(memory, reg) { |
410 | res = alloc_bootmem_low(sizeof(*res)); | 410 | res = alloc_bootmem_low(sizeof(*res)); |
411 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; | 411 | res->flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM; |
412 | 412 | ||
413 | res->name = "System RAM"; | 413 | res->name = "System RAM"; |
414 | res->start = reg->base; | 414 | res->start = reg->base; |
diff --git a/arch/score/kernel/setup.c b/arch/score/kernel/setup.c index b48459afefdd..f3a0649ab521 100644 --- a/arch/score/kernel/setup.c +++ b/arch/score/kernel/setup.c | |||
@@ -101,7 +101,7 @@ static void __init resource_init(void) | |||
101 | res->name = "System RAM"; | 101 | res->name = "System RAM"; |
102 | res->start = MEMORY_START; | 102 | res->start = MEMORY_START; |
103 | res->end = MEMORY_START + MEMORY_SIZE - 1; | 103 | res->end = MEMORY_START + MEMORY_SIZE - 1; |
104 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 104 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
105 | request_resource(&iomem_resource, res); | 105 | request_resource(&iomem_resource, res); |
106 | 106 | ||
107 | request_resource(res, &code_resource); | 107 | request_resource(res, &code_resource); |
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index de19cfa768f2..3f1c18b28e8a 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -78,17 +78,17 @@ static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, }; | |||
78 | 78 | ||
79 | static struct resource code_resource = { | 79 | static struct resource code_resource = { |
80 | .name = "Kernel code", | 80 | .name = "Kernel code", |
81 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 81 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
82 | }; | 82 | }; |
83 | 83 | ||
84 | static struct resource data_resource = { | 84 | static struct resource data_resource = { |
85 | .name = "Kernel data", | 85 | .name = "Kernel data", |
86 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 86 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
87 | }; | 87 | }; |
88 | 88 | ||
89 | static struct resource bss_resource = { | 89 | static struct resource bss_resource = { |
90 | .name = "Kernel bss", | 90 | .name = "Kernel bss", |
91 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 91 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM, |
92 | }; | 92 | }; |
93 | 93 | ||
94 | unsigned long memory_start; | 94 | unsigned long memory_start; |
@@ -202,7 +202,7 @@ void __init __add_active_range(unsigned int nid, unsigned long start_pfn, | |||
202 | res->name = "System RAM"; | 202 | res->name = "System RAM"; |
203 | res->start = start; | 203 | res->start = start; |
204 | res->end = end - 1; | 204 | res->end = end - 1; |
205 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 205 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
206 | 206 | ||
207 | if (request_resource(&iomem_resource, res)) { | 207 | if (request_resource(&iomem_resource, res)) { |
208 | pr_err("unable to request memory_resource 0x%lx 0x%lx\n", | 208 | pr_err("unable to request memory_resource 0x%lx 0x%lx\n", |
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 6f216853f272..1cfe6aab7a11 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
@@ -2863,17 +2863,17 @@ void hugetlb_setup(struct pt_regs *regs) | |||
2863 | 2863 | ||
2864 | static struct resource code_resource = { | 2864 | static struct resource code_resource = { |
2865 | .name = "Kernel code", | 2865 | .name = "Kernel code", |
2866 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 2866 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
2867 | }; | 2867 | }; |
2868 | 2868 | ||
2869 | static struct resource data_resource = { | 2869 | static struct resource data_resource = { |
2870 | .name = "Kernel data", | 2870 | .name = "Kernel data", |
2871 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 2871 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
2872 | }; | 2872 | }; |
2873 | 2873 | ||
2874 | static struct resource bss_resource = { | 2874 | static struct resource bss_resource = { |
2875 | .name = "Kernel bss", | 2875 | .name = "Kernel bss", |
2876 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 2876 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
2877 | }; | 2877 | }; |
2878 | 2878 | ||
2879 | static inline resource_size_t compute_kern_paddr(void *addr) | 2879 | static inline resource_size_t compute_kern_paddr(void *addr) |
@@ -2909,7 +2909,7 @@ static int __init report_memory(void) | |||
2909 | res->name = "System RAM"; | 2909 | res->name = "System RAM"; |
2910 | res->start = pavail[i].phys_addr; | 2910 | res->start = pavail[i].phys_addr; |
2911 | res->end = pavail[i].phys_addr + pavail[i].reg_size - 1; | 2911 | res->end = pavail[i].phys_addr + pavail[i].reg_size - 1; |
2912 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; | 2912 | res->flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM; |
2913 | 2913 | ||
2914 | if (insert_resource(&iomem_resource, res) < 0) { | 2914 | if (insert_resource(&iomem_resource, res) < 0) { |
2915 | pr_warn("Resource insertion failed.\n"); | 2915 | pr_warn("Resource insertion failed.\n"); |
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index bbb855de6569..a992238e9b58 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
@@ -1632,14 +1632,14 @@ static struct resource data_resource = { | |||
1632 | .name = "Kernel data", | 1632 | .name = "Kernel data", |
1633 | .start = 0, | 1633 | .start = 0, |
1634 | .end = 0, | 1634 | .end = 0, |
1635 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 1635 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
1636 | }; | 1636 | }; |
1637 | 1637 | ||
1638 | static struct resource code_resource = { | 1638 | static struct resource code_resource = { |
1639 | .name = "Kernel code", | 1639 | .name = "Kernel code", |
1640 | .start = 0, | 1640 | .start = 0, |
1641 | .end = 0, | 1641 | .end = 0, |
1642 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 1642 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
1643 | }; | 1643 | }; |
1644 | 1644 | ||
1645 | /* | 1645 | /* |
@@ -1673,10 +1673,15 @@ insert_ram_resource(u64 start_pfn, u64 end_pfn, bool reserved) | |||
1673 | kzalloc(sizeof(struct resource), GFP_ATOMIC); | 1673 | kzalloc(sizeof(struct resource), GFP_ATOMIC); |
1674 | if (!res) | 1674 | if (!res) |
1675 | return NULL; | 1675 | return NULL; |
1676 | res->name = reserved ? "Reserved" : "System RAM"; | ||
1677 | res->start = start_pfn << PAGE_SHIFT; | 1676 | res->start = start_pfn << PAGE_SHIFT; |
1678 | res->end = (end_pfn << PAGE_SHIFT) - 1; | 1677 | res->end = (end_pfn << PAGE_SHIFT) - 1; |
1679 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; | 1678 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; |
1679 | if (reserved) { | ||
1680 | res->name = "Reserved"; | ||
1681 | } else { | ||
1682 | res->name = "System RAM"; | ||
1683 | res->flags |= IORESOURCE_SYSRAM; | ||
1684 | } | ||
1680 | if (insert_resource(&iomem_resource, res)) { | 1685 | if (insert_resource(&iomem_resource, res)) { |
1681 | kfree(res); | 1686 | kfree(res); |
1682 | return NULL; | 1687 | return NULL; |
diff --git a/arch/unicore32/kernel/setup.c b/arch/unicore32/kernel/setup.c index 3fa317f96122..c2bffa5614a4 100644 --- a/arch/unicore32/kernel/setup.c +++ b/arch/unicore32/kernel/setup.c | |||
@@ -72,13 +72,13 @@ static struct resource mem_res[] = { | |||
72 | .name = "Kernel code", | 72 | .name = "Kernel code", |
73 | .start = 0, | 73 | .start = 0, |
74 | .end = 0, | 74 | .end = 0, |
75 | .flags = IORESOURCE_MEM | 75 | .flags = IORESOURCE_SYSTEM_RAM |
76 | }, | 76 | }, |
77 | { | 77 | { |
78 | .name = "Kernel data", | 78 | .name = "Kernel data", |
79 | .start = 0, | 79 | .start = 0, |
80 | .end = 0, | 80 | .end = 0, |
81 | .flags = IORESOURCE_MEM | 81 | .flags = IORESOURCE_SYSTEM_RAM |
82 | } | 82 | } |
83 | }; | 83 | }; |
84 | 84 | ||
@@ -211,7 +211,7 @@ request_standard_resources(struct meminfo *mi) | |||
211 | res->name = "System RAM"; | 211 | res->name = "System RAM"; |
212 | res->start = mi->bank[i].start; | 212 | res->start = mi->bank[i].start; |
213 | res->end = mi->bank[i].start + mi->bank[i].size - 1; | 213 | res->end = mi->bank[i].start + mi->bank[i].size - 1; |
214 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 214 | res->flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
215 | 215 | ||
216 | request_resource(&iomem_resource, res); | 216 | request_resource(&iomem_resource, res); |
217 | 217 | ||