On 5/29/07, Ben Taylor <[EMAIL PROTECTED]> wrote:
Looks like the patch from 
http://cvs.savannah.gnu.org/viewcvs/qemu/exec.c?cvsroot=qemu&r1=1.96&r2=1.97
needs to be reverted and reworked before being recommitted.

Thank you for the reports. I still can't reproduce the bug, but it
seems that on PC, the area between 0xa0000 and 0x100000 is registered
multiple times and this could confuse the subpage code.

Adding printf to cpu_register_physical memory reveals:
cpu_register_physical_memory: start_addr 00000000000a0000 size 1000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 1000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 1000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 1000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 1000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 20000 phys_offset
70
cpu_register_physical_memory: start_addr 00000000000a0000 size 20000 phys_offset
a0000

The subpage part in cpu_register_physical_memory could be disabled
just for i386. A better fix would be to fix the PC/VGA/PIIX memory
registrations and also make the subpage code handle this case.


Reply via email to