All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] s390x/pci: some small fixes
@ 2021-12-03 14:27 Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 1/4] s390x/pci: use a reserved ID for the default PCI group Matthew Rosato
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Matthew Rosato @ 2021-12-03 14:27 UTC (permalink / raw)
  To: thuth, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

A collection of small fixes for s390x PCI (not urgent).  The first 3 are
fixes related to always using the host-provided CLP value when provided
vs a hard-coded value.  The last patch adds logic for QEMU to report a
proper DTSM clp response rather than just 0s (guest linux doesn't look
at this field today).

Changes for v3:
- Actually fix patch 4 this time (Pierre)

Matthew Rosato (4):
  s390x/pci: use a reserved ID for the default PCI group
  s390x/pci: don't use hard-coded dma range in reg_ioat
  s390x/pci: use the passthrough measurement update interval
  s390x/pci: add supported DT information to clp response

 hw/s390x/s390-pci-bus.c         |  1 +
 hw/s390x/s390-pci-inst.c        | 15 +++++++++------
 hw/s390x/s390-pci-vfio.c        |  1 +
 include/hw/s390x/s390-pci-bus.h |  3 ++-
 include/hw/s390x/s390-pci-clp.h |  3 ++-
 5 files changed, 15 insertions(+), 8 deletions(-)

-- 
2.27.0



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 1/4] s390x/pci: use a reserved ID for the default PCI group
  2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
@ 2021-12-03 14:27 ` Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 2/4] s390x/pci: don't use hard-coded dma range in reg_ioat Matthew Rosato
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Matthew Rosato @ 2021-12-03 14:27 UTC (permalink / raw)
  To: thuth, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

The current default PCI group being used can technically collide with a
real group ID passed from a hostdev.  Let's instead use a group ID that
comes from a special pool (0xF0-0xFF) that is architected to be reserved
for simulated devices.

Fixes: 28dc86a072 ("s390x/pci: use a PCI Group structure")
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
---
 include/hw/s390x/s390-pci-bus.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-pci-bus.h
index aa891c178d..2727e7bdef 100644
--- a/include/hw/s390x/s390-pci-bus.h
+++ b/include/hw/s390x/s390-pci-bus.h
@@ -313,7 +313,7 @@ typedef struct ZpciFmb {
 } ZpciFmb;
 QEMU_BUILD_BUG_MSG(offsetof(ZpciFmb, fmt0) != 48, "padding in ZpciFmb");
 
-#define ZPCI_DEFAULT_FN_GRP 0x20
+#define ZPCI_DEFAULT_FN_GRP 0xFF
 typedef struct S390PCIGroup {
     ClpRspQueryPciGrp zpci_group;
     int id;
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/4] s390x/pci: don't use hard-coded dma range in reg_ioat
  2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 1/4] s390x/pci: use a reserved ID for the default PCI group Matthew Rosato
@ 2021-12-03 14:27 ` Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 3/4] s390x/pci: use the passthrough measurement update interval Matthew Rosato
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Matthew Rosato @ 2021-12-03 14:27 UTC (permalink / raw)
  To: thuth, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

Instead use the values from clp info, they will either be the hard-coded
values or what came from the host driver via vfio.

Fixes: 9670ee752727 ("s390x/pci: use a PCI Function structure")
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
---
 hw/s390x/s390-pci-inst.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index 1c8ad91175..11b7f6bfa1 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -916,9 +916,10 @@ int pci_dereg_irqs(S390PCIBusDevice *pbdev)
     return 0;
 }
 
-static int reg_ioat(CPUS390XState *env, S390PCIIOMMU *iommu, ZpciFib fib,
+static int reg_ioat(CPUS390XState *env, S390PCIBusDevice *pbdev, ZpciFib fib,
                     uintptr_t ra)
 {
+    S390PCIIOMMU *iommu = pbdev->iommu;
     uint64_t pba = ldq_p(&fib.pba);
     uint64_t pal = ldq_p(&fib.pal);
     uint64_t g_iota = ldq_p(&fib.iota);
@@ -927,7 +928,7 @@ static int reg_ioat(CPUS390XState *env, S390PCIIOMMU *iommu, ZpciFib fib,
 
     pba &= ~0xfff;
     pal |= 0xfff;
-    if (pba > pal || pba < ZPCI_SDMA_ADDR || pal > ZPCI_EDMA_ADDR) {
+    if (pba > pal || pba < pbdev->zpci_fn.sdma || pal > pbdev->zpci_fn.edma) {
         s390_program_interrupt(env, PGM_OPERAND, ra);
         return -EINVAL;
     }
@@ -1125,7 +1126,7 @@ int mpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
         } else if (pbdev->iommu->enabled) {
             cc = ZPCI_PCI_LS_ERR;
             s390_set_status_code(env, r1, ZPCI_MOD_ST_SEQUENCE);
-        } else if (reg_ioat(env, pbdev->iommu, fib, ra)) {
+        } else if (reg_ioat(env, pbdev, fib, ra)) {
             cc = ZPCI_PCI_LS_ERR;
             s390_set_status_code(env, r1, ZPCI_MOD_ST_INSUF_RES);
         }
@@ -1150,7 +1151,7 @@ int mpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
             s390_set_status_code(env, r1, ZPCI_MOD_ST_SEQUENCE);
         } else {
             pci_dereg_ioat(pbdev->iommu);
-            if (reg_ioat(env, pbdev->iommu, fib, ra)) {
+            if (reg_ioat(env, pbdev, fib, ra)) {
                 cc = ZPCI_PCI_LS_ERR;
                 s390_set_status_code(env, r1, ZPCI_MOD_ST_INSUF_RES);
             }
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 3/4] s390x/pci: use the passthrough measurement update interval
  2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 1/4] s390x/pci: use a reserved ID for the default PCI group Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 2/4] s390x/pci: don't use hard-coded dma range in reg_ioat Matthew Rosato
@ 2021-12-03 14:27 ` Matthew Rosato
  2021-12-03 14:27 ` [PATCH v3 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
  2021-12-13  9:09 ` [PATCH v3 0/4] s390x/pci: some small fixes Thomas Huth
  4 siblings, 0 replies; 8+ messages in thread
From: Matthew Rosato @ 2021-12-03 14:27 UTC (permalink / raw)
  To: thuth, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

We may have gotten a measurement update interval from the underlying host
via vfio -- Use it to set the interval via which we update the function
measurement block.

Fixes: 28dc86a072 ("s390x/pci: use a PCI Group structure")
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
---
 hw/s390x/s390-pci-inst.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index 11b7f6bfa1..07bab85ce5 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -1046,7 +1046,7 @@ static void fmb_update(void *opaque)
                       sizeof(pbdev->fmb.last_update))) {
         return;
     }
-    timer_mod(pbdev->fmb_timer, t + DEFAULT_MUI);
+    timer_mod(pbdev->fmb_timer, t + pbdev->pci_group->zpci_group.mui);
 }
 
 int mpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
@@ -1204,7 +1204,8 @@ int mpcifc_service_call(S390CPU *cpu, uint8_t r1, uint64_t fiba, uint8_t ar,
         }
         pbdev->fmb_addr = fmb_addr;
         timer_mod(pbdev->fmb_timer,
-                  qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + DEFAULT_MUI);
+                  qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +
+                                    pbdev->pci_group->zpci_group.mui);
         break;
     }
     default:
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 4/4] s390x/pci: add supported DT information to clp response
  2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
                   ` (2 preceding siblings ...)
  2021-12-03 14:27 ` [PATCH v3 3/4] s390x/pci: use the passthrough measurement update interval Matthew Rosato
@ 2021-12-03 14:27 ` Matthew Rosato
  2021-12-06  9:59   ` Pierre Morel
  2021-12-06 14:34   ` Eric Farman
  2021-12-13  9:09 ` [PATCH v3 0/4] s390x/pci: some small fixes Thomas Huth
  4 siblings, 2 replies; 8+ messages in thread
From: Matthew Rosato @ 2021-12-03 14:27 UTC (permalink / raw)
  To: thuth, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

The DTSM is a mask that specifies which I/O Address Translation designation
types are supported.  Today QEMU only supports DT=1.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
---
 hw/s390x/s390-pci-bus.c         | 1 +
 hw/s390x/s390-pci-inst.c        | 1 +
 hw/s390x/s390-pci-vfio.c        | 1 +
 include/hw/s390x/s390-pci-bus.h | 1 +
 include/hw/s390x/s390-pci-clp.h | 3 ++-
 5 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index 1b51a72838..01b58ebc70 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -782,6 +782,7 @@ static void s390_pci_init_default_group(void)
     resgrp->i = 128;
     resgrp->maxstbl = 128;
     resgrp->version = 0;
+    resgrp->dtsm = ZPCI_DTSM;
 }
 
 static void set_pbdev_info(S390PCIBusDevice *pbdev)
diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index 07bab85ce5..6d400d4147 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -329,6 +329,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
         stw_p(&resgrp->i, group->zpci_group.i);
         stw_p(&resgrp->maxstbl, group->zpci_group.maxstbl);
         resgrp->version = group->zpci_group.version;
+        resgrp->dtsm = group->zpci_group.dtsm;
         stw_p(&resgrp->hdr.rsp, CLP_RC_OK);
         break;
     }
diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c
index 2a153fa8c9..6f80a47e29 100644
--- a/hw/s390x/s390-pci-vfio.c
+++ b/hw/s390x/s390-pci-vfio.c
@@ -160,6 +160,7 @@ static void s390_pci_read_group(S390PCIBusDevice *pbdev,
         resgrp->i = cap->noi;
         resgrp->maxstbl = cap->maxstbl;
         resgrp->version = cap->version;
+        resgrp->dtsm = ZPCI_DTSM;
     }
 }
 
diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-pci-bus.h
index 2727e7bdef..da3cde2bb4 100644
--- a/include/hw/s390x/s390-pci-bus.h
+++ b/include/hw/s390x/s390-pci-bus.h
@@ -37,6 +37,7 @@
 #define ZPCI_MAX_UID 0xffff
 #define UID_UNDEFINED 0
 #define UID_CHECKING_ENABLED 0x01
+#define ZPCI_DTSM 0x40
 
 OBJECT_DECLARE_SIMPLE_TYPE(S390pciState, S390_PCI_HOST_BRIDGE)
 OBJECT_DECLARE_SIMPLE_TYPE(S390PCIBus, S390_PCI_BUS)
diff --git a/include/hw/s390x/s390-pci-clp.h b/include/hw/s390x/s390-pci-clp.h
index 96b8e3f133..cc8c8662b8 100644
--- a/include/hw/s390x/s390-pci-clp.h
+++ b/include/hw/s390x/s390-pci-clp.h
@@ -163,7 +163,8 @@ typedef struct ClpRspQueryPciGrp {
     uint8_t fr;
     uint16_t maxstbl;
     uint16_t mui;
-    uint64_t reserved3;
+    uint8_t dtsm;
+    uint8_t reserved3[7];
     uint64_t dasm; /* dma address space mask */
     uint64_t msia; /* MSI address */
     uint64_t reserved4;
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 4/4] s390x/pci: add supported DT information to clp response
  2021-12-03 14:27 ` [PATCH v3 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
@ 2021-12-06  9:59   ` Pierre Morel
  2021-12-06 14:34   ` Eric Farman
  1 sibling, 0 replies; 8+ messages in thread
From: Pierre Morel @ 2021-12-06  9:59 UTC (permalink / raw)
  To: Matthew Rosato, thuth, qemu-s390x, qemu-devel
  Cc: farman, david, cohuck, richard.henderson, pasic, borntraeger



On 12/3/21 15:27, Matthew Rosato wrote:
> The DTSM is a mask that specifies which I/O Address Translation designation
> types are supported.  Today QEMU only supports DT=1.
> 
> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
> ---
>   hw/s390x/s390-pci-bus.c         | 1 +
>   hw/s390x/s390-pci-inst.c        | 1 +
>   hw/s390x/s390-pci-vfio.c        | 1 +
>   include/hw/s390x/s390-pci-bus.h | 1 +
>   include/hw/s390x/s390-pci-clp.h | 3 ++-
>   5 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index 1b51a72838..01b58ebc70 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -782,6 +782,7 @@ static void s390_pci_init_default_group(void)
>       resgrp->i = 128;
>       resgrp->maxstbl = 128;
>       resgrp->version = 0;
> +    resgrp->dtsm = ZPCI_DTSM;
>   }
>   
>   static void set_pbdev_info(S390PCIBusDevice *pbdev)
> diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
> index 07bab85ce5..6d400d4147 100644
> --- a/hw/s390x/s390-pci-inst.c
> +++ b/hw/s390x/s390-pci-inst.c
> @@ -329,6 +329,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t ra)
>           stw_p(&resgrp->i, group->zpci_group.i);
>           stw_p(&resgrp->maxstbl, group->zpci_group.maxstbl);
>           resgrp->version = group->zpci_group.version;
> +        resgrp->dtsm = group->zpci_group.dtsm;
>           stw_p(&resgrp->hdr.rsp, CLP_RC_OK);
>           break;
>       }
> diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c
> index 2a153fa8c9..6f80a47e29 100644
> --- a/hw/s390x/s390-pci-vfio.c
> +++ b/hw/s390x/s390-pci-vfio.c
> @@ -160,6 +160,7 @@ static void s390_pci_read_group(S390PCIBusDevice *pbdev,
>           resgrp->i = cap->noi;
>           resgrp->maxstbl = cap->maxstbl;
>           resgrp->version = cap->version;
> +        resgrp->dtsm = ZPCI_DTSM;
>       }
>   }
>   
> diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-pci-bus.h
> index 2727e7bdef..da3cde2bb4 100644
> --- a/include/hw/s390x/s390-pci-bus.h
> +++ b/include/hw/s390x/s390-pci-bus.h
> @@ -37,6 +37,7 @@
>   #define ZPCI_MAX_UID 0xffff
>   #define UID_UNDEFINED 0
>   #define UID_CHECKING_ENABLED 0x01
> +#define ZPCI_DTSM 0x40
>   
>   OBJECT_DECLARE_SIMPLE_TYPE(S390pciState, S390_PCI_HOST_BRIDGE)
>   OBJECT_DECLARE_SIMPLE_TYPE(S390PCIBus, S390_PCI_BUS)
> diff --git a/include/hw/s390x/s390-pci-clp.h b/include/hw/s390x/s390-pci-clp.h
> index 96b8e3f133..cc8c8662b8 100644
> --- a/include/hw/s390x/s390-pci-clp.h
> +++ b/include/hw/s390x/s390-pci-clp.h
> @@ -163,7 +163,8 @@ typedef struct ClpRspQueryPciGrp {
>       uint8_t fr;
>       uint16_t maxstbl;
>       uint16_t mui;
> -    uint64_t reserved3;
> +    uint8_t dtsm;
> +    uint8_t reserved3[7];
>       uint64_t dasm; /* dma address space mask */
>       uint64_t msia; /* MSI address */
>       uint64_t reserved4;
> 
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>


-- 
Pierre Morel
IBM Lab Boeblingen


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 4/4] s390x/pci: add supported DT information to clp response
  2021-12-03 14:27 ` [PATCH v3 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
  2021-12-06  9:59   ` Pierre Morel
@ 2021-12-06 14:34   ` Eric Farman
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Farman @ 2021-12-06 14:34 UTC (permalink / raw)
  To: Matthew Rosato, thuth, qemu-s390x, qemu-devel
  Cc: pmorel, david, cohuck, richard.henderson, pasic, borntraeger

On Fri, 2021-12-03 at 09:27 -0500, Matthew Rosato wrote:
> The DTSM is a mask that specifies which I/O Address Translation
> designation
> types are supported.  Today QEMU only supports DT=1.
> 
> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>

Reviewed-by: Eric Farman <farman@linux.ibm.com>

> ---
>  hw/s390x/s390-pci-bus.c         | 1 +
>  hw/s390x/s390-pci-inst.c        | 1 +
>  hw/s390x/s390-pci-vfio.c        | 1 +
>  include/hw/s390x/s390-pci-bus.h | 1 +
>  include/hw/s390x/s390-pci-clp.h | 3 ++-
>  5 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
> index 1b51a72838..01b58ebc70 100644
> --- a/hw/s390x/s390-pci-bus.c
> +++ b/hw/s390x/s390-pci-bus.c
> @@ -782,6 +782,7 @@ static void s390_pci_init_default_group(void)
>      resgrp->i = 128;
>      resgrp->maxstbl = 128;
>      resgrp->version = 0;
> +    resgrp->dtsm = ZPCI_DTSM;
>  }
>  
>  static void set_pbdev_info(S390PCIBusDevice *pbdev)
> diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
> index 07bab85ce5..6d400d4147 100644
> --- a/hw/s390x/s390-pci-inst.c
> +++ b/hw/s390x/s390-pci-inst.c
> @@ -329,6 +329,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2,
> uintptr_t ra)
>          stw_p(&resgrp->i, group->zpci_group.i);
>          stw_p(&resgrp->maxstbl, group->zpci_group.maxstbl);
>          resgrp->version = group->zpci_group.version;
> +        resgrp->dtsm = group->zpci_group.dtsm;
>          stw_p(&resgrp->hdr.rsp, CLP_RC_OK);
>          break;
>      }
> diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c
> index 2a153fa8c9..6f80a47e29 100644
> --- a/hw/s390x/s390-pci-vfio.c
> +++ b/hw/s390x/s390-pci-vfio.c
> @@ -160,6 +160,7 @@ static void s390_pci_read_group(S390PCIBusDevice
> *pbdev,
>          resgrp->i = cap->noi;
>          resgrp->maxstbl = cap->maxstbl;
>          resgrp->version = cap->version;
> +        resgrp->dtsm = ZPCI_DTSM;
>      }
>  }
>  
> diff --git a/include/hw/s390x/s390-pci-bus.h b/include/hw/s390x/s390-
> pci-bus.h
> index 2727e7bdef..da3cde2bb4 100644
> --- a/include/hw/s390x/s390-pci-bus.h
> +++ b/include/hw/s390x/s390-pci-bus.h
> @@ -37,6 +37,7 @@
>  #define ZPCI_MAX_UID 0xffff
>  #define UID_UNDEFINED 0
>  #define UID_CHECKING_ENABLED 0x01
> +#define ZPCI_DTSM 0x40
>  
>  OBJECT_DECLARE_SIMPLE_TYPE(S390pciState, S390_PCI_HOST_BRIDGE)
>  OBJECT_DECLARE_SIMPLE_TYPE(S390PCIBus, S390_PCI_BUS)
> diff --git a/include/hw/s390x/s390-pci-clp.h b/include/hw/s390x/s390-
> pci-clp.h
> index 96b8e3f133..cc8c8662b8 100644
> --- a/include/hw/s390x/s390-pci-clp.h
> +++ b/include/hw/s390x/s390-pci-clp.h
> @@ -163,7 +163,8 @@ typedef struct ClpRspQueryPciGrp {
>      uint8_t fr;
>      uint16_t maxstbl;
>      uint16_t mui;
> -    uint64_t reserved3;
> +    uint8_t dtsm;
> +    uint8_t reserved3[7];
>      uint64_t dasm; /* dma address space mask */
>      uint64_t msia; /* MSI address */
>      uint64_t reserved4;



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/4] s390x/pci: some small fixes
  2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
                   ` (3 preceding siblings ...)
  2021-12-03 14:27 ` [PATCH v3 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
@ 2021-12-13  9:09 ` Thomas Huth
  4 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2021-12-13  9:09 UTC (permalink / raw)
  To: Matthew Rosato, qemu-s390x, qemu-devel
  Cc: farman, pmorel, david, cohuck, richard.henderson, pasic, borntraeger

On 03/12/2021 15.27, Matthew Rosato wrote:
> A collection of small fixes for s390x PCI (not urgent).  The first 3 are
> fixes related to always using the host-provided CLP value when provided
> vs a hard-coded value.  The last patch adds logic for QEMU to report a
> proper DTSM clp response rather than just 0s (guest linux doesn't look
> at this field today).
> 
> Changes for v3:
> - Actually fix patch 4 this time (Pierre)
> 
> Matthew Rosato (4):
>    s390x/pci: use a reserved ID for the default PCI group
>    s390x/pci: don't use hard-coded dma range in reg_ioat
>    s390x/pci: use the passthrough measurement update interval
>    s390x/pci: add supported DT information to clp response
> 
>   hw/s390x/s390-pci-bus.c         |  1 +
>   hw/s390x/s390-pci-inst.c        | 15 +++++++++------
>   hw/s390x/s390-pci-vfio.c        |  1 +
>   include/hw/s390x/s390-pci-bus.h |  3 ++-
>   include/hw/s390x/s390-pci-clp.h |  3 ++-
>   5 files changed, 15 insertions(+), 8 deletions(-)

Thanks, I've queued the patches to my s390x-next branch now:

  https://gitlab.com/thuth/qemu/-/commits/s390x-next/

  Thomas



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-12-13  9:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-03 14:27 [PATCH v3 0/4] s390x/pci: some small fixes Matthew Rosato
2021-12-03 14:27 ` [PATCH v3 1/4] s390x/pci: use a reserved ID for the default PCI group Matthew Rosato
2021-12-03 14:27 ` [PATCH v3 2/4] s390x/pci: don't use hard-coded dma range in reg_ioat Matthew Rosato
2021-12-03 14:27 ` [PATCH v3 3/4] s390x/pci: use the passthrough measurement update interval Matthew Rosato
2021-12-03 14:27 ` [PATCH v3 4/4] s390x/pci: add supported DT information to clp response Matthew Rosato
2021-12-06  9:59   ` Pierre Morel
2021-12-06 14:34   ` Eric Farman
2021-12-13  9:09 ` [PATCH v3 0/4] s390x/pci: some small fixes Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.