All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janosch Frank <frankja@linux.ibm.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>, qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, cohuck@redhat.com, david@redhat.com
Subject: Re: [PATCH v8 05/15] s390x: protvirt: KVM intercept changes
Date: Tue, 10 Mar 2020 16:23:04 +0100	[thread overview]
Message-ID: <73661caf-bcfd-01b7-e2fd-c01d9a671cc7@linux.ibm.com> (raw)
In-Reply-To: <185070ea-2693-cb78-7238-ad08551bfb7c@de.ibm.com>


[-- Attachment #1.1: Type: text/plain, Size: 2327 bytes --]

On 3/10/20 4:20 PM, Christian Borntraeger wrote:
> On 10.03.20 14:39, Janosch Frank wrote:
>> Secure guests no longer intercept with code 4 for an instruction
>> interception. Instead they have codes 104 and 108 for secure
>> instruction interception and secure instruction notification
>> respectively.
>>
>> The 104 mirrors the 4 interception.
>>
>> The 108 is a notification interception to let KVM and QEMU know that
>> something changed and we need to update tracking information or
>> perform specific tasks. It's currently taken for the following
>> instructions:
>>
>> * stpx (To inform about the changed prefix location)
> 
> Set prefix (SPX), no?
> 
>> * sclp (On incorrect SCCB values, so we can inject a IRQ)
>> * sigp (All but "stop and store status")
>> * diag308 (Subcodes 0/1)
> 
> Furthermore SPX is also not reaching QEMU, no?
> Maybe add something like
> 
> Of these exits only sclp errors, state changing sigps and
> diag308 will reach QEMU.  QEMU will do its parts of the
> job, while the ultravisor has done the instruction part of
> the job. 
> 
> With that
> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>

Sure, I'll also change secure execution to protected virtualization in
the first sentence...

> 
> 
>>
>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>> Reviewed-by: David Hildenbrand <david@redhat.com>
>> ---
>>  target/s390x/kvm.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
>> index 1d6fd6a27b..eec0b92479 100644
>> --- a/target/s390x/kvm.c
>> +++ b/target/s390x/kvm.c
>> @@ -115,6 +115,8 @@
>>  #define ICPT_CPU_STOP                   0x28
>>  #define ICPT_OPEREXC                    0x2c
>>  #define ICPT_IO                         0x40
>> +#define ICPT_PV_INSTR                   0x68
>> +#define ICPT_PV_INSTR_NOTIFICATION      0x6c
>>  
>>  #define NR_LOCAL_IRQS 32
>>  /*
>> @@ -1693,6 +1695,8 @@ static int handle_intercept(S390CPU *cpu)
>>              (long)cs->kvm_run->psw_addr);
>>      switch (icpt_code) {
>>          case ICPT_INSTRUCTION:
>> +        case ICPT_PV_INSTR:
>> +        case ICPT_PV_INSTR_NOTIFICATION:
>>              r = handle_instruction(cpu, run);
>>              break;
>>          case ICPT_PROGRAM:
>>



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-03-10 15:27 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-10 13:39 [PATCH v8 00/15] s390x: Protected Virtualization support Janosch Frank
2020-03-10 13:39 ` [PATCH v8 01/15] Sync pv Janosch Frank
2020-03-10 13:39 ` [PATCH v8 02/15] s390x: protvirt: Support unpack facility Janosch Frank
2020-03-10 15:26   ` David Hildenbrand
2020-03-10 15:49     ` Janosch Frank
2020-03-10 15:41   ` Christian Borntraeger
2020-03-10 16:01     ` Janosch Frank
2020-03-11 10:20     ` [PATCH v9] " Janosch Frank
2020-03-10 13:39 ` [PATCH v8 03/15] s390x: protvirt: Add migration blocker Janosch Frank
2020-03-10 14:57   ` David Hildenbrand
2020-03-10 15:02     ` Janosch Frank
2020-03-10 15:08       ` David Hildenbrand
2020-03-10 15:14         ` Janosch Frank
2020-03-10 15:24         ` [PATCH v9] " Janosch Frank
2020-03-10 15:26           ` David Hildenbrand
2020-03-10 13:39 ` [PATCH v8 04/15] s390x: protvirt: Inhibit balloon when switching to protected mode Janosch Frank
2020-03-10 13:39 ` [PATCH v8 05/15] s390x: protvirt: KVM intercept changes Janosch Frank
2020-03-10 15:20   ` Christian Borntraeger
2020-03-10 15:23     ` Janosch Frank [this message]
2020-03-10 13:39 ` [PATCH v8 06/15] s390x: Add SIDA memory ops Janosch Frank
2020-03-10 13:40 ` [PATCH v8 07/15] s390x: protvirt: Move STSI data over SIDAD Janosch Frank
2020-03-10 13:40 ` [PATCH v8 08/15] s390x: protvirt: SCLP interpretation Janosch Frank
2020-03-10 13:40 ` [PATCH v8 09/15] s390x: protvirt: Set guest IPL PSW Janosch Frank
2020-03-10 13:40 ` [PATCH v8 10/15] s390x: protvirt: Move diag 308 data over SIDA Janosch Frank
2020-03-10 15:00   ` David Hildenbrand
2020-03-10 13:40 ` [PATCH v8 11/15] s390x: protvirt: Disable address checks for PV guest IO emulation Janosch Frank
2020-03-10 13:40 ` [PATCH v8 12/15] s390x: protvirt: Move IO control structures over SIDA Janosch Frank
2020-03-10 13:40 ` [PATCH v8 13/15] s390x: protvirt: Handle SIGP store status correctly Janosch Frank
2020-03-10 13:40 ` [PATCH v8 14/15] docs: Add protvirt docs Janosch Frank
2020-03-10 13:40 ` [PATCH v8 15/15] s390x: Add unpack facility feature to GA1 Janosch Frank

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=73661caf-bcfd-01b7-e2fd-c01d9a671cc7@linux.ibm.com \
    --to=frankja@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /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.