Pavel Dovgalyuk writes: > MMU helper functions are called from generated code and other helper > functions. In both cases they try to get function's return address for > using it while restoring virtual CPU state. > > When MMU helper is called from some other helper function > (like helper_maskmov_xmm) through cpu_st* function, the return address > will point to that helper. That is why CPU state cannot be restored in > the case of MMU fault. > > This patch introduces several inline helpers to load return address > which points to the right place. > <snip>
OK I find it fairly hard to follow all the glue magic (not your fault ;-) we have in QEMU. However wouldn't it be simpler for the helper pre-amble code to ensure the subject pc is updated in the CPU environment? Can QEMU only rectify the processor state from a TranlationBlock tc address? -- Alex Bennée