Hi, in the patch "SMP support" of Mon Nov 21 23:25:50 2005, the file cpu-exec.c was changed such that cpu_single_env is only set during cpu_exec() plus functions called from within. The comment says:
/* fail safe : never use cpu_single_env outside cpu_exec() */ Unfortunately, tb_invalidate_phys_page_range() depends on cpu_single_env, in fact, the local variable "env" is set to hold it. This function is called from at least one other code path, too, so QEmu breaks for me: #0 0x9001b40c in kill () #1 0x9005ce0c in abort () #2 0x000a6d1c in __eprintf () #3 0x0005d8c8 in tb_invalidate_phys_page_range (start=1882, end=2394, is_cpu_write_access=0) at qemu/exec.c:682 #4 0x0005ef10 in cpu_physical_memory_rw (addr=1882, buf=0xaa4165c "", len=512, is_write=9994) at qemu/exec.c:1991 #5 0x0002b994 in DMA_write_memory (nchan=0, buf=0xaa4165c, pos=0, len=512) at qemu/cpu-all.h:827 #6 0x0003234c in fdctrl_transfer_handler (opaque=0xaa41640, nchan=2, dma_pos=0, dma_len=512) at qemu/hw/fdc.c:1001 #7 0x0002b6e4 in channel_run (ncont=-1610594860, ichan=-1073762791) at qemu/hw/dma.c:343 #8 0x0002b754 in DMA_run () at qemu/hw/dma.c:363 #9 0x00007d7c in main_loop_wait (timeout=0) at qemu/vl.c:3678 #10 0x00007ee8 in main_loop () at qemu/vl.c:3740 Note: I inserted an assert(env) in the function, this is what you see in the first three lines. For the record: this is a DOS client running on a macosx host. How to go from here? Ciao, Dscho _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel