[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 05/15] s390x: protvirt: KVM intercept changes
From: |
Janosch Frank |
Subject: |
Re: [PATCH v8 05/15] s390x: protvirt: KVM intercept changes |
Date: |
Tue, 10 Mar 2020 16:23:04 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
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 <address@hidden>
Sure, I'll also change secure execution to protected virtualization in
the first sentence...
>
>
>>
>> Signed-off-by: Janosch Frank <address@hidden>
>> Reviewed-by: David Hildenbrand <address@hidden>
>> ---
>> 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:
>>
signature.asc
Description: OpenPGP digital signature
- [PATCH v8 00/15] s390x: Protected Virtualization support, Janosch Frank, 2020/03/10
- [PATCH v8 10/15] s390x: protvirt: Move diag 308 data over SIDA, Janosch Frank, 2020/03/10
- [PATCH v8 09/15] s390x: protvirt: Set guest IPL PSW, Janosch Frank, 2020/03/10
- [PATCH v8 05/15] s390x: protvirt: KVM intercept changes, Janosch Frank, 2020/03/10
- [PATCH v8 14/15] docs: Add protvirt docs, Janosch Frank, 2020/03/10
- [PATCH v8 15/15] s390x: Add unpack facility feature to GA1, Janosch Frank, 2020/03/10
- [PATCH v8 06/15] s390x: Add SIDA memory ops, Janosch Frank, 2020/03/10
- [PATCH v8 01/15] Sync pv, Janosch Frank, 2020/03/10
- [PATCH v8 02/15] s390x: protvirt: Support unpack facility, Janosch Frank, 2020/03/10