.. | .. |
---|
11 | 11 | * Copyright (C) 2000, 2001, 2002, 2007 Maciej W. Rozycki |
---|
12 | 12 | */ |
---|
13 | 13 | #include <linux/init.h> |
---|
| 14 | +#include <linux/cpu.h> |
---|
| 15 | +#include <linux/delay.h> |
---|
14 | 16 | #include <linux/ioport.h> |
---|
15 | 17 | #include <linux/export.h> |
---|
16 | 18 | #include <linux/screen_info.h> |
---|
.. | .. |
---|
154 | 156 | pr_err("initrd start must be page aligned\n"); |
---|
155 | 157 | goto disable; |
---|
156 | 158 | } |
---|
157 | | - if (initrd_start < PAGE_OFFSET) { |
---|
158 | | - pr_err("initrd start < PAGE_OFFSET\n"); |
---|
159 | | - goto disable; |
---|
160 | | - } |
---|
161 | 159 | |
---|
162 | 160 | /* |
---|
163 | 161 | * Sanitize initrd addresses. For example firmware |
---|
.. | .. |
---|
169 | 167 | end = __pa(initrd_end); |
---|
170 | 168 | initrd_end = (unsigned long)__va(end); |
---|
171 | 169 | initrd_start = (unsigned long)__va(__pa(initrd_start)); |
---|
| 170 | + |
---|
| 171 | + if (initrd_start < PAGE_OFFSET) { |
---|
| 172 | + pr_err("initrd start < PAGE_OFFSET\n"); |
---|
| 173 | + goto disable; |
---|
| 174 | + } |
---|
172 | 175 | |
---|
173 | 176 | ROOT_DEV = Root_RAM0; |
---|
174 | 177 | return PFN_UP(end); |
---|
.. | .. |
---|
828 | 831 | } |
---|
829 | 832 | early_param("nocoherentio", setnocoherentio); |
---|
830 | 833 | #endif |
---|
| 834 | + |
---|
| 835 | +void __init arch_cpu_finalize_init(void) |
---|
| 836 | +{ |
---|
| 837 | + unsigned int cpu = smp_processor_id(); |
---|
| 838 | + |
---|
| 839 | + cpu_data[cpu].udelay_val = loops_per_jiffy; |
---|
| 840 | + check_bugs32(); |
---|
| 841 | + |
---|
| 842 | + if (IS_ENABLED(CONFIG_CPU_R4X00_BUGS64)) |
---|
| 843 | + check_bugs64(); |
---|
| 844 | +} |
---|