qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Janosch Frank <frankja@linux.ibm.com>, qemu-devel@nongnu.org
Cc: thuth@redhat.com, pmorel@linux.ibm.com, cohuck@redhat.com,
	borntraeger@de.ibm.com, qemu-s390x@nongnu.org,
	mihajlov@linux.ibm.com
Subject: Re: [PATCH v2 05/13] s390x: protvirt: Add pv state to cpu env
Date: Fri, 6 Dec 2019 10:56:31 +0100	[thread overview]
Message-ID: <63208914-4c96-8836-17ce-f154693fc5f3@redhat.com> (raw)
In-Reply-To: <8ae9e25d-d9f8-5b19-1919-853a83bed0e8@linux.ibm.com>

On 06.12.19 10:50, Janosch Frank wrote:
> On 11/29/19 11:30 AM, David Hildenbrand wrote:
>> On 29.11.19 10:48, Janosch Frank wrote:
>>> We need to know if we run in pv state or not when emulating
>>> instructions.
>>>
>>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>>> ---
>>>  hw/s390x/s390-virtio-ccw.c | 2 ++
>>>  target/s390x/cpu.h         | 1 +
>>>  2 files changed, 3 insertions(+)
>>>
>>> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
>>> index e2a302398d..6fcd695b81 100644
>>> --- a/hw/s390x/s390-virtio-ccw.c
>>> +++ b/hw/s390x/s390-virtio-ccw.c
>>> @@ -357,6 +357,7 @@ static void s390_machine_reset(MachineState *machine)
>>>                  s390_pv_vcpu_destroy(t);
>>>              }
>>>              s390_pv_vm_destroy();
>>> +            env->pv = false;
>>>          }
>>>  
>>>          qemu_devices_reset();
>>> @@ -406,6 +407,7 @@ static void s390_machine_reset(MachineState *machine)
>>>          s390_ipl_pv_unpack();
>>>          /* Verify integrity */
>>>          s390_pv_verify();
>>> +        env->pv = true;
>>>          s390_cpu_set_state(S390_CPU_STATE_OPERATING, cpu);
>>>          break;
>>>      default:
>>> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
>>> index d2af13b345..43e6c286d2 100644
>>> --- a/target/s390x/cpu.h
>>> +++ b/target/s390x/cpu.h
>>> @@ -116,6 +116,7 @@ struct CPUS390XState {
>>>  
>>>      /* Fields up to this point are cleared by a CPU reset */
>>>      struct {} end_reset_fields;
>>> +    bool pv; /* protected virtualization */
>>
>> so ... the preceding patches fail to compile?
>>
>> Please properly squash that ...
>>
> 
> As it turns out, this patch doesn't really support multiple cpus, since
> we only mark the ipl cpu as protected. We also need to mark all others
> (we can do that in the create cpu call) and have a machine flag, so we
> also mark hotplug cpus.

Setting a machine state flag when enabling/disabling prot feels right.
But not sure about the performance implications when always having to
look up the machine state ... maybe you have to cache it in all CPUs, or
somewhere else ("global variable").

> 
> I need to think about that a bit more.
> 


-- 
Thanks,

David / dhildenb



  reply	other threads:[~2019-12-06 16:30 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-29  9:47 [PATCH v2 00/13] s390x: Protected Virtualization support Janosch Frank
2019-11-29  9:47 ` [PATCH v2 01/13] s390x: protvirt: Add diag308 subcodes 8 - 10 Janosch Frank
2019-11-29 10:09   ` David Hildenbrand
2019-11-29 11:18     ` Janosch Frank
2019-11-29 11:41       ` Cornelia Huck
2019-11-29 12:40   ` Thomas Huth
2019-11-29 14:08     ` Janosch Frank
2019-12-02  9:20       ` Cornelia Huck
2019-11-29  9:47 ` [PATCH v2 02/13] Header sync protvirt Janosch Frank
2019-11-29  9:47 ` [PATCH v2 03/13] s390x: protvirt: Support unpack facility Janosch Frank
2019-11-29 10:19   ` David Hildenbrand
2019-12-04 10:48   ` Thomas Huth
2019-12-04 11:32     ` Janosch Frank
2019-12-04 11:34       ` Thomas Huth
2019-12-04 11:46         ` Janosch Frank
2019-11-29  9:48 ` [PATCH v2 04/13] s390x: protvirt: Handle diag 308 subcodes 0,1,3,4 Janosch Frank
2019-11-29 10:23   ` David Hildenbrand
2019-11-29  9:48 ` [PATCH v2 05/13] s390x: protvirt: Add pv state to cpu env Janosch Frank
2019-11-29 10:30   ` David Hildenbrand
2019-11-29 11:22     ` Janosch Frank
2019-12-06  9:50     ` Janosch Frank
2019-12-06  9:56       ` David Hildenbrand [this message]
2019-11-29  9:48 ` [PATCH v2 06/13] s390x: protvirt: KVM intercept changes Janosch Frank
2019-11-29 10:34   ` David Hildenbrand
2019-12-05 17:15   ` Cornelia Huck
2019-12-05 17:34     ` Janosch Frank
2019-12-05 17:46       ` Cornelia Huck
2019-12-06  7:44         ` Janosch Frank
2019-12-06  8:29           ` Cornelia Huck
2019-12-06  8:45             ` Janosch Frank
2019-12-06  9:08               ` Cornelia Huck
2019-12-06  9:30                 ` Janosch Frank
2019-11-29  9:48 ` [PATCH v2 07/13] s390x: protvirt: SCLP interpretation Janosch Frank
2019-11-29 10:43   ` David Hildenbrand
2019-11-29 11:15     ` Janosch Frank
2019-11-29 11:27       ` David Hildenbrand
2019-11-29  9:48 ` [PATCH v2 08/13] s390x: protvirt: Add new VCPU reset functions Janosch Frank
2019-11-29 10:47   ` David Hildenbrand
2019-11-29 11:21     ` Janosch Frank
2019-11-29 11:24       ` David Hildenbrand
2019-12-04 11:58   ` Thomas Huth
2019-12-04 12:44     ` Janosch Frank
2019-11-29  9:48 ` [PATCH v2 09/13] s390x: Exit on vcpu reset error Janosch Frank
2019-11-29  9:48 ` [PATCH v2 10/13] s390x: protvirt: Set guest IPL PSW Janosch Frank
2019-11-29 11:30   ` David Hildenbrand
2019-11-29 11:47   ` David Hildenbrand
2019-11-29  9:48 ` [PATCH v2 11/13] s390x: protvirt: Move diag 308 data over SIDAD Janosch Frank
2019-11-29 11:34   ` David Hildenbrand
2019-11-29  9:48 ` [PATCH v2 12/13] s390x: protvirt: Disable address checks for PV guest IO emulation Janosch Frank
2019-11-29 11:42   ` David Hildenbrand
2019-12-04 12:16   ` Thomas Huth
2019-12-05 17:44   ` Cornelia Huck
2019-11-29  9:48 ` [PATCH v2 13/13] s390x: protvirt: Handle SIGP store status correctly Janosch Frank
2019-11-29 11:04   ` Thomas Huth
2019-11-29 11:08     ` David Hildenbrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=63208914-4c96-8836-17ce-f154693fc5f3@redhat.com \
    --to=david@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=mihajlov@linux.ibm.com \
    --cc=pmorel@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).