On Thu, Jun 21, 2007 at 12:10:38AM -0700, Shane Hummer-Smith wrote: > Hello, > > I am trying to experiment with the memory management unit in QEMU, but I > don't seem to be able to wrap my head around the source code. Can somebody > help me figure out how the physical to virtual address translation and > vice-versa is implemented in QEMU? Any pointer would be appreciated. Thanks > much! ------------------------- The address translation things in full system mode is handled by the so called SoftMMU, which translate gVA->hEA. gEA->gVA is known as address calculation and handled in insn translation. gVA->gPA is handled by SoftMMU using Guest Page Table, gPA->hEA is handled by SoftMMU using two-level-table of PhyPageDesc structures. There is again TLB which translate gVA->hEA directly.
SoftMMU code is mainly in softmmu_header.h, softmmu_template.h, things related to PhyPageDesc... -- [32m《东郊》[m [33m作者:韦应物[m 吏舍局终年,出郊旷清曙。 杨柳散和风,青山澹吾虑。 依丛适自憩,缘涧还复去。 微雨霭芳原,春鸠鸣何处。 乐幽心屡止,遵事迹犹遽。 终罢斯结庐,慕陶真可庶。