summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-12-07 11:13:04 +0200
committerAvi Kivity <avi@redhat.com>2009-12-07 11:13:04 +0200
commit25ae2ddd778002a6ea3633beca2ac6f6635af6a3 (patch)
tree96ba2d4b50812ffb507a10c0319817594dadc61e /pc-bios
parentMerge commit 'a0fb002c6462d21ceb9eac8c5772e469ec189374' into upstream-merge (diff)
parentmonitor: use qemu_gettimeofday(), not gettimeofday() (diff)
downloadqemu-kvm-25ae2ddd778002a6ea3633beca2ac6f6635af6a3.tar.gz
qemu-kvm-25ae2ddd778002a6ea3633beca2ac6f6635af6a3.tar.bz2
qemu-kvm-25ae2ddd778002a6ea3633beca2ac6f6635af6a3.zip
Merge commit 'd08d6f04d6eeedce5090ff66d0676162d7d8d788' into upstream-merge
* commit 'd08d6f04d6eeedce5090ff66d0676162d7d8d788': (23 commits) monitor: use qemu_gettimeofday(), not gettimeofday() win32: fix variable use before initialization monitor: rename EVENT_* to QEVENT_* to avoid conflict on mingw32 Sparc64: fix compilation with DEBUG_MMU ide: implement stub for audio control/volume read ide: Use some already defined page macros instead of constants eepro100: Improve debug messages Remove rule for config-devices.h eepro100: Allocate a larger buffer for regname() multiboot: Use signed type for negative error numbers posix-aio-compat: Fix error check qemu-img: Fix memory leak Fix compile error when LSI_DEBUG is defined Fix build for mingw32 on windows ($$ expansion) Fix build for mingw32 on windows ($@ in macro) e1000: Fix warning from code review multiboot: Fix module loading and setting of mmap. Make -kernel for linux work with bochsbios Fix recently introduced bugs in -usbdevice host Fix description of size parameter in qemu-img's help text ... Conflicts: monitor.c Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'pc-bios')
-rw-r--r--pc-bios/multiboot.binbin512 -> 1024 bytes
-rw-r--r--pc-bios/optionrom/linuxboot.S10
-rw-r--r--pc-bios/optionrom/multiboot.S5
3 files changed, 9 insertions, 6 deletions
diff --git a/pc-bios/multiboot.bin b/pc-bios/multiboot.bin
index 59737c3c6..d7da6e04a 100644
--- a/pc-bios/multiboot.bin
+++ b/pc-bios/multiboot.bin
Binary files differ
diff --git a/pc-bios/optionrom/linuxboot.S b/pc-bios/optionrom/linuxboot.S
index b3c90e33c..7f3b1b269 100644
--- a/pc-bios/optionrom/linuxboot.S
+++ b/pc-bios/optionrom/linuxboot.S
@@ -102,11 +102,11 @@ copy_kernel:
mov $1, %eax
mov %eax, %cr0
- /* So we can set DS to a 32-bit segment */
+ /* So we can set ES to a 32-bit segment */
mov $0x10, %eax
- mov %eax, %ds
+ mov %eax, %es
- /* We're now running in 16-bit CS, but 32-bit DS! */
+ /* We're now running in 16-bit CS, but 32-bit ES! */
/* Load kernel and initrd */
read_fw_blob(FW_CFG_KERNEL)
@@ -118,9 +118,9 @@ copy_kernel:
mov $0, %eax
mov %eax, %cr0
- /* DS = CS */
+ /* ES = CS */
mov %cs, %ax
- mov %ax, %ds
+ mov %ax, %es
jmp boot_kernel
diff --git a/pc-bios/optionrom/multiboot.S b/pc-bios/optionrom/multiboot.S
index be5c9fcf3..913183739 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