[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : Another related question Re: [Qemu-devel] Question about softmmu

From: Olivier Cozette
Subject: RE : Another related question Re: [Qemu-devel] Question about softmmu
Date: Fri, 12 Nov 2004 18:30:52 +0100

        I Ye,

I understand your problem, but in this case, you must change the mapping and
so you must send this change to the processor (access special memory,
explicitly invalidate one page), so the page is flushed
(tlb_flush_page/exec.c) and all tb in this page are invalidate
(tb_invalidate/exec.c). So tb_invalidate delete all tb that call this tb.
This function deletes all jmp to this tb. 

So, in my opinion, you problem won't occur.


>Actually I'm thinking of a special case:
>1. A basic block is translated and the PC value patched in is
>   the virtual address when it is translated. At this time,
>   the address mapping is virtual page 0 -> physical page 0
>2. Now the mapping changes. virtual page 1 -> physical page 0,
>   which means the physical location of the block doesn't change
>   but its virtual address changes.
>3. Since page table changes, the virtual pc hash flushed. But we
>   still can find the block using physical hash.
>4. Now the block is executed again. But since the embedded pc value
>   is still the old value, will this cause problem?

reply via email to

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