qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]