Message ID | 1381295322-7197-1-git-send-email-Bharat.Bhushan@freescale.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 41b93b238ab394c8cf0935ec3ba31c700a2b3b25 |
Headers | show |
Oops it came as 1/4, I am sorry, please ignore this Thanks -Bharat > -----Original Message----- > From: Bhushan Bharat-R65777 > Sent: Wednesday, October 09, 2013 10:39 AM > To: Wood Scott-B07421; linuxppc-dev@lists.ozlabs.org; benh@kernel.crashing.org > Cc: Bhushan Bharat-R65777; Bhushan Bharat-R65777 > Subject: [PATCH 1/4] powerpc: Added __cmpdi2 for signed 64bit comparision > > This was missing on powerpc and I am getting compilation error > drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2' > drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2' > > Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> > --- > arch/powerpc/kernel/misc_32.S | 14 ++++++++++++++ > arch/powerpc/kernel/ppc_ksyms.c | 2 ++ > 2 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index > 777d999..7c0eec2 100644 > --- a/arch/powerpc/kernel/misc_32.S > +++ b/arch/powerpc/kernel/misc_32.S > @@ -644,6 +644,20 @@ _GLOBAL(__lshrdi3) > blr > > /* > + * 64-bit comparison: __cmpdi2(s64 a, s64 b) > + * Returns 0 if a < b, 1 if a == b, 2 if a > b. > + */ > +_GLOBAL(__cmpdi2) > + cmpw r3,r5 > + li r3,1 > + bne 1f > + cmplw r4,r6 > + beqlr > +1: li r3,0 > + bltlr > + li r3,2 > + blr > +/* > * 64-bit comparison: __ucmpdi2(u64 a, u64 b) > * Returns 0 if a < b, 1 if a == b, 2 if a > b. > */ > diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c > index 21646db..5674c00 100644 > --- a/arch/powerpc/kernel/ppc_ksyms.c > +++ b/arch/powerpc/kernel/ppc_ksyms.c > @@ -143,6 +143,8 @@ EXPORT_SYMBOL(__ashldi3); EXPORT_SYMBOL(__lshrdi3); int > __ucmpdi2(unsigned long long, unsigned long long); EXPORT_SYMBOL(__ucmpdi2); > +int __cmpdi2(long long, long long); > +EXPORT_SYMBOL(__cmpdi2); > #endif > long long __bswapdi2(long long); > EXPORT_SYMBOL(__bswapdi2); > -- > 1.7.0.4
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 777d999..7c0eec2 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S @@ -644,6 +644,20 @@ _GLOBAL(__lshrdi3) blr /* + * 64-bit comparison: __cmpdi2(s64 a, s64 b) + * Returns 0 if a < b, 1 if a == b, 2 if a > b. + */ +_GLOBAL(__cmpdi2) + cmpw r3,r5 + li r3,1 + bne 1f + cmplw r4,r6 + beqlr +1: li r3,0 + bltlr + li r3,2 + blr +/* * 64-bit comparison: __ucmpdi2(u64 a, u64 b) * Returns 0 if a < b, 1 if a == b, 2 if a > b. */ diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index 21646db..5674c00 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c @@ -143,6 +143,8 @@ EXPORT_SYMBOL(__ashldi3); EXPORT_SYMBOL(__lshrdi3); int __ucmpdi2(unsigned long long, unsigned long long); EXPORT_SYMBOL(__ucmpdi2); +int __cmpdi2(long long, long long); +EXPORT_SYMBOL(__cmpdi2); #endif long long __bswapdi2(long long); EXPORT_SYMBOL(__bswapdi2);
This was missing on powerpc and I am getting compilation error drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2' drivers/vfio/pci/vfio_pci_rdwr.c:193: undefined reference to `__cmpdi2' Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> --- arch/powerpc/kernel/misc_32.S | 14 ++++++++++++++ arch/powerpc/kernel/ppc_ksyms.c | 2 ++ 2 files changed, 16 insertions(+), 0 deletions(-)