2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
Define the behavior of the boot loader when the load end address and the bss end address are zero in the Multiboot Specification, and add the support into GRUB. I've modified a patch from Yuri Zaporogets <yuriz@ukr.net>. * stage2/boot.c (load_image): In the case of Multiboot a.out kludge, set the load end address to the load address plus the size of the OS image file, if it is zero. Similarly, set the bss end address to the load end address, if it is zero. * util/mbchk.c (check_multiboot): Don't check if the load address is greater than or equal to the load end address, if the load end address is zero. Don't check if the load end address is greater than the bss end address, if the bss end address is zero. And, don't check if the load end address is less than or equal to the entry address, if the load end address is zero. * docs/multiboot.texi (The address fields of Multiboot header): Added descriptions about the behavior of the boot loader when LOAD_END_ADDR is zero and BSS_END_ADDR is zero.
This commit is contained in:
parent
f90c3eaf90
commit
b225b42f05
5 changed files with 48 additions and 5 deletions
|
@ -467,12 +467,15 @@ Contains the physical address of the end of the data
|
|||
segment. (load_end_addr - load_addr) specifies how much data to load.
|
||||
This implies that the text and data segments must be consecutive in the
|
||||
OS image; this is true for existing a.out executable formats.
|
||||
If this field is zero, the boot loader assumes that the text and data
|
||||
segments occupy the whole OS image file.
|
||||
|
||||
@item bss_end_addr
|
||||
Contains the physical address of the end of the bss segment. The boot
|
||||
loader initializes this area to zero, and reserves the memory it
|
||||
occupies to avoid placing boot modules and other data relevant to the
|
||||
operating system in that area.
|
||||
operating system in that area. If this field is zero, the boot loader
|
||||
assumes that no bss segment is present.
|
||||
|
||||
@item entry_addr
|
||||
The physical address to which the boot loader should jump in order to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue