diff mbox

s390/pci: fix build on 32-bit and non linux

Message ID 1418722138-37222-1-git-send-email-blaschka@linux.vnet.ibm.com
State New
Headers show

Commit Message

Frank Blaschka Dec. 16, 2014, 9:28 a.m. UTC
From: Frank Blaschka <frank.blaschka@de.ibm.com>

Remove unnecessary and wrong includes. Fix get_rt_sto and
get_st_pto to build on 32-bit.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
---
 hw/s390x/s390-pci-bus.c  | 25 +++++++++++--------------
 hw/s390x/s390-pci-inst.c | 30 +++---------------------------
 2 files changed, 14 insertions(+), 41 deletions(-)

Comments

Alexander Graf Dec. 16, 2014, 10:35 a.m. UTC | #1
> Am 16.12.2014 um 10:28 schrieb Frank Blaschka <blaschka@linux.vnet.ibm.com>:
> 
> From: Frank Blaschka <frank.blaschka@de.ibm.com>
> 
> Remove unnecessary and wrong includes. Fix get_rt_sto and
> get_st_pto to build on 32-bit.
> 
> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>

Could you please roll the fixes into the offending patches and repost the set? Otherwise we break bisectability on 32bit hosts.

Alex
Frank Blaschka Dec. 16, 2014, 11:46 a.m. UTC | #2
On Tue, Dec 16, 2014 at 11:35:19AM +0100, Alexander Graf wrote:
> 
> 
> 
> > Am 16.12.2014 um 10:28 schrieb Frank Blaschka <blaschka@linux.vnet.ibm.com>:
> > 
> > From: Frank Blaschka <frank.blaschka@de.ibm.com>
> > 
> > Remove unnecessary and wrong includes. Fix get_rt_sto and
> > get_st_pto to build on 32-bit.
> > 
> > Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
> 
> Could you please roll the fixes into the offending patches and repost the set? Otherwise we break bisectability on 32bit hosts.
>

Sure, but since this is an initial drop and I have to touch the patches anyhow can I merge all
add-ons and fixes to the initial patch set?

I would like to end up finally with just 3 patches:

  s390: Add PCI bus support
  s390: implement pci instructions
  kvm: extend kvm_irqchip_add_msi_route to work on s390

If so I would post V2 of the initial patch set including all changes.

Frank
 
> Alex
>
Alexander Graf Dec. 16, 2014, 11:56 a.m. UTC | #3
On 16.12.14 12:46, Frank Blaschka wrote:
> On Tue, Dec 16, 2014 at 11:35:19AM +0100, Alexander Graf wrote:
>>
>>
>>
>>> Am 16.12.2014 um 10:28 schrieb Frank Blaschka <blaschka@linux.vnet.ibm.com>:
>>>
>>> From: Frank Blaschka <frank.blaschka@de.ibm.com>
>>>
>>> Remove unnecessary and wrong includes. Fix get_rt_sto and
>>> get_st_pto to build on 32-bit.
>>>
>>> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
>>
>> Could you please roll the fixes into the offending patches and repost the set? Otherwise we break bisectability on 32bit hosts.
>>
> 
> Sure, but since this is an initial drop and I have to touch the patches anyhow can I merge all
> add-ons and fixes to the initial patch set?
> 
> I would like to end up finally with just 3 patches:
> 
>   s390: Add PCI bus support
>   s390: implement pci instructions
>   kvm: extend kvm_irqchip_add_msi_route to work on s390
> 
> If so I would post V2 of the initial patch set including all changes.

Cornelia is the maintainer here, so you'll need to ask her :). Anything
that doesn't break bisectability is certainly better than code that
breaks it.

By squashing all those patches together you'll make bisecting harder for
s390 - if you can live with it so can I.


Alex
Frank Blaschka Dec. 16, 2014, 12:13 p.m. UTC | #4
On Tue, Dec 16, 2014 at 12:56:58PM +0100, Alexander Graf wrote:
> 
> 
> On 16.12.14 12:46, Frank Blaschka wrote:
> > On Tue, Dec 16, 2014 at 11:35:19AM +0100, Alexander Graf wrote:
> >>
> >>
> >>
> >>> Am 16.12.2014 um 10:28 schrieb Frank Blaschka <blaschka@linux.vnet.ibm.com>:
> >>>
> >>> From: Frank Blaschka <frank.blaschka@de.ibm.com>
> >>>
> >>> Remove unnecessary and wrong includes. Fix get_rt_sto and
> >>> get_st_pto to build on 32-bit.
> >>>
> >>> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
> >>
> >> Could you please roll the fixes into the offending patches and repost the set? Otherwise we break bisectability on 32bit hosts.
> >>
> > 
> > Sure, but since this is an initial drop and I have to touch the patches anyhow can I merge all
> > add-ons and fixes to the initial patch set?
> > 
> > I would like to end up finally with just 3 patches:
> > 
> >   s390: Add PCI bus support
> >   s390: implement pci instructions
> >   kvm: extend kvm_irqchip_add_msi_route to work on s390
> > 
> > If so I would post V2 of the initial patch set including all changes.
> 
> Cornelia is the maintainer here, so you'll need to ask her :). Anything
> that doesn't break bisectability is certainly better than code that
> breaks it.
>

OK. Coni what do you prefere?
 
> By squashing all those patches together you'll make bisecting harder for
> s390 - if you can live with it so can I.
> 
> 
> Alex
>
Cornelia Huck Dec. 16, 2014, 12:13 p.m. UTC | #5
On Tue, 16 Dec 2014 12:46:49 +0100
Frank Blaschka <blaschka@linux.vnet.ibm.com> wrote:

> On Tue, Dec 16, 2014 at 11:35:19AM +0100, Alexander Graf wrote:
> > 
> > 
> > 
> > > Am 16.12.2014 um 10:28 schrieb Frank Blaschka <blaschka@linux.vnet.ibm.com>:
> > > 
> > > From: Frank Blaschka <frank.blaschka@de.ibm.com>
> > > 
> > > Remove unnecessary and wrong includes. Fix get_rt_sto and
> > > get_st_pto to build on 32-bit.
> > > 
> > > Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
> > 
> > Could you please roll the fixes into the offending patches and repost the set? Otherwise we break bisectability on 32bit hosts.
> >
> 
> Sure, but since this is an initial drop and I have to touch the patches anyhow can I merge all
> add-ons and fixes to the initial patch set?
> 
> I would like to end up finally with just 3 patches:
> 
>   s390: Add PCI bus support
>   s390: implement pci instructions
>   kvm: extend kvm_irqchip_add_msi_route to work on s390
> 
> If so I would post V2 of the initial patch set including all changes.

As you need to repost anyway, posting a cleaned-up series is fine with
me. You also have my ack on merging the MAINTAINERS patch :)
diff mbox

Patch

diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index c1b57d0..c9c06e6 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -11,13 +11,10 @@ 
  * directory.
  */
 
-#include <hw/pci/pci.h>
+#include "s390-pci-bus.h"
 #include <hw/pci/pci_bus.h>
-#include <hw/s390x/css.h>
-#include <hw/s390x/sclp.h>
 #include <hw/pci/msi.h>
-#include "qemu/error-report.h"
-#include "s390-pci-bus.h"
+#include <qemu/error-report.h>
 
 /* #define DEBUG_S390PCI_BUS */
 #ifdef DEBUG_S390PCI_BUS
@@ -253,18 +250,18 @@  static unsigned int calc_px(dma_addr_t ptr)
     return ((unsigned long) ptr >> PAGE_SHIFT) & ZPCI_PT_MASK;
 }
 
-static unsigned long *get_rt_sto(unsigned long entry)
+static uint64_t get_rt_sto(uint64_t entry)
 {
     return ((entry & ZPCI_TABLE_TYPE_MASK) == ZPCI_TABLE_TYPE_RTX)
-                ? (unsigned long *) (entry & ZPCI_RTE_ADDR_MASK)
-                : NULL;
+                ? (entry & ZPCI_RTE_ADDR_MASK)
+                : 0;
 }
 
-static unsigned long *get_st_pto(unsigned long entry)
+static uint64_t get_st_pto(uint64_t entry)
 {
     return ((entry & ZPCI_TABLE_TYPE_MASK) == ZPCI_TABLE_TYPE_SX)
-            ? (unsigned long *) (entry & ZPCI_STE_ADDR_MASK)
-            : NULL;
+            ? (entry & ZPCI_STE_ADDR_MASK)
+            : 0;
 }
 
 static uint64_t s390_guest_io_table_walk(uint64_t guest_iota,
@@ -280,7 +277,7 @@  static uint64_t s390_guest_io_table_walk(uint64_t guest_iota,
 
     sto_a = guest_iota + rtx * sizeof(uint64_t);
     sto = ldq_phys(&address_space_memory, sto_a);
-    sto = (uint64_t)get_rt_sto(sto);
+    sto = get_rt_sto(sto);
     if (!sto) {
         pte = 0;
         goto out;
@@ -288,7 +285,7 @@  static uint64_t s390_guest_io_table_walk(uint64_t guest_iota,
 
     pto_a = sto + sx * sizeof(uint64_t);
     pto = ldq_phys(&address_space_memory, pto_a);
-    pto = (uint64_t)get_st_pto(pto);
+    pto = get_st_pto(pto);
     if (!pto) {
         pte = 0;
         goto out;
@@ -322,7 +319,7 @@  static IOMMUTLBEntry s390_translate_iommu(MemoryRegion *iommu, hwaddr addr,
     /* s390 does not have an APIC maped to main storage so we use
      * a separate AddressSpace only for msix notifications
      */
-    if (addr == ZPCI_MSI_ADDR) {
+    if (((uint64_t)addr) == ZPCI_MSI_ADDR) {
         ret.target_as = &s->msix_notify_as;
         ret.iova = addr;
         ret.translated_addr = addr;
diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c
index 83ab60f..d486cbb 100644
--- a/hw/s390x/s390-pci-inst.c
+++ b/hw/s390x/s390-pci-inst.c
@@ -11,34 +11,10 @@ 
  * directory.
  */
 
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/mman.h>
-
-#include <linux/kvm.h>
-#include <asm/ptrace.h>
-#include <hw/pci/pci.h>
-#include <hw/pci/pci_host.h>
-#include <net/net.h>
-
-#include "qemu-common.h"
-#include "qemu/timer.h"
-#include "migration/qemu-file.h"
-#include "sysemu/sysemu.h"
-#include "sysemu/kvm.h"
-#include "cpu.h"
-#include "sysemu/device_tree.h"
-#include "monitor/monitor.h"
 #include "s390-pci-inst.h"
-
-#include "hw/hw.h"
-#include "hw/pci/pci.h"
-#include "hw/pci/pci_bridge.h"
-#include "hw/pci/pci_bus.h"
-#include "hw/pci/pci_host.h"
-#include "hw/s390x/s390-pci-bus.h"
-#include "exec/exec-all.h"
-#include "exec/memory-internal.h"
+#include "s390-pci-bus.h"
+#include <exec/memory-internal.h>
+#include <qemu/error-report.h>
 
 /* #define DEBUG_S390PCI_INST */
 #ifdef DEBUG_S390PCI_INST