diff options
author | Joel Stanley <joel@jms.id.au> | 2021-06-18 13:49:43 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-06-21 21:16:32 +1000 |
commit | 4a21192e2796c3338c4b0083b494a84a61311aaf (patch) | |
tree | e0db7c3fdef3ff7fc3e025f03f070bf992c3c88a /arch/powerpc/boot/microwatt.c | |
parent | c93f80849bdd9b45d834053ae1336e28f0026c84 (diff) | |
download | linux-4a21192e2796c3338c4b0083b494a84a61311aaf.tar.gz linux-4a21192e2796c3338c4b0083b494a84a61311aaf.tar.bz2 linux-4a21192e2796c3338c4b0083b494a84a61311aaf.zip |
powerpc/boot: Add a boot wrapper for Microwatt
This allows microwatt's kernel to be built with an embedded device tree.
Load to arch/powerpc/boot/dtbImage.microwatt to 0x500000:
mw_debug -b fpga stop load arch/powerpc/boot/dtbImage.microwatt 500000 start
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/YMwX19wym3kQ7guu@thinks.paulus.ozlabs.org
Diffstat (limited to 'arch/powerpc/boot/microwatt.c')
-rw-r--r-- | arch/powerpc/boot/microwatt.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/powerpc/boot/microwatt.c b/arch/powerpc/boot/microwatt.c new file mode 100644 index 000000000000..ca9d83617fc1 --- /dev/null +++ b/arch/powerpc/boot/microwatt.c @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include <stddef.h> +#include "stdio.h" +#include "types.h" +#include "io.h" +#include "ops.h" + +BSS_STACK(8192); + +void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) +{ + unsigned long heapsize = 16*1024*1024 - (unsigned long)_end; + + /* + * Disable interrupts and turn off MSR_RI, since we'll + * shortly be overwriting the interrupt vectors. + */ + __asm__ volatile("mtmsrd %0,1" : : "r" (0)); + + simple_alloc_init(_end, heapsize, 32, 64); + fdt_init(_dtb_start); + serial_console_init(); +} |