Hi, I was experiencing random segmentation faults of userland applications in a guest e500 powerpc Linux. After investigating, I found that this bug appeared with commit 9fb044911444fdd09f5f072ad0ca269d7f8b841d. This commit introduces more MMU indices to avoid unnecessary TLB flushes when the CPU changes mode.
It triggers a new bug however, that I finally traced down into the tlbwe instructions simulation. When replacing a valid TLB entry with a new one, the previous page was not flushed from QEMU TLB. This fixes my random crashes in guest Linux. Note that I think there is a similar issue in booke206_invalidate_ea_tlb but in my case, Linux never triggers this code so I was not able to test. Luc MICHEL (1): target-ppc: Fix booke206 tlbwe TLB instruction target/ppc/mmu_helper.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) -- 2.14.3