Re: [PATCH v3 01/14] KVM: s390: refactor crypto initialization

From: Christian Borntraeger
Date: Thu Apr 05 2018 - 06:45:22 EST




On 04/05/2018 12:42 PM, Christian Borntraeger wrote:
>
>
> On 03/14/2018 07:25 PM, Tony Krowiak wrote:
>> This patch refactors the code that initializes the crypto
>> configuration for a guest. The crypto configuration is contained in
>> a crypto control block (CRYCB) which is a satellite control block to
>> our main hardware virtualization control block. The CRYCB is
>> attached to the main virtualization control block via a CRYCB
>> designation (CRYCBD) designation field containing the address of
>> the CRYCB as well as its format.
>>
>> Prior to the introduction of AP device virtualization, there was
>> no need to provide access to or specify the format of the CRYCB for
>> a guest unless the MSA extension 3 (MSAX3) facility was installed
>> on the host system. With the introduction of AP device virtualization,
>> the CRYCB and its format must be made accessible to the guest
>> regardless of the presence of the MSAX3 facility.
>>
>> The crypto initialization code is restructured as follows:
>>
>> * A new compilation unit is introduced to contain all interfaces
>> and data structures related to configuring a guest's CRYCB for
>> both the refactoring of crypto initialization as well as all
>> subsequent patches introducing AP virtualization support.
>>
>> * Currently, the asm code for querying the AP configuration is
>> duplicated in the AP bus as well as in KVM. Since the KVM
>> code was introduced, the AP bus has externalized the interface
>> for querying the AP configuration. The KVM interface will be
>> replaced with a call to the AP bus interface. Of course, this
>> will be moved to the new compilation unit mentioned above.
>>
>> * An interface to format the CRYCBD field will be provided via
>> the new compilation unit and called from the KVM vm
>> initialization.
>>
>> Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx>
>> ---
>> MAINTAINERS | 10 ++++++
>> arch/s390/include/asm/kvm-ap.h | 16 ++++++++++
>> arch/s390/include/asm/kvm_host.h | 1 +
>> arch/s390/kvm/Kconfig | 1 +
>> arch/s390/kvm/Makefile | 2 +-
>> arch/s390/kvm/kvm-ap.c | 48 +++++++++++++++++++++++++++++
>> arch/s390/kvm/kvm-s390.c | 61 ++++---------------------------------
>> 7 files changed, 84 insertions(+), 55 deletions(-)
>> create mode 100644 arch/s390/include/asm/kvm-ap.h
>> create mode 100644 arch/s390/kvm/kvm-ap.c
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 0ec5881..72742d5 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -11875,6 +11875,16 @@ W: http://www.ibm.com/developerworks/linux/linux390/
>> S: Supported
>> F: drivers/s390/crypto/
>>
>> +S390 VFIO AP DRIVER
>> +M: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx>
>> +M: Christian Borntraeger <borntraeger@xxxxxxxxxx>
>> +M: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
>> +L: linux-s390@xxxxxxxxxxxxxxx
>> +W: http://www.ibm.com/developerworks/linux/linux390/
>> +S: Supported
>> +F: arch/s390/include/asm/kvm/kvm-ap.h
>> +F: arch/s390/kvm/kvm-ap.c
>> +
>> S390 ZFCP DRIVER
>> M: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx>
>> M: Benjamin Block <bblock@xxxxxxxxxxxxxxxxxx>
>
>
> The Maintainers update belongs into a different patch (e.g. when you introduce
> drivers/s390/crypto/vfio_ap_drv.c )

To put it differently. I think kvm-ap code in here is more related to kvm than to
vfio-ap.