Le 15/03/2022 à 19:31, Richard Henderson a écrit :
On 3/15/22 11:18, Peter Maydell wrote:
-segv:
- end_exclusive();
- /* We get the PC of the entry address - which is as good as anything,
- on a real kernel what you get depends on which mode it uses. */
This comment about the PC the guest signal handler is going
to see when we take the SEGV is still valid, I think ?
Yes. I guess I could move it to the block comment in front of atomic_mmu_lookup, because it would
apply to both the SEGV and the BUS raised there.
Applied to my linux-user-for-7.0 branch with the following change:
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index d9651f199f97..0172a7aae7e8 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -78,6 +78,8 @@
/*
* Similar to code in accel/tcg/user-exec.c, but outside the execution loop.
* Must be called with mmap_lock.
+ * We get the PC of the entry address - which is as good as anything,
+ * on a real kernel what you get depends on which mode it uses.
*/
static void *atomic_mmu_lookup(CPUArchState *env, uint32_t addr, int size)
{
Let me know if you prefer something else.
Thanks,
Laurent