diff mbox

[5/7] iommu: supress loff_t compilation error on powerpc

Message ID 1379575763-2091-6-git-send-email-Bharat.Bhushan@freescale.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Bharat Bhushan Sept. 19, 2013, 7:29 a.m. UTC
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
---
 drivers/vfio/pci/vfio_pci_rdwr.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

Alex Williamson Sept. 25, 2013, 4:40 p.m. UTC | #1
On Thu, 2013-09-19 at 12:59 +0530, Bharat Bhushan wrote:
> Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> ---
>  drivers/vfio/pci/vfio_pci_rdwr.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
> index 210db24..8a8156a 100644
> --- a/drivers/vfio/pci/vfio_pci_rdwr.c
> +++ b/drivers/vfio/pci/vfio_pci_rdwr.c
> @@ -181,7 +181,8 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char __user *buf,
>  			       size_t count, loff_t *ppos, bool iswrite)
>  {
>  	int ret;
> -	loff_t off, pos = *ppos & VFIO_PCI_OFFSET_MASK;
> +	loff_t off;
> +	u64 pos = (u64 )(*ppos & VFIO_PCI_OFFSET_MASK);
>  	void __iomem *iomem = NULL;
>  	unsigned int rsrc;
>  	bool is_ioport;

What's the compile error that this fixes?

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bharat Bhushan Sept. 26, 2013, 3:53 a.m. UTC | #2
> -----Original Message-----

> From: Alex Williamson [mailto:alex.williamson@redhat.com]

> Sent: Wednesday, September 25, 2013 10:10 PM

> To: Bhushan Bharat-R65777

> Cc: joro@8bytes.org; benh@kernel.crashing.org; galak@kernel.crashing.org; linux-

> kernel@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; linux-

> pci@vger.kernel.org; agraf@suse.de; Wood Scott-B07421; iommu@lists.linux-

> foundation.org; Bhushan Bharat-R65777

> Subject: Re: [PATCH 5/7] iommu: supress loff_t compilation error on powerpc

> 

> On Thu, 2013-09-19 at 12:59 +0530, Bharat Bhushan wrote:

> > Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>

> > ---

> >  drivers/vfio/pci/vfio_pci_rdwr.c |    3 ++-

> >  1 files changed, 2 insertions(+), 1 deletions(-)

> >

> > diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c

> > b/drivers/vfio/pci/vfio_pci_rdwr.c

> > index 210db24..8a8156a 100644

> > --- a/drivers/vfio/pci/vfio_pci_rdwr.c

> > +++ b/drivers/vfio/pci/vfio_pci_rdwr.c

> > @@ -181,7 +181,8 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char

> __user *buf,

> >  			       size_t count, loff_t *ppos, bool iswrite)  {

> >  	int ret;

> > -	loff_t off, pos = *ppos & VFIO_PCI_OFFSET_MASK;

> > +	loff_t off;

> > +	u64 pos = (u64 )(*ppos & VFIO_PCI_OFFSET_MASK);

> >  	void __iomem *iomem = NULL;

> >  	unsigned int rsrc;

> >  	bool is_ioport;

> 

> What's the compile error that this fixes?


I was getting below error; and after some googling I came to know that this is how it is fixed by other guys.

/home/r65777/linux-vfio/drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'
/home/r65777/linux-vfio/drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'

Thanks
-Bharat
>
Scott Wood Sept. 26, 2013, 10:20 p.m. UTC | #3
On Wed, 2013-09-25 at 22:53 -0500, Bhushan Bharat-R65777 wrote:
> 
> > -----Original Message-----
> > From: Alex Williamson [mailto:alex.williamson@redhat.com]
> > Sent: Wednesday, September 25, 2013 10:10 PM
> > To: Bhushan Bharat-R65777
> > Cc: joro@8bytes.org; benh@kernel.crashing.org; galak@kernel.crashing.org; linux-
> > kernel@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; linux-
> > pci@vger.kernel.org; agraf@suse.de; Wood Scott-B07421; iommu@lists.linux-
> > foundation.org; Bhushan Bharat-R65777
> > Subject: Re: [PATCH 5/7] iommu: supress loff_t compilation error on powerpc
> > 
> > On Thu, 2013-09-19 at 12:59 +0530, Bharat Bhushan wrote:
> > > Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
> > > ---
> > >  drivers/vfio/pci/vfio_pci_rdwr.c |    3 ++-
> > >  1 files changed, 2 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c
> > > b/drivers/vfio/pci/vfio_pci_rdwr.c
> > > index 210db24..8a8156a 100644
> > > --- a/drivers/vfio/pci/vfio_pci_rdwr.c
> > > +++ b/drivers/vfio/pci/vfio_pci_rdwr.c
> > > @@ -181,7 +181,8 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char
> > __user *buf,
> > >  			       size_t count, loff_t *ppos, bool iswrite)  {
> > >  	int ret;
> > > -	loff_t off, pos = *ppos & VFIO_PCI_OFFSET_MASK;
> > > +	loff_t off;
> > > +	u64 pos = (u64 )(*ppos & VFIO_PCI_OFFSET_MASK);
> > >  	void __iomem *iomem = NULL;
> > >  	unsigned int rsrc;
> > >  	bool is_ioport;
> > 
> > What's the compile error that this fixes?
> 
> I was getting below error; and after some googling I came to know that this is how it is fixed by other guys.
> 
> /home/r65777/linux-vfio/drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'
> /home/r65777/linux-vfio/drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2'

It looks like PPC Linux implements __ucmpdi2, but not the signed
version.  That should be fixed, rather than hacking up random code to
avoid it.

-Scott



--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
index 210db24..8a8156a 100644
--- a/drivers/vfio/pci/vfio_pci_rdwr.c
+++ b/drivers/vfio/pci/vfio_pci_rdwr.c
@@ -181,7 +181,8 @@  ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char __user *buf,
 			       size_t count, loff_t *ppos, bool iswrite)
 {
 	int ret;
-	loff_t off, pos = *ppos & VFIO_PCI_OFFSET_MASK;
+	loff_t off;
+	u64 pos = (u64 )(*ppos & VFIO_PCI_OFFSET_MASK);
 	void __iomem *iomem = NULL;
 	unsigned int rsrc;
 	bool is_ioport;