|
From: | Alexander Graf |
Subject: | Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary |
Date: | Fri, 22 May 2015 00:00:45 +0200 |
> Am 21.05.2015 um 23:32 schrieb Aurelien Jarno <address@hidden>: > > When consecutive memory locations are on page boundary a page fault > might occur when using the LOAD MULTIPLE instruction. In that case real > hardware doesn't load any register. > > This is an important detail in case the base register is in the list > of registers to be loaded. If a page fault occurs this register might be > overwritten and when the instruction is later restarted the wrong > base register value is useD. > > Fix this by first loading all values from memory and then writing them > back to the registers. > > This fixes random segmentation faults seen in the guest. > > Cc: Alexander Graf <address@hidden> > Cc: Richard Henderson <address@hidden> > Signed-off-by: Aurelien Jarno <address@hidden> Looks like you're finding lots of fun corner case bugs in the emulation. Have you or Richard considered to implement s390x support in Risu yet? Aarch64 emulation accuracy is remarkable since its introduction. Alex
[Prev in Thread] | Current Thread | [Next in Thread] |