Skip to content

Commit

Permalink
[prefix] Reasonable value for lkrn initrd_addr_max
Browse files Browse the repository at this point in the history
H. Peter Anvin <hpa@zytor.com> sent word that Sergey Vlasov
<vsu@altlinux.ru> discovered gPXE lkrn images fail to load in SYSLINUX
3.70 because we have initrd_addr_max zeroed.  This patch sets the same
value as the Linux kernel.

Also change the header jmp instruction to use a hardcoded opcode value
like Linux does.  Just in case the assembler decides to use a three-byte
instruction instead of the desired two-byte jmp.
  • Loading branch information
stefanha committed Jul 30, 2008
1 parent 594c672 commit 4cc786d
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/arch/i386/prefix/lkrnprefix.S
Expand Up @@ -110,7 +110,10 @@ root_dev:
boot_flag:
.word 0xAA55
jump:
jmp setup_code
/* Manually specify a two-byte jmp instruction here rather
* than leaving it up to the assembler. */
.byte 0xeb
.byte setup_code - header
header:
.byte 'H', 'd', 'r', 'S'
version:
Expand Down Expand Up @@ -142,7 +145,10 @@ pad1:
cmd_line_ptr:
.long 0
initrd_addr_max:
.long 0
/* We don't use an initrd but some bootloaders (e.g. SYSLINUX) have
* been known to require this field. Set the value to 2 GB. This
* value is also used by the Linux kernel. */
.long 0x7fffffff
kernel_alignment:
.long 0
relocatable_kernel:
Expand Down

0 comments on commit 4cc786d

Please sign in to comment.