I saw the following patch in the Qemu source:
Index: rombios.c
===================================================================
RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
retrieving revision 1.174
diff -u -w -r1.174 rombios.c
--- rombios.c 17 Oct 2006 16:48:05 -0000 1.174
+++ rombios.c 8 Feb 2007 21:57:48 -0000
@@ -9472,6 +9472,14 @@
mov eax, #0x00040000
call eax
+ ;; reset the memory (some boot loaders such as syslinux suppose
+ ;; that the memory is set to zero)
+ mov edi, #0x00040000
+ mov ecx, #0x40000 / 4
+ xor eax, eax
+ rep
+ stosd
+
;; return to 16 bit protected mode first
db 0xea
dd rombios32_10
Being the SYSLINUX author I'm more than a little surprised about this;
this is probably indicative of a serious bug (possibly now fixed).
Anyone who has any information about this?
-hpa