qemu/target-i386
aliguori c0a04f0e13 Fix up pxe boot (Glauber Costa)
As discussed in
http://lists.gnu.org/archive/html/qemu-devel/2008-08/msg00667.html,
current pxe boot is broken for some use cases. The problem
goes away if we reduce the number of allowed bits in the address space
to 32 (which has the side effect of reducing guest max mem size to 4Gb).

After digging for a while, it turns out that it happens because pxelinux
tries to access address 0x10009e9a6, which does not fit a 32-bit address.
A closer look, however, reveals this access is totally valid: It's just
0x9e9a6 with an add carry.

To avoid this, this patch casts the address passed to the POPL macro to
a 32-bit value. This is also done, although just theorectically, for
PUSHL too.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Reported-by: Chris Lalancette <clalance@redhat.com>
CC: Eduardo Habkost <ehabkost@redhat.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5182 c046a42c-6fe2-441c-8c8c-71466251a162
2008-09-09 14:49:02 +00:00
..
TODO SVM rework 2008-05-28 16:16:54 +00:00
cpu.h Move interrupt_request and user_mode_only to common cpu state. 2008-07-01 20:01:19 +00:00
exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
helper.c i386: Catch all non-present ptes in cpu_get_phys_page_debug (Jan Kiszka) 2008-08-18 18:00:31 +00:00
helper.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
helper_template.h transformed TN into temporaries - add local temporaries usage when needed - optimized fcmovX 2008-05-25 17:26:41 +00:00
machine.c Move interrupt_request and user_mode_only to common cpu state. 2008-07-01 20:01:19 +00:00
op_helper.c Fix up pxe boot (Glauber Costa) 2008-09-09 14:49:02 +00:00
ops_sse.h converted more helpers to TCG - fixed some SVM issues 2008-05-15 16:46:30 +00:00
ops_sse_header.h proper helper definition registering (all targets must do that) 2008-05-22 16:11:04 +00:00
svm.h reworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworked cr8 handling - added CPUState.hflags2 2008-06-04 17:02:19 +00:00
translate.c Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues. 2008-07-18 18:01:29 +00:00