fix multiboot loading if load_end_addr == 0
commit9c3a596a03cc10c2d9097f057b9ccb9d557a4d5f
authorScott Moser <smoser@ubuntu.com>
Mon, 26 Mar 2012 19:27:00 +0000 (26 15:27 -0400)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 30 May 2012 01:19:24 +0000 (29 20:19 -0500)
tree32dd3d1afcf98f9bd08a901a2aff073dbe5678e8
parent8294a64d7f9ecc428cd58ba36ad0b913084a8824
fix multiboot loading if load_end_addr == 0

The previous multiboot load code did not treat the case where
load_end_addr was 0 specially.  The multiboot specification says the
following:
 * load_end_addr
   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.

Signed-off-by: Scott Moser <smoser@ubuntu.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/multiboot.c