[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v1 for-2.12 2/2] s390x: load_psw() should only e
From: |
Christian Borntraeger |
Subject: |
Re: [qemu-s390x] [PATCH v1 for-2.12 2/2] s390x: load_psw() should only exchange the PSW for KVM |
Date: |
Mon, 9 Apr 2018 13:40:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 04/09/2018 01:36 PM, David Hildenbrand wrote:
> On 09.04.2018 13:35, Christian Borntraeger wrote:
>>
>>
>> On 04/09/2018 01:30 PM, David Hildenbrand wrote:
>>> Let's simplify it a bit. On some weird circumstances we would have tried
>>> to recompute watchpoints when running under KVM.
>>>
>>> Signed-off-by: David Hildenbrand <address@hidden>
>>> ---
>>> target/s390x/helper.c | 10 ++++++----
>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/target/s390x/helper.c b/target/s390x/helper.c
>>> index 615fa24ab9..e8548f340a 100644
>>> --- a/target/s390x/helper.c
>>> +++ b/target/s390x/helper.c
>>> @@ -103,16 +103,18 @@ void load_psw(CPUS390XState *env, uint64_t mask,
>>> uint64_t addr)
>>>
>>> env->psw.addr = addr;
>>> env->psw.mask = mask;
>>> - if (tcg_enabled()) {
>>> - env->cc_op = (mask >> 44) & 3;
>>> +
>>> + /* KVM will handle all WAITs and trigger a WAIT exit on disabled_wait
>>> */
>>> + if (!tcg_enabled()) {
>>> + return;
>>> }
>>> + env->cc_op = (mask >> 44) & 3;
>>
>> Do we have any call path were KVM could call load_psw?
>
> do_restart_interrupt()
>
> SIGP while the target CPU is stopped.
makes sense. Can you add that to the patch description? that makes it easier to
understand
what can really go wrong without this patch.
>
>>
>>>
>>> if ((old_mask ^ mask) & PSW_MASK_PER) {
>>> s390_cpu_recompute_watchpoints(CPU(s390_env_get_cpu(env)));
>>> }
>>>
>>> - /* KVM will handle all WAITs and trigger a WAIT exit on disabled_wait
>>> */
>>> - if (tcg_enabled() && (mask & PSW_MASK_WAIT)) {
>>> + if (mask & PSW_MASK_WAIT) {
>>> s390_handle_wait(s390_env_get_cpu(env));
>>> }
>>> }
>>>
>>
>
>
Re: [qemu-s390x] [PATCH v1 for-2.12 2/2] s390x: load_psw() should only exchange the PSW for KVM, Thomas Huth, 2018/04/09
[qemu-s390x] [PATCH v1 for-2.12 1/2] s390x/mmu: don't overwrite pending exception in mmu translate, David Hildenbrand, 2018/04/09
Re: [qemu-s390x] [PATCH v1 for-2.12 0/2] s390x/kvm: last minute fixes, Cornelia Huck, 2018/04/09