[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Problem with cpu_single_env
From: |
Johannes Schindelin |
Subject: |
[Qemu-devel] Problem with cpu_single_env |
Date: |
Thu, 24 Nov 2005 23:56:24 +0100 (CET) |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] Problem with cpu_single_env,
Johannes Schindelin <=