summaryrefslogtreecommitdiffstats
path: root/pc-bios/optionrom
diff options
context:
space:
mode:
authorAdam Lackorzynski2009-11-30 23:25:44 +0100
committerAnthony Liguori2009-12-03 22:25:58 +0100
commit53ea95de527f146d902aaf442625e0fe6dd25524 (patch)
tree72bf9cc03515ad237023f8e0be3dec4b421d0386 /pc-bios/optionrom
parentMake -kernel for linux work with bochsbios (diff)
downloadqemu-53ea95de527f146d902aaf442625e0fe6dd25524.tar.gz
qemu-53ea95de527f146d902aaf442625e0fe6dd25524.tar.xz
qemu-53ea95de527f146d902aaf442625e0fe6dd25524.zip
multiboot: Fix module loading and setting of mmap.
Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'pc-bios/optionrom')
-rw-r--r--pc-bios/optionrom/multiboot.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/pc-bios/optionrom/multiboot.S b/pc-bios/optionrom/multiboot.S
index be5c9fcf36..913183739c 100644
--- a/pc-bios/optionrom/multiboot.S
+++ b/pc-bios/optionrom/multiboot.S
@@ -62,6 +62,9 @@ run_multiboot:
add %eax, %ebx
movl %ebx, %gs:GS_GDT_DESC + 2
+ xor %eax, %eax
+ mov %eax, %es
+
/* Read the bootinfo struct into RAM */
read_fw_blob(FW_CFG_INITRD)
@@ -71,7 +74,7 @@ run_multiboot:
mov %ax, %fs
/* ES = mmap_addr */
- mov %eax, %fs:0x48
+ mov %fs:48, %eax
shr $4, %eax
mov %ax, %es