diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-05-07 17:32:10 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-07 21:54:21 -0400 |
commit | 7487a2245b8841c77ba9db406cf99a483b9334e9 (patch) | |
tree | e2c84be8c77e041f336b195907f584f580c7056f /arch | |
parent | d4d19ec4931feb53f68fcc156563a21e34d50cb8 (diff) |
[POWERPC] Holly bootwrapper
Add Holly/Hickory bootwrapper
Signed-off-by: Stephen Winiecki <stevewin@us.ibm.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/boot/Makefile | 9 | ||||
-rw-r--r-- | arch/powerpc/boot/holly.c | 38 |
2 files changed, 46 insertions, 1 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index d56e24b85472..ccd757c193e7 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -43,7 +43,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \ | |||
43 | src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \ | 43 | src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \ |
44 | ns16550.c serial.c simple_alloc.c div64.S util.S \ | 44 | ns16550.c serial.c simple_alloc.c div64.S util.S \ |
45 | gunzip_util.c elf_util.c $(zlib) devtree.c | 45 | gunzip_util.c elf_util.c $(zlib) devtree.c |
46 | src-plat := of.c cuboot-83xx.c cuboot-85xx.c | 46 | src-plat := of.c cuboot-83xx.c cuboot-85xx.c holly.c |
47 | src-boot := $(src-wlib) $(src-plat) empty.c | 47 | src-boot := $(src-wlib) $(src-plat) empty.c |
48 | 48 | ||
49 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 49 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -129,6 +129,7 @@ image-$(CONFIG_PPC_CELLEB) += zImage.pseries | |||
129 | image-$(CONFIG_PPC_CHRP) += zImage.chrp | 129 | image-$(CONFIG_PPC_CHRP) += zImage.chrp |
130 | image-$(CONFIG_PPC_EFIKA) += zImage.chrp | 130 | image-$(CONFIG_PPC_EFIKA) += zImage.chrp |
131 | image-$(CONFIG_PPC_PMAC) += zImage.pmac | 131 | image-$(CONFIG_PPC_PMAC) += zImage.pmac |
132 | image-$(CONFIG_PPC_HOLLY) += zImage.holly-elf | ||
132 | image-$(CONFIG_DEFAULT_UIMAGE) += uImage | 133 | image-$(CONFIG_DEFAULT_UIMAGE) += uImage |
133 | 134 | ||
134 | ifneq ($(CONFIG_DEVICE_TREE),"") | 135 | ifneq ($(CONFIG_DEVICE_TREE),"") |
@@ -164,6 +165,12 @@ $(obj)/zImage.ps3: vmlinux | |||
164 | $(obj)/zImage.initrd.ps3: vmlinux | 165 | $(obj)/zImage.initrd.ps3: vmlinux |
165 | @echo " WARNING zImage.initrd.ps3 not supported (yet)" | 166 | @echo " WARNING zImage.initrd.ps3 not supported (yet)" |
166 | 167 | ||
168 | $(obj)/zImage.holly-elf: vmlinux $(wrapperbits) | ||
169 | $(call if_changed,wrap,holly,$(obj)/dts/holly.dts,,) | ||
170 | |||
171 | $(obj)/zImage.initrd.holly-elf: vmlinux $(wrapperbits) $(obj)/ramdisk.image.gz | ||
172 | $(call if_changed,wrap,holly,$(obj)/dts/holly.dts,,$(obj)/ramdisk.image.gz) | ||
173 | |||
167 | $(obj)/uImage: vmlinux $(wrapperbits) | 174 | $(obj)/uImage: vmlinux $(wrapperbits) |
168 | $(call if_changed,wrap,uboot) | 175 | $(call if_changed,wrap,uboot) |
169 | 176 | ||
diff --git a/arch/powerpc/boot/holly.c b/arch/powerpc/boot/holly.c new file mode 100644 index 000000000000..7d6539f5e22c --- /dev/null +++ b/arch/powerpc/boot/holly.c | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | * Copyright 2007 IBM Corporation | ||
3 | * | ||
4 | * Stephen Winiecki <stevewin@us.ibm.com> | ||
5 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
6 | * | ||
7 | * Based on earlier code: | ||
8 | * Copyright (C) Paul Mackerras 1997. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License | ||
12 | * version 2 as published by the Free Software Foundation. | ||
13 | */ | ||
14 | #include <stdarg.h> | ||
15 | #include <stddef.h> | ||
16 | #include "types.h" | ||
17 | #include "elf.h" | ||
18 | #include "string.h" | ||
19 | #include "stdio.h" | ||
20 | #include "page.h" | ||
21 | #include "ops.h" | ||
22 | #include "io.h" | ||
23 | |||
24 | extern char _start[]; | ||
25 | extern char _end[]; | ||
26 | extern char _dtb_start[]; | ||
27 | extern char _dtb_end[]; | ||
28 | |||
29 | BSS_STACK(4096); | ||
30 | |||
31 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) | ||
32 | { | ||
33 | u32 heapsize = 0x8000000 - (u32)_end; /* 128M */ | ||
34 | |||
35 | simple_alloc_init(_end, heapsize, 32, 64); | ||
36 | ft_init(_dtb_start, 0, 4); | ||
37 | serial_console_init(); | ||
38 | } | ||