On 10.09.20 10:53, Pierre Morel wrote: > If protected virtualization is active on s390, VIRTIO has only retricted > access to the guest memory. > Define CONFIG_ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS and export > arch_has_restricted_virtio_memory_access to advertize VIRTIO if that's > the case. > > Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx> > Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> > Reviewed-by: Halil Pasic <pasic@xxxxxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Michael, I am fine if this patch goes via the virtio tree. > --- > arch/s390/Kconfig | 1 + > arch/s390/mm/init.c | 11 +++++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig > index b29fcc66ec39..938246200d39 100644 > --- a/arch/s390/Kconfig > +++ b/arch/s390/Kconfig > @@ -820,6 +820,7 @@ menu "Virtualization" > config PROTECTED_VIRTUALIZATION_GUEST > def_bool n > prompt "Protected virtualization guest support" > + select ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS > help > Select this option, if you want to be able to run this > kernel as a protected virtualization KVM guest. > diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c > index 0d282081dc1f..e27f050cb516 100644 > --- a/arch/s390/mm/init.c > +++ b/arch/s390/mm/init.c > @@ -45,6 +45,7 @@ > #include <asm/kasan.h> > #include <asm/dma-mapping.h> > #include <asm/uv.h> > +#include <linux/virtio_config.h> > > pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(.bss..swapper_pg_dir); > > @@ -160,6 +161,16 @@ bool force_dma_unencrypted(struct device *dev) > return is_prot_virt_guest(); > } > > +#ifdef CONFIG_ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS > + > +int arch_has_restricted_virtio_memory_access(void) > +{ > + return is_prot_virt_guest(); > +} > +EXPORT_SYMBOL(arch_has_restricted_virtio_memory_access); > + > +#endif > + > /* protected virtualization */ > static void pv_init(void) > { >