qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support


From: Pierre Morel
Subject: Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support
Date: Mon, 6 Nov 2017 11:05:20 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

On 06/11/2017 09:54, Christian Borntraeger wrote:


On 11/06/2017 09:52 AM, Cornelia Huck wrote:
On Mon, 30 Oct 2017 19:58:15 +0100
Halil Pasic <address@hidden> wrote:

On 10/30/2017 06:38 PM, Pierre Morel wrote:
On 30/10/2017 18:08, Christian Borntraeger wrote:

On 10/30/2017 05:59 PM, Cornelia Huck wrote:
On Mon, 30 Oct 2017 14:48:23 +0100
Christian Borntraeger <address@hidden> 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?

@Connie:
Do you have something in mind, or is curiosity the only reason for asking?

I just want to make sure we don't miss anything.



ais is z specific, not PCI specific. So PCI cards should not care as far as I 
can tell.


I bet Conny meant PCI hardware globaly, including zPCI adapters.
I bet none but I will better ask Sebastian or Gerald if they know.

I side with Christian: it is a machine thing and not a card thing. So
the question is if there is a z machine which supports zpci but does
not support AIS. My guess is that such a machine was never produced.

That's exactly what I meant, and I would not expect such a machine to
exist either.

That machine is called qemu 2.10 :-p



FWIW, I talked with Sebastian about that and he is fine with such a change. He
required some changes and I will work on such a patch.



My analyze is that providing AIS to the guest can work, with the precaution to handle spurious interrupts, until we use GISA for PCI.

Then when we introduce GISA for PCI, we will need to think again about providing AIS to the guest.

--
Pierre Morel
Linux/KVM/QEMU in Böblingen - Germany




reply via email to

[Prev in Thread] Current Thread [Next in Thread]