summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-05-13 16:27:25 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-05-13 16:27:25 +0000
commit5eceb32a79d4298a9f57bbe9fd5e06a83db0ce95 (patch)
treec57f79ae6290ab6744927ac98f13bccf65924d45 /src/arch
parent8f047de352d26c353c1c6bc9649a4616fa66bbd6 (diff)
downloadcoreboot-staging-5eceb32a79d4298a9f57bbe9fd5e06a83db0ce95.zip
coreboot-staging-5eceb32a79d4298a9f57bbe9fd5e06a83db0ce95.tar.gz
Allow dynamic size for the {s,}elfboot bounce buffer.
Use that to fix selfboot with compressed payloads. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4281 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/boot/boot.c4
-rw-r--r--src/arch/ppc/boot/boot.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/i386/boot/boot.c b/src/arch/i386/boot/boot.c
index 483a3a2..2ac73a6 100644
--- a/src/arch/i386/boot/boot.c
+++ b/src/arch/i386/boot/boot.c
@@ -68,7 +68,7 @@ int elf_check_arch(Elf_ehdr *ehdr)
}
-void jmp_to_elf_entry(void *entry, unsigned long buffer)
+void jmp_to_elf_entry(void *entry, unsigned long buffer, unsigned long bounce_size)
{
extern unsigned char _ram_seg, _eram_seg;
unsigned long lb_start, lb_size;
@@ -79,7 +79,7 @@ void jmp_to_elf_entry(void *entry, unsigned long buffer)
lb_start = (unsigned long)&_ram_seg;
lb_size = (unsigned long)(&_eram_seg - &_ram_seg);
- adjust = buffer + lb_size - lb_start;
+ adjust = buffer + bounce_size - lb_start;
adjusted_boot_notes = (unsigned long)&elf_boot_notes;
adjusted_boot_notes += adjust;
diff --git a/src/arch/ppc/boot/boot.c b/src/arch/ppc/boot/boot.c
index b123b3e..e62c4eb 100644
--- a/src/arch/ppc/boot/boot.c
+++ b/src/arch/ppc/boot/boot.c
@@ -16,7 +16,7 @@ int elf_check_arch(Elf_ehdr *ehdr)
}
-void jmp_to_elf_entry(void *entry, unsigned long buffer)
+void jmp_to_elf_entry(void *entry, unsigned long buffer, unsigned long bounce_size)
{
void (*kernel_entry)(void);
OpenPOWER on IntegriCloud