diff options
| -rw-r--r-- | arch/mips/Kconfig | 1 | ||||
| -rw-r--r-- | arch/mips/Kconfig.debug | 36 | ||||
| -rw-r--r-- | arch/mips/Makefile | 4 | ||||
| -rw-r--r-- | arch/mips/ath79/clock.c | 2 | ||||
| -rw-r--r-- | arch/mips/cavium-octeon/octeon-platform.c | 2 | ||||
| -rw-r--r-- | arch/mips/include/asm/asmmacro.h | 1 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-cavium-octeon/mangle-port.h | 4 | ||||
| -rw-r--r-- | arch/mips/include/asm/mach-paravirt/kernel-entry-init.h | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/mips-r2-to-r6-emul.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/process.c | 8 | ||||
| -rw-r--r-- | arch/mips/kernel/setup.c | 7 | ||||
| -rw-r--r-- | arch/mips/kernel/smp.c | 7 | ||||
| -rw-r--r-- | arch/mips/kernel/uprobes.c | 2 | ||||
| -rw-r--r-- | arch/mips/kernel/vdso.c | 8 | ||||
| -rw-r--r-- | arch/mips/math-emu/dsemul.c | 1 | ||||
| -rw-r--r-- | arch/mips/mm/c-r4k.c | 2 | ||||
| -rw-r--r-- | arch/mips/mm/init.c | 13 |
17 files changed, 37 insertions, 65 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 26388562e300..212ff92920d2 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
| @@ -65,6 +65,7 @@ config MIPS | |||
| 65 | select ARCH_CLOCKSOURCE_DATA | 65 | select ARCH_CLOCKSOURCE_DATA |
| 66 | select HANDLE_DOMAIN_IRQ | 66 | select HANDLE_DOMAIN_IRQ |
| 67 | select HAVE_EXIT_THREAD | 67 | select HAVE_EXIT_THREAD |
| 68 | select HAVE_REGS_AND_STACK_ACCESS_API | ||
| 68 | 69 | ||
| 69 | menu "Machine selection" | 70 | menu "Machine selection" |
| 70 | 71 | ||
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index f0e314ceb8ba..7f975b20b20c 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug | |||
| @@ -113,42 +113,6 @@ config SPINLOCK_TEST | |||
| 113 | help | 113 | help |
| 114 | Add several files to the debugfs to test spinlock speed. | 114 | Add several files to the debugfs to test spinlock speed. |
| 115 | 115 | ||
| 116 | if CPU_MIPSR6 | ||
| 117 | |||
| 118 | choice | ||
| 119 | prompt "Compact branch policy" | ||
| 120 | default MIPS_COMPACT_BRANCHES_OPTIMAL | ||
| 121 | |||
| 122 | config MIPS_COMPACT_BRANCHES_NEVER | ||
| 123 | bool "Never (force delay slot branches)" | ||
| 124 | help | ||
| 125 | Pass the -mcompact-branches=never flag to the compiler in order to | ||
| 126 | force it to always emit branches with delay slots, and make no use | ||
| 127 | of the compact branch instructions introduced by MIPSr6. This is | ||
| 128 | useful if you suspect there may be an issue with compact branches in | ||
| 129 | either the compiler or the CPU. | ||
| 130 | |||
| 131 | config MIPS_COMPACT_BRANCHES_OPTIMAL | ||
| 132 | bool "Optimal (use where beneficial)" | ||
| 133 | help | ||
| 134 | Pass the -mcompact-branches=optimal flag to the compiler in order for | ||
| 135 | it to make use of compact branch instructions where it deems them | ||
| 136 | beneficial, and use branches with delay slots elsewhere. This is the | ||
| 137 | default compiler behaviour, and should be used unless you have a | ||
| 138 | reason to choose otherwise. | ||
| 139 | |||
| 140 | config MIPS_COMPACT_BRANCHES_ALWAYS | ||
| 141 | bool "Always (force compact branches)" | ||
| 142 | help | ||
| 143 | Pass the -mcompact-branches=always flag to the compiler in order to | ||
| 144 | force it to always emit compact branches, making no use of branch | ||
| 145 | instructions with delay slots. This can result in more compact code | ||
| 146 | which may be beneficial in some scenarios. | ||
| 147 | |||
| 148 | endchoice | ||
| 149 | |||
| 150 | endif # CPU_MIPSR6 | ||
| 151 | |||
| 152 | config SCACHE_DEBUGFS | 116 | config SCACHE_DEBUGFS |
| 153 | bool "L2 cache debugfs entries" | 117 | bool "L2 cache debugfs entries" |
| 154 | depends on DEBUG_FS | 118 | depends on DEBUG_FS |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index efd7a9dc93c4..598ab2930fce 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
| @@ -203,10 +203,6 @@ endif | |||
| 203 | toolchain-virt := $(call cc-option-yn,$(mips-cflags) -mvirt) | 203 | toolchain-virt := $(call cc-option-yn,$(mips-cflags) -mvirt) |
| 204 | cflags-$(toolchain-virt) += -DTOOLCHAIN_SUPPORTS_VIRT | 204 | cflags-$(toolchain-virt) += -DTOOLCHAIN_SUPPORTS_VIRT |
| 205 | 205 | ||
| 206 | cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_NEVER) += -mcompact-branches=never | ||
| 207 | cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_OPTIMAL) += -mcompact-branches=optimal | ||
| 208 | cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_ALWAYS) += -mcompact-branches=always | ||
| 209 | |||
| 210 | # | 206 | # |
| 211 | # Firmware support | 207 | # Firmware support |
| 212 | # | 208 | # |
diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c index 2e7378467c5c..cc3a1e33a600 100644 --- a/arch/mips/ath79/clock.c +++ b/arch/mips/ath79/clock.c | |||
| @@ -96,7 +96,7 @@ static struct clk * __init ath79_reg_ffclk(const char *name, | |||
| 96 | struct clk *clk; | 96 | struct clk *clk; |
| 97 | 97 | ||
| 98 | clk = clk_register_fixed_factor(NULL, name, parent_name, 0, mult, div); | 98 | clk = clk_register_fixed_factor(NULL, name, parent_name, 0, mult, div); |
| 99 | if (!clk) | 99 | if (IS_ERR(clk)) |
| 100 | panic("failed to allocate %s clock structure", name); | 100 | panic("failed to allocate %s clock structure", name); |
| 101 | 101 | ||
| 102 | return clk; | 102 | return clk; |
diff --git a/arch/mips/cavium-octeon/octeon-platform.c b/arch/mips/cavium-octeon/octeon-platform.c index b31fbc9d6eae..37a932d9148c 100644 --- a/arch/mips/cavium-octeon/octeon-platform.c +++ b/arch/mips/cavium-octeon/octeon-platform.c | |||
| @@ -1059,7 +1059,7 @@ static int __init octeon_publish_devices(void) | |||
| 1059 | { | 1059 | { |
| 1060 | return of_platform_bus_probe(NULL, octeon_ids, NULL); | 1060 | return of_platform_bus_probe(NULL, octeon_ids, NULL); |
| 1061 | } | 1061 | } |
| 1062 | device_initcall(octeon_publish_devices); | 1062 | arch_initcall(octeon_publish_devices); |
| 1063 | 1063 | ||
| 1064 | MODULE_AUTHOR("David Daney <ddaney@caviumnetworks.com>"); | 1064 | MODULE_AUTHOR("David Daney <ddaney@caviumnetworks.com>"); |
| 1065 | MODULE_LICENSE("GPL"); | 1065 | MODULE_LICENSE("GPL"); |
diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h index 56584a659183..83054f79f72a 100644 --- a/arch/mips/include/asm/asmmacro.h +++ b/arch/mips/include/asm/asmmacro.h | |||
| @@ -157,6 +157,7 @@ | |||
| 157 | ldc1 $f28, THREAD_FPR28(\thread) | 157 | ldc1 $f28, THREAD_FPR28(\thread) |
| 158 | ldc1 $f30, THREAD_FPR30(\thread) | 158 | ldc1 $f30, THREAD_FPR30(\thread) |
| 159 | ctc1 \tmp, fcr31 | 159 | ctc1 \tmp, fcr31 |
| 160 | .set pop | ||
| 160 | .endm | 161 | .endm |
| 161 | 162 | ||
| 162 | .macro fpu_restore_16odd thread | 163 | .macro fpu_restore_16odd thread |
diff --git a/arch/mips/include/asm/mach-cavium-octeon/mangle-port.h b/arch/mips/include/asm/mach-cavium-octeon/mangle-port.h index 0cf5ac1f7245..8ff2cbdf2c3e 100644 --- a/arch/mips/include/asm/mach-cavium-octeon/mangle-port.h +++ b/arch/mips/include/asm/mach-cavium-octeon/mangle-port.h | |||
| @@ -15,8 +15,8 @@ | |||
| 15 | static inline bool __should_swizzle_bits(volatile void *a) | 15 | static inline bool __should_swizzle_bits(volatile void *a) |
| 16 | { | 16 | { |
| 17 | extern const bool octeon_should_swizzle_table[]; | 17 | extern const bool octeon_should_swizzle_table[]; |
| 18 | u64 did = ((u64)(uintptr_t)a >> 40) & 0xff; | ||
| 18 | 19 | ||
| 19 | unsigned long did = ((unsigned long)a >> 40) & 0xff; | ||
| 20 | return octeon_should_swizzle_table[did]; | 20 | return octeon_should_swizzle_table[did]; |
| 21 | } | 21 | } |
| 22 | 22 | ||
| @@ -29,7 +29,7 @@ static inline bool __should_swizzle_bits(volatile void *a) | |||
| 29 | 29 | ||
| 30 | #define __should_swizzle_bits(a) false | 30 | #define __should_swizzle_bits(a) false |
| 31 | 31 | ||
| 32 | static inline bool __should_swizzle_addr(unsigned long p) | 32 | static inline bool __should_swizzle_addr(u64 p) |
| 33 | { | 33 | { |
| 34 | /* boot bus? */ | 34 | /* boot bus? */ |
| 35 | return ((p >> 40) & 0xff) == 0; | 35 | return ((p >> 40) & 0xff) == 0; |
diff --git a/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h b/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h index 2f82bfa3a773..c9f5769dfc8f 100644 --- a/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h +++ b/arch/mips/include/asm/mach-paravirt/kernel-entry-init.h | |||
| @@ -11,11 +11,13 @@ | |||
| 11 | #define CP0_EBASE $15, 1 | 11 | #define CP0_EBASE $15, 1 |
| 12 | 12 | ||
| 13 | .macro kernel_entry_setup | 13 | .macro kernel_entry_setup |
| 14 | #ifdef CONFIG_SMP | ||
| 14 | mfc0 t0, CP0_EBASE | 15 | mfc0 t0, CP0_EBASE |
| 15 | andi t0, t0, 0x3ff # CPUNum | 16 | andi t0, t0, 0x3ff # CPUNum |
| 16 | beqz t0, 1f | 17 | beqz t0, 1f |
| 17 | # CPUs other than zero goto smp_bootstrap | 18 | # CPUs other than zero goto smp_bootstrap |
| 18 | j smp_bootstrap | 19 | j smp_bootstrap |
| 20 | #endif /* CONFIG_SMP */ | ||
| 19 | 21 | ||
| 20 | 1: | 22 | 1: |
| 21 | .endm | 23 | .endm |
diff --git a/arch/mips/kernel/mips-r2-to-r6-emul.c b/arch/mips/kernel/mips-r2-to-r6-emul.c index c3372cac6db2..0a7e10b5f9e3 100644 --- a/arch/mips/kernel/mips-r2-to-r6-emul.c +++ b/arch/mips/kernel/mips-r2-to-r6-emul.c | |||
| @@ -1164,7 +1164,9 @@ fpu_emul: | |||
| 1164 | regs->regs[31] = r31; | 1164 | regs->regs[31] = r31; |
| 1165 | regs->cp0_epc = epc; | 1165 | regs->cp0_epc = epc; |
| 1166 | if (!used_math()) { /* First time FPU user. */ | 1166 | if (!used_math()) { /* First time FPU user. */ |
| 1167 | preempt_disable(); | ||
| 1167 | err = init_fpu(); | 1168 | err = init_fpu(); |
| 1169 | preempt_enable(); | ||
| 1168 | set_used_math(); | 1170 | set_used_math(); |
| 1169 | } | 1171 | } |
| 1170 | lose_fpu(1); /* Save FPU state for the emulator. */ | 1172 | lose_fpu(1); /* Save FPU state for the emulator. */ |
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 7429ad09fbe3..d2d061520a23 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
| @@ -605,14 +605,14 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value) | |||
| 605 | return -EOPNOTSUPP; | 605 | return -EOPNOTSUPP; |
| 606 | 606 | ||
| 607 | /* Avoid inadvertently triggering emulation */ | 607 | /* Avoid inadvertently triggering emulation */ |
| 608 | if ((value & PR_FP_MODE_FR) && cpu_has_fpu && | 608 | if ((value & PR_FP_MODE_FR) && raw_cpu_has_fpu && |
| 609 | !(current_cpu_data.fpu_id & MIPS_FPIR_F64)) | 609 | !(raw_current_cpu_data.fpu_id & MIPS_FPIR_F64)) |
| 610 | return -EOPNOTSUPP; | 610 | return -EOPNOTSUPP; |
| 611 | if ((value & PR_FP_MODE_FRE) && cpu_has_fpu && !cpu_has_fre) | 611 | if ((value & PR_FP_MODE_FRE) && raw_cpu_has_fpu && !cpu_has_fre) |
| 612 | return -EOPNOTSUPP; | 612 | return -EOPNOTSUPP; |
| 613 | 613 | ||
| 614 | /* FR = 0 not supported in MIPS R6 */ | 614 | /* FR = 0 not supported in MIPS R6 */ |
| 615 | if (!(value & PR_FP_MODE_FR) && cpu_has_fpu && cpu_has_mips_r6) | 615 | if (!(value & PR_FP_MODE_FR) && raw_cpu_has_fpu && cpu_has_mips_r6) |
| 616 | return -EOPNOTSUPP; | 616 | return -EOPNOTSUPP; |
| 617 | 617 | ||
| 618 | /* Proceed with the mode switch */ | 618 | /* Proceed with the mode switch */ |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 36cf8d65c47d..3be0e6ba2797 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
| @@ -87,6 +87,13 @@ void __init add_memory_region(phys_addr_t start, phys_addr_t size, long type) | |||
| 87 | int x = boot_mem_map.nr_map; | 87 | int x = boot_mem_map.nr_map; |
| 88 | int i; | 88 | int i; |
| 89 | 89 | ||
| 90 | /* | ||
| 91 | * If the region reaches the top of the physical address space, adjust | ||
| 92 | * the size slightly so that (start + size) doesn't overflow | ||
| 93 | */ | ||
| 94 | if (start + size - 1 == (phys_addr_t)ULLONG_MAX) | ||
| 95 | --size; | ||
| 96 | |||
| 90 | /* Sanity check */ | 97 | /* Sanity check */ |
| 91 | if (start + size < start) { | 98 | if (start + size < start) { |
| 92 | pr_warn("Trying to add an invalid memory region, skipped\n"); | 99 | pr_warn("Trying to add an invalid memory region, skipped\n"); |
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index f95f094f36e4..b0baf48951fa 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
| @@ -322,6 +322,9 @@ asmlinkage void start_secondary(void) | |||
| 322 | cpumask_set_cpu(cpu, &cpu_coherent_mask); | 322 | cpumask_set_cpu(cpu, &cpu_coherent_mask); |
| 323 | notify_cpu_starting(cpu); | 323 | notify_cpu_starting(cpu); |
| 324 | 324 | ||
| 325 | cpumask_set_cpu(cpu, &cpu_callin_map); | ||
| 326 | synchronise_count_slave(cpu); | ||
| 327 | |||
| 325 | set_cpu_online(cpu, true); | 328 | set_cpu_online(cpu, true); |
| 326 | 329 | ||
| 327 | set_cpu_sibling_map(cpu); | 330 | set_cpu_sibling_map(cpu); |
| @@ -329,10 +332,6 @@ asmlinkage void start_secondary(void) | |||
| 329 | 332 | ||
| 330 | calculate_cpu_foreign_map(); | 333 | calculate_cpu_foreign_map(); |
| 331 | 334 | ||
| 332 | cpumask_set_cpu(cpu, &cpu_callin_map); | ||
| 333 | |||
| 334 | synchronise_count_slave(cpu); | ||
| 335 | |||
| 336 | /* | 335 | /* |
| 337 | * irq will be enabled in ->smp_finish(), enabling it too early | 336 | * irq will be enabled in ->smp_finish(), enabling it too early |
| 338 | * is dangerous. | 337 | * is dangerous. |
diff --git a/arch/mips/kernel/uprobes.c b/arch/mips/kernel/uprobes.c index 8452d933a645..1149b30c9aeb 100644 --- a/arch/mips/kernel/uprobes.c +++ b/arch/mips/kernel/uprobes.c | |||
| @@ -222,7 +222,7 @@ int arch_uprobe_exception_notify(struct notifier_block *self, | |||
| 222 | return NOTIFY_DONE; | 222 | return NOTIFY_DONE; |
| 223 | 223 | ||
| 224 | switch (val) { | 224 | switch (val) { |
| 225 | case DIE_BREAK: | 225 | case DIE_UPROBE: |
| 226 | if (uprobe_pre_sstep_notifier(regs)) | 226 | if (uprobe_pre_sstep_notifier(regs)) |
| 227 | return NOTIFY_STOP; | 227 | return NOTIFY_STOP; |
| 228 | break; | 228 | break; |
diff --git a/arch/mips/kernel/vdso.c b/arch/mips/kernel/vdso.c index 9abe447a4b48..f9dbfb14af33 100644 --- a/arch/mips/kernel/vdso.c +++ b/arch/mips/kernel/vdso.c | |||
| @@ -39,16 +39,16 @@ static struct vm_special_mapping vdso_vvar_mapping = { | |||
| 39 | static void __init init_vdso_image(struct mips_vdso_image *image) | 39 | static void __init init_vdso_image(struct mips_vdso_image *image) |
| 40 | { | 40 | { |
| 41 | unsigned long num_pages, i; | 41 | unsigned long num_pages, i; |
| 42 | unsigned long data_pfn; | ||
| 42 | 43 | ||
| 43 | BUG_ON(!PAGE_ALIGNED(image->data)); | 44 | BUG_ON(!PAGE_ALIGNED(image->data)); |
| 44 | BUG_ON(!PAGE_ALIGNED(image->size)); | 45 | BUG_ON(!PAGE_ALIGNED(image->size)); |
| 45 | 46 | ||
| 46 | num_pages = image->size / PAGE_SIZE; | 47 | num_pages = image->size / PAGE_SIZE; |
| 47 | 48 | ||
| 48 | for (i = 0; i < num_pages; i++) { | 49 | data_pfn = __phys_to_pfn(__pa_symbol(image->data)); |
| 49 | image->mapping.pages[i] = | 50 | for (i = 0; i < num_pages; i++) |
| 50 | virt_to_page(image->data + (i * PAGE_SIZE)); | 51 | image->mapping.pages[i] = pfn_to_page(data_pfn + i); |
| 51 | } | ||
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | static int __init init_vdso(void) | 54 | static int __init init_vdso(void) |
diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c index 72a4642eee2c..4a094f7acb3d 100644 --- a/arch/mips/math-emu/dsemul.c +++ b/arch/mips/math-emu/dsemul.c | |||
| @@ -298,5 +298,6 @@ bool do_dsemulret(struct pt_regs *xcp) | |||
| 298 | /* Set EPC to return to post-branch instruction */ | 298 | /* Set EPC to return to post-branch instruction */ |
| 299 | xcp->cp0_epc = current->thread.bd_emu_cont_pc; | 299 | xcp->cp0_epc = current->thread.bd_emu_cont_pc; |
| 300 | pr_debug("dsemulret to 0x%08lx\n", xcp->cp0_epc); | 300 | pr_debug("dsemulret to 0x%08lx\n", xcp->cp0_epc); |
| 301 | MIPS_FPU_EMU_INC_STATS(ds_emul); | ||
| 301 | return true; | 302 | return true; |
| 302 | } | 303 | } |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index cd72805b64a7..fa7d8d3790bf 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
| @@ -800,7 +800,7 @@ static void r4k_flush_icache_range(unsigned long start, unsigned long end) | |||
| 800 | * If address-based cache ops don't require an SMP call, then | 800 | * If address-based cache ops don't require an SMP call, then |
| 801 | * use them exclusively for small flushes. | 801 | * use them exclusively for small flushes. |
| 802 | */ | 802 | */ |
| 803 | size = start - end; | 803 | size = end - start; |
| 804 | cache_size = icache_size; | 804 | cache_size = icache_size; |
| 805 | if (!cpu_has_ic_fills_f_dc) { | 805 | if (!cpu_has_ic_fills_f_dc) { |
| 806 | size *= 2; | 806 | size *= 2; |
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index a5509e7dcad2..2c3749d98f04 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
| @@ -261,7 +261,6 @@ unsigned __weak platform_maar_init(unsigned num_pairs) | |||
| 261 | { | 261 | { |
| 262 | struct maar_config cfg[BOOT_MEM_MAP_MAX]; | 262 | struct maar_config cfg[BOOT_MEM_MAP_MAX]; |
| 263 | unsigned i, num_configured, num_cfg = 0; | 263 | unsigned i, num_configured, num_cfg = 0; |
| 264 | phys_addr_t skip; | ||
| 265 | 264 | ||
| 266 | for (i = 0; i < boot_mem_map.nr_map; i++) { | 265 | for (i = 0; i < boot_mem_map.nr_map; i++) { |
| 267 | switch (boot_mem_map.map[i].type) { | 266 | switch (boot_mem_map.map[i].type) { |
| @@ -272,14 +271,14 @@ unsigned __weak platform_maar_init(unsigned num_pairs) | |||
| 272 | continue; | 271 | continue; |
| 273 | } | 272 | } |
| 274 | 273 | ||
| 275 | skip = 0x10000 - (boot_mem_map.map[i].addr & 0xffff); | 274 | /* Round lower up */ |
| 276 | |||
| 277 | cfg[num_cfg].lower = boot_mem_map.map[i].addr; | 275 | cfg[num_cfg].lower = boot_mem_map.map[i].addr; |
| 278 | cfg[num_cfg].lower += skip; | 276 | cfg[num_cfg].lower = (cfg[num_cfg].lower + 0xffff) & ~0xffff; |
| 279 | 277 | ||
| 280 | cfg[num_cfg].upper = cfg[num_cfg].lower; | 278 | /* Round upper down */ |
| 281 | cfg[num_cfg].upper += boot_mem_map.map[i].size - 1; | 279 | cfg[num_cfg].upper = boot_mem_map.map[i].addr + |
| 282 | cfg[num_cfg].upper -= skip; | 280 | boot_mem_map.map[i].size; |
| 281 | cfg[num_cfg].upper = (cfg[num_cfg].upper & ~0xffff) - 1; | ||
| 283 | 282 | ||
| 284 | cfg[num_cfg].attrs = MIPS_MAAR_S; | 283 | cfg[num_cfg].attrs = MIPS_MAAR_S; |
| 285 | num_cfg++; | 284 | num_cfg++; |
