* [Qemu-devel] Question about softmmu
@ 2004-11-06 5:22 Ye Wen
0 siblings, 0 replies; 3+ messages in thread
From: Ye Wen @ 2004-11-06 5:22 UTC (permalink / raw)
To: qemu-devel
Hi, Guys:
I'm reading the QEMU code. I have a question haunting my mind for some time
about tb flushing due to MMU change. Generally, whenever the page table has
any change, we should flush the tb hash table. But I only see in the code that
when CR3 is changed, the tb_flush is called. What if the CR3 does not change,
but some level 2 page table in the memory change, should the tb also be flushed?
Thanks,
--
Ye Wen
wen@umail.ucsb.edu
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] Question about softmmu
@ 2004-11-07 0:51 olivier cozette
0 siblings, 0 replies; 3+ messages in thread
From: olivier cozette @ 2004-11-07 0:51 UTC (permalink / raw)
To: qemu-devel
Hello,
>I'm reading the QEMU code. I have a question haunting my mind for some time
>about tb flushing due to MMU change. Generally, whenever the page table has
>any change, we should flush the tb hash table. But I only see in the code that
>when CR3 is changed, the tb_flush is called. What if the CR3 does not change,
>but some level 2 page table in the memory change, should the tb also be
>flushed?
In this case, in the real processor (see Intel Manual), the processor TLBs (it's
like the Qemu tb) are not flushed, so Qemu act as a real processor.
Olivier
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] Question about softmmu
@ 2004-11-07 7:15 Blue Swirl
0 siblings, 0 replies; 3+ messages in thread
From: Blue Swirl @ 2004-11-07 7:15 UTC (permalink / raw)
To: wen, qemu-devel
Hi,
I'm also suspecting the flushes cause problems in the Sparc system emulator.
I don't fully understand the difference between various flushes available
and what is being issued. For example:
1. CPU issues flush instructions to synch I/D caches: NOP?
2. MMU table changes: flush what, TLBs?
3. MMU translation cache flushes: NOP?
4. HW-issued memory access changes memory contents including code, flush
TBs?
There is also a problem with GDB breakpoints, the debug instructions added
for the breakpoint aren't removed when deleting the breakpoint. TB
invalidate is called, but that doesn't work?
About your question, perhaps Qemu should track MMU tables like it does for
self-modifying code.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.com/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-11-07 7:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-06 5:22 [Qemu-devel] Question about softmmu Ye Wen
-- strict thread matches above, loose matches on Subject: below --
2004-11-07 0:51 olivier cozette
2004-11-07 7:15 Blue Swirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).