qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 02/16] linux-user/host/ppc64: Use r11 for signal_pending a


From: Richard Henderson
Subject: Re: [PATCH v6 02/16] linux-user/host/ppc64: Use r11 for signal_pending address
Date: Mon, 29 Nov 2021 15:30:03 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 11/29/21 12:01 PM, Peter Maydell wrote:
On Tue, 23 Nov 2021 at 17:40, Richard Henderson
<richard.henderson@linaro.org> wrote:

We don't need a register that can live across the syscall;
we only need a register that can live until the syscall.

What about the case where:
  * we execute the sc instruction (r11 trashed)
  * the syscall is one that from the host kernel point of
    view is restartable
  * the kernel arranges to restart the syscall by rewinding the
    PC to point to the start of the 'sc' instruction
  * our rewind_if_in_safe_syscall() rewinds PC further to
    point at safe_syscall_start
  * we want to use r11 again, but it was trashed in step 1
?

Put another way, this patch is effectively a revert of
commit 5d9f3ea081721, which was a fix to an observed bug.

Whoops.  I forgot about that (a mere 3 years ago).

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]