On 10/30/2017 05:59 PM, Cornelia Huck wrote: > On Mon, 30 Oct 2017 14:48:23 +0100 > Christian Borntraeger <borntrae...@de.ibm.com> wrote: > > >> FWIW, I am testing a guest patch that enables zPCI without AIS. Its as >> simple as >> >> >> diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c >> index 7b30af5..9b24836 100644 >> --- a/arch/s390/pci/pci.c >> +++ b/arch/s390/pci/pci.c >> @@ -953,7 +953,7 @@ static int __init pci_base_init(void) >> if (!s390_pci_probe) >> return 0; >> >> - if (!test_facility(69) || !test_facility(71) || !test_facility(72)) >> + if (!test_facility(69) || !test_facility(71)) >> return 0; >> >> rc = zpci_debug_init(); >> diff --git a/arch/s390/pci/pci_insn.c b/arch/s390/pci/pci_insn.c >> index ea34086..61f8c82 100644 >> --- a/arch/s390/pci/pci_insn.c >> +++ b/arch/s390/pci/pci_insn.c >> @@ -7,6 +7,7 @@ >> #include <linux/export.h> >> #include <linux/errno.h> >> #include <linux/delay.h> >> +#include <asm/facility.h> >> #include <asm/pci_insn.h> >> #include <asm/pci_debug.h> >> #include <asm/processor.h> >> @@ -93,6 +94,8 @@ int zpci_refresh_trans(u64 fn, u64 addr, u64 range) >> /* Set Interruption Controls */ >> void zpci_set_irq_ctrl(u16 ctl, char *unused, u8 isc) >> { >> + if (!test_facility(72)) >> + return; >> asm volatile ( >> " .insn rsy,0xeb00000000d1,%[ctl],%[isc],%[u]\n" >> : : [ctl] "d" (ctl), [isc] "d" (isc << 27), [u] "Q" >> (*unused)); >> > > Sounds good. Presumably this makes the adapter interrupt handling work > as for virtio (and qdio)? Is there any ais-less pci hardware out in the > wild? >
ais is z specific, not PCI specific. So PCI cards should not care as far as I can tell.