diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/microblaze/kernel/setup.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'arch/microblaze/kernel/setup.c')
-rw-r--r-- | arch/microblaze/kernel/setup.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c index f5f768842354..8e2c09b7ff26 100644 --- a/arch/microblaze/kernel/setup.c +++ b/arch/microblaze/kernel/setup.c | |||
@@ -92,16 +92,11 @@ inline unsigned get_romfs_len(unsigned *addr) | |||
92 | } | 92 | } |
93 | #endif /* CONFIG_MTD_UCLINUX_EBSS */ | 93 | #endif /* CONFIG_MTD_UCLINUX_EBSS */ |
94 | 94 | ||
95 | #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_SERIAL_UARTLITE_CONSOLE) | ||
96 | #define eprintk early_printk | ||
97 | #else | ||
98 | #define eprintk printk | ||
99 | #endif | ||
100 | |||
101 | void __init machine_early_init(const char *cmdline, unsigned int ram, | 95 | void __init machine_early_init(const char *cmdline, unsigned int ram, |
102 | unsigned int fdt, unsigned int msr) | 96 | unsigned int fdt, unsigned int msr) |
103 | { | 97 | { |
104 | unsigned long *src, *dst = (unsigned long *)0x0; | 98 | unsigned long *src, *dst; |
99 | unsigned int offset = 0; | ||
105 | 100 | ||
106 | /* If CONFIG_MTD_UCLINUX is defined, assume ROMFS is at the | 101 | /* If CONFIG_MTD_UCLINUX is defined, assume ROMFS is at the |
107 | * end of kernel. There are two position which we want to check. | 102 | * end of kernel. There are two position which we want to check. |
@@ -167,14 +162,21 @@ void __init machine_early_init(const char *cmdline, unsigned int ram, | |||
167 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR | 162 | #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR |
168 | if (msr) | 163 | if (msr) |
169 | eprintk("!!!Your kernel has setup MSR instruction but " | 164 | eprintk("!!!Your kernel has setup MSR instruction but " |
170 | "CPU don't have it %d\n", msr); | 165 | "CPU don't have it %x\n", msr); |
171 | #else | 166 | #else |
172 | if (!msr) | 167 | if (!msr) |
173 | eprintk("!!!Your kernel not setup MSR instruction but " | 168 | eprintk("!!!Your kernel not setup MSR instruction but " |
174 | "CPU have it %d\n", msr); | 169 | "CPU have it %x\n", msr); |
175 | #endif | 170 | #endif |
176 | 171 | ||
177 | for (src = __ivt_start; src < __ivt_end; src++, dst++) | 172 | /* Do not copy reset vectors. offset = 0x2 means skip the first |
173 | * two instructions. dst is pointer to MB vectors which are placed | ||
174 | * in block ram. If you want to copy reset vector setup offset to 0x0 */ | ||
175 | #if !CONFIG_MANUAL_RESET_VECTOR | ||
176 | offset = 0x2; | ||
177 | #endif | ||
178 | dst = (unsigned long *) (offset * sizeof(u32)); | ||
179 | for (src = __ivt_start + offset; src < __ivt_end; src++, dst++) | ||
178 | *dst = *src; | 180 | *dst = *src; |
179 | 181 | ||
180 | /* Initialize global data */ | 182 | /* Initialize global data */ |