All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Janosch Frank <frankja@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>, David Hildenbrand <david@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	Ulrich Weigand <Ulrich.Weigand@de.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [RFCv2 02/37] s390/protvirt: introduce host side setup
Date: Tue, 4 Feb 2020 10:28:20 +0100	[thread overview]
Message-ID: <20200204102820.51081649.cohuck@redhat.com> (raw)
In-Reply-To: <0310f99f-6d1e-b1bb-9313-be2a92c601ba@de.ibm.com>

On Mon, 3 Feb 2020 23:03:42 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> On 03.02.20 18:12, Cornelia Huck wrote:
> > On Mon,  3 Feb 2020 08:19:22 -0500
> > Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> >   
> >> From: Vasily Gorbik <gor@linux.ibm.com>
> >>
> >> Introduce KVM_S390_PROTECTED_VIRTUALIZATION_HOST kbuild option for
> >> protected virtual machines hosting support code.  
> > 
> > Hm... I seem to remember that you wanted to drop this config option and
> > always build the code, in order to reduce complexity. Have you
> > reconsidered this?  
> 
> I am still in favour of removing this, but I did not get an "yes, lets do
> it" answer. Since removing is easier than re-adding its still in.

ok

> 
>  [...]
> >> + * Copyright IBM Corp. 2019  
> > 
> > Happy new year?  
> 
> yep :-)
> [..]
> 
> >> +
> >> +#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST
> >> +int __bootdata_preserved(prot_virt_guest);  
> > 
> > Confused. You have this and uv_info below both in this file and in
> > boot/uv.c. Is there some magic happening in __bootdata_preserved()?  
> 
> Yes, this is information that is transferred from the decompressor
> to Linux. 
> I think we discussed about this the last time as well?

I think I was confused about different things last time...

But that is probably a sign that this wants a comment :)

> 
> 
> >   
> >> +#endif
> >> +
> >> +#ifdef CONFIG_KVM_S390_PROTECTED_VIRTUALIZATION_HOST
> >> +int prot_virt_host;
> >> +EXPORT_SYMBOL(prot_virt_host);
> >> +struct uv_info __bootdata_preserved(uv_info);
> >> +EXPORT_SYMBOL(uv_info);
> >> +
> >> +static int __init prot_virt_setup(char *val)
> >> +{
> >> +	bool enabled;
> >> +	int rc;
> >> +
> >> +	rc = kstrtobool(val, &enabled);
> >> +	if (!rc && enabled)
> >> +		prot_virt_host = 1;
> >> +
> >> +	if (is_prot_virt_guest() && prot_virt_host) {
> >> +		prot_virt_host = 0;
> >> +		pr_info("Running as protected virtualization guest.");  
> > 
> > Trying to disentangle that a bit in my mind...
> > 
> > If we don't have facility 158, is_prot_virt_guest() will return 0. If
> > protected host support has been requested, we'll print a message below
> > (and turn it off).  
> 
> yes, a guest cannot be a host. 
> > 
> > If the hardware provides the facilities for running as a protected virt
> > guest, we turn off protected virt host support if requested and print a
> > messages that we're a guest.
> > 
> > Two questions:
> > - Can the hardware ever provide both host and guest interfaces at the
> >   same time? I guess not; maybe add a comment?  
> 
> Right, you are either guest or host. 
> 
> > - Do we also want to print a message that we're running as a guest if
> >   the user didn't enable host support? If not, maybe prefix the message
> >   with "Cannot enable support for protected virtualization host:" or
> >   so? (Maybe also a good idea for the message below.)  
> 
> Line too long and I hate breaking string over multiple lines.
> I can change if somebody comes up with a proper message that is not too long.
> 

Fair enough; it's just that it's not very clear from the messages in
the log what happened. Maybe

"prot_virt: Running as protected virtualization guest."
"prot_virt: The ultravisor call facility is not available."

That at least links back to the kernel parameter.

[Aside: Would prot_virt_host be a better name? But that probably moves
us into bikeshed territory.]


  reply	other threads:[~2020-02-04  9:28 UTC|newest]

Thread overview: 200+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-03 13:19 [RFCv2 00/37] KVM: s390: Add support for protected VMs Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 01/37] DOCUMENTATION: protvirt: Protected virtual machine introduction Christian Borntraeger
2020-02-03 15:42   ` Cornelia Huck
2020-02-03 21:41     ` Christian Borntraeger
2020-02-04  9:19       ` Cornelia Huck
2020-02-04  9:32         ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 02/37] s390/protvirt: introduce host side setup Christian Borntraeger
2020-02-03 17:12   ` Cornelia Huck
2020-02-03 22:03     ` Christian Borntraeger
2020-02-04  9:28       ` Cornelia Huck [this message]
2020-02-04  9:38         ` Christian Borntraeger
2020-02-04  9:49           ` Cornelia Huck
2020-02-04  8:40   ` Thomas Huth
2020-02-04  9:12     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 03/37] s390/protvirt: add ultravisor initialization Christian Borntraeger
2020-02-04 10:03   ` Thomas Huth
2020-02-04 10:23   ` Cornelia Huck
2020-02-04 11:22     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 04/37] mm:gup/writeback: add callbacks for inaccessible pages Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 05/37] s390/mm: provide memory management functions for protected KVM guests Christian Borntraeger
2020-02-04 10:57   ` Cornelia Huck
2020-02-04 11:48     ` Claudio Imbrenda
2020-02-04 11:56     ` Christian Borntraeger
2020-02-04 12:15       ` Cornelia Huck
2020-02-05  9:52   ` Janosch Frank
2020-02-03 13:19 ` [RFCv2 06/37] s390: add (non)secure page access exceptions handlers Christian Borntraeger
2020-02-04 10:37   ` Thomas Huth
2020-02-04 11:41     ` Claudio Imbrenda
2020-02-04 12:48       ` Thomas Huth
2020-02-04 13:08         ` Claudio Imbrenda
2020-02-04 13:22           ` Thomas Huth
2020-02-04 12:03     ` Christian Borntraeger
2020-02-04 11:18   ` Cornelia Huck
2020-02-04 12:04     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 07/37] KVM: s390: add new variants of UV CALL Christian Borntraeger
2020-02-04 12:11   ` Cornelia Huck
2020-02-04 12:30     ` Claudio Imbrenda
2020-02-04 12:34       ` Cornelia Huck
2020-02-04 13:33     ` Christian Borntraeger
2020-02-04 13:27   ` Thomas Huth
2020-02-04 13:55     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 08/37] KVM: s390: protvirt: Add initial lifecycle handling Christian Borntraeger
2020-02-04 12:13   ` David Hildenbrand
2020-02-04 12:34     ` Christian Borntraeger
2020-02-05 10:01       ` Janosch Frank
2020-02-04 16:27   ` Cornelia Huck
2020-02-04 21:13     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 09/37] KVM: s390: protvirt: Add KVM api documentation Christian Borntraeger
2020-02-04 20:19   ` Thomas Huth
2020-02-04 21:40     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 10/37] KVM: s390: protvirt: Secure memory is not mergeable Christian Borntraeger
2020-02-04 12:15   ` David Hildenbrand
2020-02-04 12:53     ` Christian Borntraeger
2020-02-04 12:54       ` David Hildenbrand
2020-02-04 13:04         ` [PATCH v2 " Christian Borntraeger
2020-02-04 13:05           ` David Hildenbrand
2020-02-03 13:19 ` [RFCv2 11/37] KVM: s390/mm: Make pages accessible before destroying the guest Christian Borntraeger
2020-02-04 20:52   ` Thomas Huth
2020-02-05  9:03     ` Christian Borntraeger
2020-02-05 10:35   ` Cornelia Huck
2020-02-05 18:29     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 12/37] KVM: s390: protvirt: Handle SE notification interceptions Christian Borntraeger
2020-02-04 12:16   ` David Hildenbrand
2020-02-04 12:23     ` Christian Borntraeger
2020-02-04 21:16   ` Thomas Huth
2020-02-04 21:46     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 13/37] KVM: s390: protvirt: Instruction emulation Christian Borntraeger
2020-02-04 12:20   ` David Hildenbrand
2020-02-04 12:29     ` Christian Borntraeger
2020-02-04 17:07       ` Cornelia Huck
2020-02-04 21:21         ` Thomas Huth
2020-02-03 13:19 ` [RFCv2 14/37] KVM: s390: protvirt: Add interruption injection controls Christian Borntraeger
2020-02-05  6:59   ` Thomas Huth
2020-02-05  8:46     ` Christian Borntraeger
2020-02-05  8:56       ` Michael Mueller
2020-02-05  8:54     ` Michael Mueller
2020-02-05 10:45       ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 15/37] KVM: s390: protvirt: Implement interruption injection Christian Borntraeger
2020-02-05  9:51   ` Thomas Huth
2020-02-05 10:48     ` Christian Borntraeger
2020-02-05 11:25       ` Cornelia Huck
2020-02-05 17:49         ` Christian Borntraeger
2020-02-06  8:21           ` Cornelia Huck
2020-02-05 17:56     ` Christian Borntraeger
2020-02-05 11:31   ` Cornelia Huck
2020-02-05 11:46     ` Michael Mueller
2020-02-05 12:11       ` Cornelia Huck
2020-02-05 12:26         ` Michael Mueller
2020-02-05 18:00           ` Christian Borntraeger
2020-02-06  8:23             ` Cornelia Huck
2020-02-05 15:30     ` Michael Mueller
2020-02-03 13:19 ` [RFCv2 16/37] KVM: s390: protvirt: Add SCLP interrupt handling Christian Borntraeger
2020-02-05 12:22   ` Cornelia Huck
2020-02-05 18:14     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 17/37] KVM: s390: protvirt: Add machine-check interruption injection controls Christian Borntraeger
2020-02-05  7:06   ` Thomas Huth
2020-02-03 13:19 ` [RFCv2 18/37] KVM: s390: protvirt: Implement machine-check interruption injection Christian Borntraeger
2020-02-05  7:10   ` Thomas Huth
2020-02-05 13:47   ` Cornelia Huck
2020-02-05 18:18     ` Christian Borntraeger
2020-02-06  8:25       ` Cornelia Huck
2020-02-06  9:01         ` Christian Borntraeger
2020-02-06  9:11           ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 19/37] KVM: s390: protvirt: Handle spec exception loops Christian Borntraeger
2020-02-05 13:50   ` Cornelia Huck
2020-02-05 18:21     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 20/37] KVM: s390: protvirt: Add new gprs location handling Christian Borntraeger
2020-02-05 11:18   ` Thomas Huth
2020-02-05 18:45     ` Christian Borntraeger
2020-02-05 13:52   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 21/37] KVM: S390: protvirt: Introduce instruction data area bounce buffer Christian Borntraeger
2020-02-05 11:43   ` David Hildenbrand
2020-02-06  8:43     ` Christian Borntraeger
2020-02-05 12:02   ` Thomas Huth
2020-02-05 12:16     ` Janosch Frank
2020-02-05 17:00       ` Thomas Huth
2020-02-06  9:07         ` Christian Borntraeger
2020-02-06  9:18           ` Thomas Huth
2020-02-06  9:21             ` Christian Borntraeger
2020-02-06  9:20           ` Christian Borntraeger
2020-02-06  9:32             ` Janosch Frank
2020-02-06  9:29           ` David Hildenbrand
2020-02-06  9:39             ` [RFCv2.1] " Christian Borntraeger
2020-02-06  9:54               ` David Hildenbrand
2020-02-06 10:02                 ` Christian Borntraeger
2020-02-06 10:08                   ` David Hildenbrand
2020-02-06 10:10                     ` Christian Borntraeger
2020-02-06 12:46                 ` Christian Borntraeger
2020-02-06 10:32               ` Thomas Huth
2020-02-06 11:07                 ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 22/37] KVM: s390: protvirt: handle secure guest prefix pages Christian Borntraeger
2020-02-05 11:51   ` David Hildenbrand
2020-02-05 19:38     ` Christian Borntraeger
2020-02-05 11:52   ` David Hildenbrand
2020-02-05 19:39     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 23/37] KVM: s390/mm: handle guest unpin events Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 24/37] KVM: s390: protvirt: Write sthyi data to instruction data area Christian Borntraeger
2020-02-05 12:09   ` Thomas Huth
2020-02-05 18:52     ` Christian Borntraeger
2020-02-05 14:27   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 25/37] KVM: s390: protvirt: STSI handling Christian Borntraeger
2020-02-05 12:13   ` Thomas Huth
2020-02-05 19:22     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 26/37] KVM: s390: protvirt: disallow one_reg Christian Borntraeger
2020-02-05 12:16   ` Thomas Huth
2020-02-05 19:25     ` Christian Borntraeger
2020-02-05 14:42   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 27/37] KVM: s390: protvirt: Only sync fmt4 registers Christian Borntraeger
2020-02-04 17:15   ` Cornelia Huck
2020-02-04 22:08     ` Christian Borntraeger
2020-02-05 16:29   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 28/37] KVM: s390: protvirt: Add program exception injection Christian Borntraeger
2020-02-05 16:38   ` Cornelia Huck
2020-02-05 19:31     ` Christian Borntraeger
2020-02-05 17:59   ` Thomas Huth
2020-02-05 19:32     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 29/37] DOCUMENTATION: protvirt: Diag 308 IPL Christian Borntraeger
2020-02-03 16:13   ` Cornelia Huck
2020-02-04  8:13     ` Christian Borntraeger
2020-02-04  9:35       ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 30/37] KVM: s390: protvirt: Add diag 308 subcode 8 - 10 handling Christian Borntraeger
2020-02-04 18:51   ` Cornelia Huck
2020-02-04 22:19     ` Christian Borntraeger
2020-02-05 18:21   ` Thomas Huth
2020-02-06 10:59     ` Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 31/37] KVM: s390: protvirt: UV calls diag308 0, 1 Christian Borntraeger
2020-02-03 13:19 ` [RFCv2 32/37] KVM: s390: protvirt: Report CPU state to Ultravisor Christian Borntraeger
2020-02-06 11:12   ` Thomas Huth
2020-02-06 11:17     ` Christian Borntraeger
2020-02-06 14:29   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 33/37] KVM: s390: protvirt: Support cmd 5 operation state Christian Borntraeger
2020-02-06 11:21   ` Thomas Huth
2020-02-06 15:17   ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 34/37] KVM: s390: protvirt: Add UV debug trace Christian Borntraeger
2020-02-06  9:41   ` Cornelia Huck
2020-02-07  8:05     ` Christian Borntraeger
2020-02-07  8:27       ` Cornelia Huck
2020-02-14  8:32     ` Christian Borntraeger
2020-02-14  8:53       ` Cornelia Huck
2020-02-03 13:19 ` [RFCv2 35/37] KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 Christian Borntraeger
2020-02-06 10:10   ` Cornelia Huck
2020-02-06 11:11     ` Christian Borntraeger
2020-02-06 12:03   ` Thomas Huth
2020-02-03 13:19 ` [RFCv2 36/37] KVM: s390: protvirt: do not inject interrupts after start Christian Borntraeger
2020-02-06 10:13   ` Cornelia Huck
2020-02-06 14:24     ` Christian Borntraeger
2020-02-06 12:03   ` Thomas Huth
2020-02-03 13:19 ` [RFCv2 37/37] KVM: s390: protvirt: Add UV cpu reset calls Christian Borntraeger
2020-02-05 18:27   ` Thomas Huth
2020-02-05 20:24     ` Christian Borntraeger
2020-02-06 10:45   ` Cornelia Huck
2020-02-06 14:27     ` Christian Borntraeger
2020-02-06 14:39   ` David Hildenbrand
2020-02-06 15:07     ` Thomas Huth
2020-02-03 13:23 ` [RFCv2 00/37] KVM: s390: Add support for protected VMs Cornelia Huck
2020-02-03 13:32   ` Christian Borntraeger
2020-02-03 14:42     ` Cornelia Huck
2020-02-05 11:34 ` David Hildenbrand
2020-02-05 11:38   ` Christian Borntraeger
2020-02-05 11:40     ` Cornelia Huck

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=20200204102820.51081649.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=aarcange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.vnet.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.