diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/head-common.S | 12 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/setup.c | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index 47cd974e57ea..c96ecacb2021 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S | |||
@@ -177,6 +177,18 @@ __lookup_processor_type_data: | |||
177 | .long __proc_info_end | 177 | .long __proc_info_end |
178 | .size __lookup_processor_type_data, . - __lookup_processor_type_data | 178 | .size __lookup_processor_type_data, . - __lookup_processor_type_data |
179 | 179 | ||
180 | __error_lpae: | ||
181 | #ifdef CONFIG_DEBUG_LL | ||
182 | adr r0, str_lpae | ||
183 | bl printascii | ||
184 | b __error | ||
185 | str_lpae: .asciz "\nError: Kernel with LPAE support, but CPU does not support LPAE.\n" | ||
186 | #else | ||
187 | b __error | ||
188 | #endif | ||
189 | .align | ||
190 | ENDPROC(__error_lpae) | ||
191 | |||
180 | __error_p: | 192 | __error_p: |
181 | #ifdef CONFIG_DEBUG_LL | 193 | #ifdef CONFIG_DEBUG_LL |
182 | adr r0, str_p1 | 194 | adr r0, str_p1 |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 3aca959fee8d..f8c08839edf3 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -102,7 +102,7 @@ ENTRY(stext) | |||
102 | and r3, r3, #0xf @ extract VMSA support | 102 | and r3, r3, #0xf @ extract VMSA support |
103 | cmp r3, #5 @ long-descriptor translation table format? | 103 | cmp r3, #5 @ long-descriptor translation table format? |
104 | THUMB( it lo ) @ force fixup-able long branch encoding | 104 | THUMB( it lo ) @ force fixup-able long branch encoding |
105 | blo __error_p @ only classic page table format | 105 | blo __error_lpae @ only classic page table format |
106 | #endif | 106 | #endif |
107 | 107 | ||
108 | #ifndef CONFIG_XIP_KERNEL | 108 | #ifndef CONFIG_XIP_KERNEL |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 0a6c70b0b0f9..50e198c1e9c8 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -734,7 +734,7 @@ static void __init request_standard_resources(const struct machine_desc *mdesc) | |||
734 | kernel_data.end = virt_to_phys(_end - 1); | 734 | kernel_data.end = virt_to_phys(_end - 1); |
735 | 735 | ||
736 | for_each_memblock(memory, region) { | 736 | for_each_memblock(memory, region) { |
737 | res = memblock_virt_alloc_low(sizeof(*res), 0); | 737 | res = memblock_virt_alloc(sizeof(*res), 0); |
738 | res->name = "System RAM"; | 738 | res->name = "System RAM"; |
739 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); | 739 | res->start = __pfn_to_phys(memblock_region_memory_base_pfn(region)); |
740 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; | 740 | res->end = __pfn_to_phys(memblock_region_memory_end_pfn(region)) - 1; |