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
This commit is contained in:
@@ -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;
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user