[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary |
Date: |
Thu, 21 May 2015 14:42:07 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
On 05/21/2015 02:32 PM, Aurelien Jarno wrote:
> 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>
> ---
> target-s390x/translate.c | 56
> +++++++++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 51 insertions(+), 5 deletions(-)
Hmm. Seems to be un/under-specified in the PoO. That said,
Reviewed-by: Richard Henderson <address@hidden>
It would be nice to know if there ought to be similar up-front access checking
for STM, to avoid errant partial stores.
r~
- [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Aurelien Jarno, 2015/05/21
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary,
Richard Henderson <=
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Aurelien Jarno, 2015/05/23
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Aurelien Jarno, 2015/05/25
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Alexander Graf, 2015/05/25
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Peter Maydell, 2015/05/26
- Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Richard Henderson, 2015/05/26
Re: [Qemu-devel] [PATCH] target-s390x: fix LOAD MULTIPLE instruction on page boundary, Alexander Graf, 2015/05/21