All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] MIPS: use generic GCC library routines from lib/
@ 2018-01-31 15:33 Antony Pavlov
  2018-01-31 15:33 ` [PATCH v3 1/2] Add notrace to lib/ucmpdi2.c Antony Pavlov
  2018-01-31 15:33 ` [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
  0 siblings, 2 replies; 15+ messages in thread
From: Antony Pavlov @ 2018-01-31 15:33 UTC (permalink / raw)
  To: linux-mips; +Cc: James Hogan, Ralf Baechle, linux-kernel

Changes since v2 patch series (https://www.linux-mips.org/archives/linux-mips/2018-01/msg00567.html):

  * sort the CONFIG_GENERIC_* options in arch/mips/Kconfig alphabetically (v2).

Changes since v1 patch series (https://www.linux-mips.org/archives/linux-mips/2018-01/msg00394.html):

  * sort the CONFIG_* options in arch/mips/Kconfig alphabetically;
  * add notrace to lib/ucmpdi2.c.

Antony Pavlov (1):
  MIPS: use generic GCC library routines from lib/

Palmer Dabbelt (1):
  Add notrace to lib/ucmpdi2.c

 arch/mips/Kconfig       |  5 +++++
 arch/mips/lib/Makefile  |  2 +-
 arch/mips/lib/ashldi3.c | 30 ------------------------------
 arch/mips/lib/ashrdi3.c | 32 --------------------------------
 arch/mips/lib/cmpdi2.c  | 28 ----------------------------
 arch/mips/lib/lshrdi3.c | 30 ------------------------------
 arch/mips/lib/ucmpdi2.c | 22 ----------------------
 lib/ucmpdi2.c           |  2 +-
 8 files changed, 7 insertions(+), 144 deletions(-)
 delete mode 100644 arch/mips/lib/ashldi3.c
 delete mode 100644 arch/mips/lib/ashrdi3.c
 delete mode 100644 arch/mips/lib/cmpdi2.c
 delete mode 100644 arch/mips/lib/lshrdi3.c
 delete mode 100644 arch/mips/lib/ucmpdi2.c

-- 
2.15.1

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

* [PATCH v3 1/2] Add notrace to lib/ucmpdi2.c
  2018-01-31 15:33 [PATCH v3 0/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
@ 2018-01-31 15:33 ` Antony Pavlov
  2018-01-31 15:33 ` [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
  1 sibling, 0 replies; 15+ messages in thread
From: Antony Pavlov @ 2018-01-31 15:33 UTC (permalink / raw)
  To: linux-mips
  Cc: James Hogan, Ralf Baechle, linux-kernel, Palmer Dabbelt, Matt Redfearn

From: Palmer Dabbelt <palmer@sifive.com>

As part of the MIPS conversion to use the generic GCC library routines,
Matt Redfearn discovered that I'd missed a notrace on __ucmpdi2().  This
patch rectifies the problem.

CC: Matt Redfearn <matt.redfearn@mips.com>
CC: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Reviewed-by: Matt Redfearn <amtt.redfearn@mips.com>
---
 lib/ucmpdi2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ucmpdi2.c b/lib/ucmpdi2.c
index 25ca2d4c1e19..597998169a96 100644
--- a/lib/ucmpdi2.c
+++ b/lib/ucmpdi2.c
@@ -17,7 +17,7 @@
 #include <linux/module.h>
 #include <linux/libgcc.h>
 
-word_type __ucmpdi2(unsigned long long a, unsigned long long b)
+word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
 {
 	const DWunion au = {.ll = a};
 	const DWunion bu = {.ll = b};
-- 
2.15.1

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

* [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/
  2018-01-31 15:33 [PATCH v3 0/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
  2018-01-31 15:33 ` [PATCH v3 1/2] Add notrace to lib/ucmpdi2.c Antony Pavlov
@ 2018-01-31 15:33 ` Antony Pavlov
  2018-01-31 16:07     ` Matt Redfearn
  1 sibling, 1 reply; 15+ messages in thread
From: Antony Pavlov @ 2018-01-31 15:33 UTC (permalink / raw)
  To: linux-mips
  Cc: James Hogan, Ralf Baechle, linux-kernel, Palmer Dabbelt, Matt Redfearn

The commit b35cd9884fa5 ("lib: Add shared copies of
some GCC library routines") makes it possible
to share generic GCC library routines by several
architectures.

This commit removes several generic GCC library
routines from arch/mips/lib/ in favour of similar
routines from lib/.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Matt Redfearn <matt.redfearn@mips.com>
Cc: James Hogan <jhogan@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
---
 arch/mips/Kconfig       |  5 +++++
 arch/mips/lib/Makefile  |  2 +-
 arch/mips/lib/ashldi3.c | 30 ------------------------------
 arch/mips/lib/ashrdi3.c | 32 --------------------------------
 arch/mips/lib/cmpdi2.c  | 28 ----------------------------
 arch/mips/lib/lshrdi3.c | 30 ------------------------------
 arch/mips/lib/ucmpdi2.c | 22 ----------------------
 7 files changed, 6 insertions(+), 143 deletions(-)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 350a990fc719..b63a5422d485 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -18,16 +18,21 @@ config MIPS
 	select BUILDTIME_EXTABLE_SORT
 	select CLONE_BACKWARDS
 	select CPU_PM if CPU_IDLE
+	select GENERIC_ASHLDI3
+	select GENERIC_ASHRDI3
 	select GENERIC_ATOMIC64 if !64BIT
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CMOS_UPDATE
+	select GENERIC_CMPDI2
 	select GENERIC_CPU_AUTOPROBE
 	select GENERIC_IRQ_PROBE
 	select GENERIC_IRQ_SHOW
+	select GENERIC_LSHRDI3
 	select GENERIC_PCI_IOMAP
 	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
 	select GENERIC_SMP_IDLE_THREAD
 	select GENERIC_TIME_VSYSCALL
+	select GENERIC_UCMPDI2
 	select HANDLE_DOMAIN_IRQ
 	select HAVE_ARCH_JUMP_LABEL
 	select HAVE_ARCH_KGDB
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 78c2affeabf8..195ab4cb0840 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -16,4 +16,4 @@ obj-$(CONFIG_CPU_R3000)		+= r3k_dump_tlb.o
 obj-$(CONFIG_CPU_TX39XX)	+= r3k_dump_tlb.o
 
 # libgcc-style stuff needed in the kernel
-obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
+obj-y += bswapsi.o bswapdi.o
diff --git a/arch/mips/lib/ashldi3.c b/arch/mips/lib/ashldi3.c
deleted file mode 100644
index 24cd6903e797..000000000000
--- a/arch/mips/lib/ashldi3.c
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-long long notrace __ashldi3(long long u, word_type b)
-{
-	DWunion uu, w;
-	word_type bm;
-
-	if (b == 0)
-		return u;
-
-	uu.ll = u;
-	bm = 32 - b;
-
-	if (bm <= 0) {
-		w.s.low = 0;
-		w.s.high = (unsigned int) uu.s.low << -bm;
-	} else {
-		const unsigned int carries = (unsigned int) uu.s.low >> bm;
-
-		w.s.low = (unsigned int) uu.s.low << b;
-		w.s.high = ((unsigned int) uu.s.high << b) | carries;
-	}
-
-	return w.ll;
-}
-
-EXPORT_SYMBOL(__ashldi3);
diff --git a/arch/mips/lib/ashrdi3.c b/arch/mips/lib/ashrdi3.c
deleted file mode 100644
index 23f5295af51e..000000000000
--- a/arch/mips/lib/ashrdi3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-long long notrace __ashrdi3(long long u, word_type b)
-{
-	DWunion uu, w;
-	word_type bm;
-
-	if (b == 0)
-		return u;
-
-	uu.ll = u;
-	bm = 32 - b;
-
-	if (bm <= 0) {
-		/* w.s.high = 1..1 or 0..0 */
-		w.s.high =
-		    uu.s.high >> 31;
-		w.s.low = uu.s.high >> -bm;
-	} else {
-		const unsigned int carries = (unsigned int) uu.s.high << bm;
-
-		w.s.high = uu.s.high >> b;
-		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
-	}
-
-	return w.ll;
-}
-
-EXPORT_SYMBOL(__ashrdi3);
diff --git a/arch/mips/lib/cmpdi2.c b/arch/mips/lib/cmpdi2.c
deleted file mode 100644
index 93cfc785927d..000000000000
--- a/arch/mips/lib/cmpdi2.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-word_type notrace __cmpdi2(long long a, long long b)
-{
-	const DWunion au = {
-		.ll = a
-	};
-	const DWunion bu = {
-		.ll = b
-	};
-
-	if (au.s.high < bu.s.high)
-		return 0;
-	else if (au.s.high > bu.s.high)
-		return 2;
-
-	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
-		return 0;
-	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
-		return 2;
-
-	return 1;
-}
-
-EXPORT_SYMBOL(__cmpdi2);
diff --git a/arch/mips/lib/lshrdi3.c b/arch/mips/lib/lshrdi3.c
deleted file mode 100644
index 914b971aca3b..000000000000
--- a/arch/mips/lib/lshrdi3.c
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-long long notrace __lshrdi3(long long u, word_type b)
-{
-	DWunion uu, w;
-	word_type bm;
-
-	if (b == 0)
-		return u;
-
-	uu.ll = u;
-	bm = 32 - b;
-
-	if (bm <= 0) {
-		w.s.high = 0;
-		w.s.low = (unsigned int) uu.s.high >> -bm;
-	} else {
-		const unsigned int carries = (unsigned int) uu.s.high << bm;
-
-		w.s.high = (unsigned int) uu.s.high >> b;
-		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
-	}
-
-	return w.ll;
-}
-
-EXPORT_SYMBOL(__lshrdi3);
diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
deleted file mode 100644
index c31c78ca4175..000000000000
--- a/arch/mips/lib/ucmpdi2.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
-{
-	const DWunion au = {.ll = a};
-	const DWunion bu = {.ll = b};
-
-	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
-		return 0;
-	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
-		return 2;
-	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
-		return 0;
-	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
-		return 2;
-	return 1;
-}
-
-EXPORT_SYMBOL(__ucmpdi2);
-- 
2.15.1

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

* Re: [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/
@ 2018-01-31 16:07     ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-01-31 16:07 UTC (permalink / raw)
  To: Antony Pavlov, linux-mips
  Cc: James Hogan, Ralf Baechle, linux-kernel, Palmer Dabbelt

Hi,

On 31/01/18 15:33, Antony Pavlov wrote:
> The commit b35cd9884fa5 ("lib: Add shared copies of
> some GCC library routines") makes it possible
> to share generic GCC library routines by several
> architectures.
> 
> This commit removes several generic GCC library
> routines from arch/mips/lib/ in favour of similar
> routines from lib/.
> 
> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
> Cc: Palmer Dabbelt <palmer@sifive.com>
> Cc: Matt Redfearn <matt.redfearn@mips.com>
> Cc: James Hogan <jhogan@kernel.org>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: linux-mips@linux-mips.org
> Cc: linux-kernel@vger.kernel.org
> ---
>   arch/mips/Kconfig       |  5 +++++
>   arch/mips/lib/Makefile  |  2 +-
>   arch/mips/lib/ashldi3.c | 30 ------------------------------
>   arch/mips/lib/ashrdi3.c | 32 --------------------------------
>   arch/mips/lib/cmpdi2.c  | 28 ----------------------------
>   arch/mips/lib/lshrdi3.c | 30 ------------------------------
>   arch/mips/lib/ucmpdi2.c | 22 ----------------------
>   7 files changed, 6 insertions(+), 143 deletions(-)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 350a990fc719..b63a5422d485 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -18,16 +18,21 @@ config MIPS
>   	select BUILDTIME_EXTABLE_SORT
>   	select CLONE_BACKWARDS
>   	select CPU_PM if CPU_IDLE
> +	select GENERIC_ASHLDI3
> +	select GENERIC_ASHRDI3
>   	select GENERIC_ATOMIC64 if !64BIT
>   	select GENERIC_CLOCKEVENTS
>   	select GENERIC_CMOS_UPDATE
> +	select GENERIC_CMPDI2
>   	select GENERIC_CPU_AUTOPROBE
>   	select GENERIC_IRQ_PROBE
>   	select GENERIC_IRQ_SHOW
> +	select GENERIC_LSHRDI3
>   	select GENERIC_PCI_IOMAP
>   	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
> +	select GENERIC_UCMPDI2
>   	select HANDLE_DOMAIN_IRQ
>   	select HAVE_ARCH_JUMP_LABEL
>   	select HAVE_ARCH_KGDB

OK, thanks for changing this. But to be honest, it does look pretty 
messy like this. I feel like the CONFIG names should be something a 
little more descriptive, such as CONFIG_GENERIC_LIB_*, putting them in a 
namespace that would at least group them all together. Right now, AFAIK 
there's only RISC-V using these so it shouldn't be too painful to change 
them. What do you think Antony / Palmer?

Thanks,
Matt


> diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
> index 78c2affeabf8..195ab4cb0840 100644
> --- a/arch/mips/lib/Makefile
> +++ b/arch/mips/lib/Makefile
> @@ -16,4 +16,4 @@ obj-$(CONFIG_CPU_R3000)		+= r3k_dump_tlb.o
>   obj-$(CONFIG_CPU_TX39XX)	+= r3k_dump_tlb.o
>   
>   # libgcc-style stuff needed in the kernel
> -obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
> +obj-y += bswapsi.o bswapdi.o
> diff --git a/arch/mips/lib/ashldi3.c b/arch/mips/lib/ashldi3.c
> deleted file mode 100644
> index 24cd6903e797..000000000000
> --- a/arch/mips/lib/ashldi3.c
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __ashldi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		w.s.low = 0;
> -		w.s.high = (unsigned int) uu.s.low << -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.low >> bm;
> -
> -		w.s.low = (unsigned int) uu.s.low << b;
> -		w.s.high = ((unsigned int) uu.s.high << b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__ashldi3);
> diff --git a/arch/mips/lib/ashrdi3.c b/arch/mips/lib/ashrdi3.c
> deleted file mode 100644
> index 23f5295af51e..000000000000
> --- a/arch/mips/lib/ashrdi3.c
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __ashrdi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		/* w.s.high = 1..1 or 0..0 */
> -		w.s.high =
> -		    uu.s.high >> 31;
> -		w.s.low = uu.s.high >> -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
> -
> -		w.s.high = uu.s.high >> b;
> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__ashrdi3);
> diff --git a/arch/mips/lib/cmpdi2.c b/arch/mips/lib/cmpdi2.c
> deleted file mode 100644
> index 93cfc785927d..000000000000
> --- a/arch/mips/lib/cmpdi2.c
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -word_type notrace __cmpdi2(long long a, long long b)
> -{
> -	const DWunion au = {
> -		.ll = a
> -	};
> -	const DWunion bu = {
> -		.ll = b
> -	};
> -
> -	if (au.s.high < bu.s.high)
> -		return 0;
> -	else if (au.s.high > bu.s.high)
> -		return 2;
> -
> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
> -		return 0;
> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
> -		return 2;
> -
> -	return 1;
> -}
> -
> -EXPORT_SYMBOL(__cmpdi2);
> diff --git a/arch/mips/lib/lshrdi3.c b/arch/mips/lib/lshrdi3.c
> deleted file mode 100644
> index 914b971aca3b..000000000000
> --- a/arch/mips/lib/lshrdi3.c
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __lshrdi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		w.s.high = 0;
> -		w.s.low = (unsigned int) uu.s.high >> -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
> -
> -		w.s.high = (unsigned int) uu.s.high >> b;
> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__lshrdi3);
> diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
> deleted file mode 100644
> index c31c78ca4175..000000000000
> --- a/arch/mips/lib/ucmpdi2.c
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
> -{
> -	const DWunion au = {.ll = a};
> -	const DWunion bu = {.ll = b};
> -
> -	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
> -		return 0;
> -	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
> -		return 2;
> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
> -		return 0;
> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
> -		return 2;
> -	return 1;
> -}
> -
> -EXPORT_SYMBOL(__ucmpdi2);
> 

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

* Re: [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/
@ 2018-01-31 16:07     ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-01-31 16:07 UTC (permalink / raw)
  To: Antony Pavlov, linux-mips
  Cc: James Hogan, Ralf Baechle, linux-kernel, Palmer Dabbelt

Hi,

On 31/01/18 15:33, Antony Pavlov wrote:
> The commit b35cd9884fa5 ("lib: Add shared copies of
> some GCC library routines") makes it possible
> to share generic GCC library routines by several
> architectures.
> 
> This commit removes several generic GCC library
> routines from arch/mips/lib/ in favour of similar
> routines from lib/.
> 
> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
> Cc: Palmer Dabbelt <palmer@sifive.com>
> Cc: Matt Redfearn <matt.redfearn@mips.com>
> Cc: James Hogan <jhogan@kernel.org>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: linux-mips@linux-mips.org
> Cc: linux-kernel@vger.kernel.org
> ---
>   arch/mips/Kconfig       |  5 +++++
>   arch/mips/lib/Makefile  |  2 +-
>   arch/mips/lib/ashldi3.c | 30 ------------------------------
>   arch/mips/lib/ashrdi3.c | 32 --------------------------------
>   arch/mips/lib/cmpdi2.c  | 28 ----------------------------
>   arch/mips/lib/lshrdi3.c | 30 ------------------------------
>   arch/mips/lib/ucmpdi2.c | 22 ----------------------
>   7 files changed, 6 insertions(+), 143 deletions(-)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 350a990fc719..b63a5422d485 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -18,16 +18,21 @@ config MIPS
>   	select BUILDTIME_EXTABLE_SORT
>   	select CLONE_BACKWARDS
>   	select CPU_PM if CPU_IDLE
> +	select GENERIC_ASHLDI3
> +	select GENERIC_ASHRDI3
>   	select GENERIC_ATOMIC64 if !64BIT
>   	select GENERIC_CLOCKEVENTS
>   	select GENERIC_CMOS_UPDATE
> +	select GENERIC_CMPDI2
>   	select GENERIC_CPU_AUTOPROBE
>   	select GENERIC_IRQ_PROBE
>   	select GENERIC_IRQ_SHOW
> +	select GENERIC_LSHRDI3
>   	select GENERIC_PCI_IOMAP
>   	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
> +	select GENERIC_UCMPDI2
>   	select HANDLE_DOMAIN_IRQ
>   	select HAVE_ARCH_JUMP_LABEL
>   	select HAVE_ARCH_KGDB

OK, thanks for changing this. But to be honest, it does look pretty 
messy like this. I feel like the CONFIG names should be something a 
little more descriptive, such as CONFIG_GENERIC_LIB_*, putting them in a 
namespace that would at least group them all together. Right now, AFAIK 
there's only RISC-V using these so it shouldn't be too painful to change 
them. What do you think Antony / Palmer?

Thanks,
Matt


> diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
> index 78c2affeabf8..195ab4cb0840 100644
> --- a/arch/mips/lib/Makefile
> +++ b/arch/mips/lib/Makefile
> @@ -16,4 +16,4 @@ obj-$(CONFIG_CPU_R3000)		+= r3k_dump_tlb.o
>   obj-$(CONFIG_CPU_TX39XX)	+= r3k_dump_tlb.o
>   
>   # libgcc-style stuff needed in the kernel
> -obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
> +obj-y += bswapsi.o bswapdi.o
> diff --git a/arch/mips/lib/ashldi3.c b/arch/mips/lib/ashldi3.c
> deleted file mode 100644
> index 24cd6903e797..000000000000
> --- a/arch/mips/lib/ashldi3.c
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __ashldi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		w.s.low = 0;
> -		w.s.high = (unsigned int) uu.s.low << -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.low >> bm;
> -
> -		w.s.low = (unsigned int) uu.s.low << b;
> -		w.s.high = ((unsigned int) uu.s.high << b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__ashldi3);
> diff --git a/arch/mips/lib/ashrdi3.c b/arch/mips/lib/ashrdi3.c
> deleted file mode 100644
> index 23f5295af51e..000000000000
> --- a/arch/mips/lib/ashrdi3.c
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __ashrdi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		/* w.s.high = 1..1 or 0..0 */
> -		w.s.high =
> -		    uu.s.high >> 31;
> -		w.s.low = uu.s.high >> -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
> -
> -		w.s.high = uu.s.high >> b;
> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__ashrdi3);
> diff --git a/arch/mips/lib/cmpdi2.c b/arch/mips/lib/cmpdi2.c
> deleted file mode 100644
> index 93cfc785927d..000000000000
> --- a/arch/mips/lib/cmpdi2.c
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -word_type notrace __cmpdi2(long long a, long long b)
> -{
> -	const DWunion au = {
> -		.ll = a
> -	};
> -	const DWunion bu = {
> -		.ll = b
> -	};
> -
> -	if (au.s.high < bu.s.high)
> -		return 0;
> -	else if (au.s.high > bu.s.high)
> -		return 2;
> -
> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
> -		return 0;
> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
> -		return 2;
> -
> -	return 1;
> -}
> -
> -EXPORT_SYMBOL(__cmpdi2);
> diff --git a/arch/mips/lib/lshrdi3.c b/arch/mips/lib/lshrdi3.c
> deleted file mode 100644
> index 914b971aca3b..000000000000
> --- a/arch/mips/lib/lshrdi3.c
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -long long notrace __lshrdi3(long long u, word_type b)
> -{
> -	DWunion uu, w;
> -	word_type bm;
> -
> -	if (b == 0)
> -		return u;
> -
> -	uu.ll = u;
> -	bm = 32 - b;
> -
> -	if (bm <= 0) {
> -		w.s.high = 0;
> -		w.s.low = (unsigned int) uu.s.high >> -bm;
> -	} else {
> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
> -
> -		w.s.high = (unsigned int) uu.s.high >> b;
> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
> -	}
> -
> -	return w.ll;
> -}
> -
> -EXPORT_SYMBOL(__lshrdi3);
> diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
> deleted file mode 100644
> index c31c78ca4175..000000000000
> --- a/arch/mips/lib/ucmpdi2.c
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/export.h>
> -
> -#include "libgcc.h"
> -
> -word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
> -{
> -	const DWunion au = {.ll = a};
> -	const DWunion bu = {.ll = b};
> -
> -	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
> -		return 0;
> -	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
> -		return 2;
> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
> -		return 0;
> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
> -		return 2;
> -	return 1;
> -}
> -
> -EXPORT_SYMBOL(__ucmpdi2);
> 

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

* Re: [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/
  2018-01-31 16:07     ` Matt Redfearn
  (?)
@ 2018-02-08 17:34     ` Palmer Dabbelt
  2018-02-09 13:22         ` Matt Redfearn
  -1 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-02-08 17:34 UTC (permalink / raw)
  To: matt.redfearn; +Cc: antonynpavlov, linux-mips, jhogan, ralf, linux-kernel

On Wed, 31 Jan 2018 08:07:51 PST (-0800), matt.redfearn@mips.com wrote:
> Hi,
>
> On 31/01/18 15:33, Antony Pavlov wrote:
>> The commit b35cd9884fa5 ("lib: Add shared copies of
>> some GCC library routines") makes it possible
>> to share generic GCC library routines by several
>> architectures.
>>
>> This commit removes several generic GCC library
>> routines from arch/mips/lib/ in favour of similar
>> routines from lib/.
>>
>> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
>> Cc: Palmer Dabbelt <palmer@sifive.com>
>> Cc: Matt Redfearn <matt.redfearn@mips.com>
>> Cc: James Hogan <jhogan@kernel.org>
>> Cc: Ralf Baechle <ralf@linux-mips.org>
>> Cc: linux-mips@linux-mips.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>>   arch/mips/Kconfig       |  5 +++++
>>   arch/mips/lib/Makefile  |  2 +-
>>   arch/mips/lib/ashldi3.c | 30 ------------------------------
>>   arch/mips/lib/ashrdi3.c | 32 --------------------------------
>>   arch/mips/lib/cmpdi2.c  | 28 ----------------------------
>>   arch/mips/lib/lshrdi3.c | 30 ------------------------------
>>   arch/mips/lib/ucmpdi2.c | 22 ----------------------
>>   7 files changed, 6 insertions(+), 143 deletions(-)
>>
>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> index 350a990fc719..b63a5422d485 100644
>> --- a/arch/mips/Kconfig
>> +++ b/arch/mips/Kconfig
>> @@ -18,16 +18,21 @@ config MIPS
>>   	select BUILDTIME_EXTABLE_SORT
>>   	select CLONE_BACKWARDS
>>   	select CPU_PM if CPU_IDLE
>> +	select GENERIC_ASHLDI3
>> +	select GENERIC_ASHRDI3
>>   	select GENERIC_ATOMIC64 if !64BIT
>>   	select GENERIC_CLOCKEVENTS
>>   	select GENERIC_CMOS_UPDATE
>> +	select GENERIC_CMPDI2
>>   	select GENERIC_CPU_AUTOPROBE
>>   	select GENERIC_IRQ_PROBE
>>   	select GENERIC_IRQ_SHOW
>> +	select GENERIC_LSHRDI3
>>   	select GENERIC_PCI_IOMAP
>>   	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
>>   	select GENERIC_SMP_IDLE_THREAD
>>   	select GENERIC_TIME_VSYSCALL
>> +	select GENERIC_UCMPDI2
>>   	select HANDLE_DOMAIN_IRQ
>>   	select HAVE_ARCH_JUMP_LABEL
>>   	select HAVE_ARCH_KGDB
>
> OK, thanks for changing this. But to be honest, it does look pretty
> messy like this. I feel like the CONFIG names should be something a
> little more descriptive, such as CONFIG_GENERIC_LIB_*, putting them in a
> namespace that would at least group them all together. Right now, AFAIK
> there's only RISC-V using these so it shouldn't be too painful to change
> them. What do you think Antony / Palmer?

That looks good to me.  It's a bit odd that they aren't all together.

>
> Thanks,
> Matt
>
>
>> diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
>> index 78c2affeabf8..195ab4cb0840 100644
>> --- a/arch/mips/lib/Makefile
>> +++ b/arch/mips/lib/Makefile
>> @@ -16,4 +16,4 @@ obj-$(CONFIG_CPU_R3000)		+= r3k_dump_tlb.o
>>   obj-$(CONFIG_CPU_TX39XX)	+= r3k_dump_tlb.o
>>
>>   # libgcc-style stuff needed in the kernel
>> -obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
>> +obj-y += bswapsi.o bswapdi.o
>> diff --git a/arch/mips/lib/ashldi3.c b/arch/mips/lib/ashldi3.c
>> deleted file mode 100644
>> index 24cd6903e797..000000000000
>> --- a/arch/mips/lib/ashldi3.c
>> +++ /dev/null
>> @@ -1,30 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0
>> -#include <linux/export.h>
>> -
>> -#include "libgcc.h"
>> -
>> -long long notrace __ashldi3(long long u, word_type b)
>> -{
>> -	DWunion uu, w;
>> -	word_type bm;
>> -
>> -	if (b == 0)
>> -		return u;
>> -
>> -	uu.ll = u;
>> -	bm = 32 - b;
>> -
>> -	if (bm <= 0) {
>> -		w.s.low = 0;
>> -		w.s.high = (unsigned int) uu.s.low << -bm;
>> -	} else {
>> -		const unsigned int carries = (unsigned int) uu.s.low >> bm;
>> -
>> -		w.s.low = (unsigned int) uu.s.low << b;
>> -		w.s.high = ((unsigned int) uu.s.high << b) | carries;
>> -	}
>> -
>> -	return w.ll;
>> -}
>> -
>> -EXPORT_SYMBOL(__ashldi3);
>> diff --git a/arch/mips/lib/ashrdi3.c b/arch/mips/lib/ashrdi3.c
>> deleted file mode 100644
>> index 23f5295af51e..000000000000
>> --- a/arch/mips/lib/ashrdi3.c
>> +++ /dev/null
>> @@ -1,32 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0
>> -#include <linux/export.h>
>> -
>> -#include "libgcc.h"
>> -
>> -long long notrace __ashrdi3(long long u, word_type b)
>> -{
>> -	DWunion uu, w;
>> -	word_type bm;
>> -
>> -	if (b == 0)
>> -		return u;
>> -
>> -	uu.ll = u;
>> -	bm = 32 - b;
>> -
>> -	if (bm <= 0) {
>> -		/* w.s.high = 1..1 or 0..0 */
>> -		w.s.high =
>> -		    uu.s.high >> 31;
>> -		w.s.low = uu.s.high >> -bm;
>> -	} else {
>> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
>> -
>> -		w.s.high = uu.s.high >> b;
>> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
>> -	}
>> -
>> -	return w.ll;
>> -}
>> -
>> -EXPORT_SYMBOL(__ashrdi3);
>> diff --git a/arch/mips/lib/cmpdi2.c b/arch/mips/lib/cmpdi2.c
>> deleted file mode 100644
>> index 93cfc785927d..000000000000
>> --- a/arch/mips/lib/cmpdi2.c
>> +++ /dev/null
>> @@ -1,28 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0
>> -#include <linux/export.h>
>> -
>> -#include "libgcc.h"
>> -
>> -word_type notrace __cmpdi2(long long a, long long b)
>> -{
>> -	const DWunion au = {
>> -		.ll = a
>> -	};
>> -	const DWunion bu = {
>> -		.ll = b
>> -	};
>> -
>> -	if (au.s.high < bu.s.high)
>> -		return 0;
>> -	else if (au.s.high > bu.s.high)
>> -		return 2;
>> -
>> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
>> -		return 0;
>> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
>> -		return 2;
>> -
>> -	return 1;
>> -}
>> -
>> -EXPORT_SYMBOL(__cmpdi2);
>> diff --git a/arch/mips/lib/lshrdi3.c b/arch/mips/lib/lshrdi3.c
>> deleted file mode 100644
>> index 914b971aca3b..000000000000
>> --- a/arch/mips/lib/lshrdi3.c
>> +++ /dev/null
>> @@ -1,30 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0
>> -#include <linux/export.h>
>> -
>> -#include "libgcc.h"
>> -
>> -long long notrace __lshrdi3(long long u, word_type b)
>> -{
>> -	DWunion uu, w;
>> -	word_type bm;
>> -
>> -	if (b == 0)
>> -		return u;
>> -
>> -	uu.ll = u;
>> -	bm = 32 - b;
>> -
>> -	if (bm <= 0) {
>> -		w.s.high = 0;
>> -		w.s.low = (unsigned int) uu.s.high >> -bm;
>> -	} else {
>> -		const unsigned int carries = (unsigned int) uu.s.high << bm;
>> -
>> -		w.s.high = (unsigned int) uu.s.high >> b;
>> -		w.s.low = ((unsigned int) uu.s.low >> b) | carries;
>> -	}
>> -
>> -	return w.ll;
>> -}
>> -
>> -EXPORT_SYMBOL(__lshrdi3);
>> diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
>> deleted file mode 100644
>> index c31c78ca4175..000000000000
>> --- a/arch/mips/lib/ucmpdi2.c
>> +++ /dev/null
>> @@ -1,22 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0
>> -#include <linux/export.h>
>> -
>> -#include "libgcc.h"
>> -
>> -word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
>> -{
>> -	const DWunion au = {.ll = a};
>> -	const DWunion bu = {.ll = b};
>> -
>> -	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
>> -		return 0;
>> -	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
>> -		return 2;
>> -	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
>> -		return 0;
>> -	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
>> -		return 2;
>> -	return 1;
>> -}
>> -
>> -EXPORT_SYMBOL(__ucmpdi2);
>>

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

* [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-09 13:22         ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-02-09 13:22 UTC (permalink / raw)
  To: Palmer Dabbelt, antonynpavlov
  Cc: linux-mips, jhogan, ralf, linux-kernel, Matt Redfearn

When these are included into arch Kconfig files, maintaining
alphabetical ordering of the selects means these get split up. To allow
for keeping things tidier and alphabetical, rename the selects to
GENERIC_LIB_*

Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
---
 arch/riscv/Kconfig |  6 +++---
 lib/Kconfig        | 12 ++++++------
 lib/Makefile       | 12 ++++++------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 2c6adf12713a..5f1e2188d029 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -99,9 +99,9 @@ config ARCH_RV32I
 	bool "RV32I"
 	select CPU_SUPPORTS_32BIT_KERNEL
 	select 32BIT
-	select GENERIC_ASHLDI3
-	select GENERIC_ASHRDI3
-	select GENERIC_LSHRDI3
+	select GENERIC_LIB_ASHLDI3
+	select GENERIC_LIB_ASHRDI3
+	select GENERIC_LIB_LSHRDI3
 
 config ARCH_RV64I
 	bool "RV64I"
diff --git a/lib/Kconfig b/lib/Kconfig
index c5e84fbcb30b..946d0890aad6 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -584,20 +584,20 @@ config STRING_SELFTEST
 
 endmenu
 
-config GENERIC_ASHLDI3
+config GENERIC_LIB_ASHLDI3
 	bool
 
-config GENERIC_ASHRDI3
+config GENERIC_LIB_ASHRDI3
 	bool
 
-config GENERIC_LSHRDI3
+config GENERIC_LIB_LSHRDI3
 	bool
 
-config GENERIC_MULDI3
+config GENERIC_LIB_MULDI3
 	bool
 
-config GENERIC_CMPDI2
+config GENERIC_LIB_CMPDI2
 	bool
 
-config GENERIC_UCMPDI2
+config GENERIC_LIB_UCMPDI2
 	bool
diff --git a/lib/Makefile b/lib/Makefile
index d11c48ec8ffd..7e1ef77e86a3 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
 obj-$(CONFIG_PARMAN) += parman.o
 
 # GCC library routines
-obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
-obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
-obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
-obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
-obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
-obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
+obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
+obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
+obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
+obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
+obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
+obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
-- 
2.7.4

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

* [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-09 13:22         ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-02-09 13:22 UTC (permalink / raw)
  To: Palmer Dabbelt, antonynpavlov
  Cc: linux-mips, jhogan, ralf, linux-kernel, Matt Redfearn

When these are included into arch Kconfig files, maintaining
alphabetical ordering of the selects means these get split up. To allow
for keeping things tidier and alphabetical, rename the selects to
GENERIC_LIB_*

Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
---
 arch/riscv/Kconfig |  6 +++---
 lib/Kconfig        | 12 ++++++------
 lib/Makefile       | 12 ++++++------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 2c6adf12713a..5f1e2188d029 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -99,9 +99,9 @@ config ARCH_RV32I
 	bool "RV32I"
 	select CPU_SUPPORTS_32BIT_KERNEL
 	select 32BIT
-	select GENERIC_ASHLDI3
-	select GENERIC_ASHRDI3
-	select GENERIC_LSHRDI3
+	select GENERIC_LIB_ASHLDI3
+	select GENERIC_LIB_ASHRDI3
+	select GENERIC_LIB_LSHRDI3
 
 config ARCH_RV64I
 	bool "RV64I"
diff --git a/lib/Kconfig b/lib/Kconfig
index c5e84fbcb30b..946d0890aad6 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -584,20 +584,20 @@ config STRING_SELFTEST
 
 endmenu
 
-config GENERIC_ASHLDI3
+config GENERIC_LIB_ASHLDI3
 	bool
 
-config GENERIC_ASHRDI3
+config GENERIC_LIB_ASHRDI3
 	bool
 
-config GENERIC_LSHRDI3
+config GENERIC_LIB_LSHRDI3
 	bool
 
-config GENERIC_MULDI3
+config GENERIC_LIB_MULDI3
 	bool
 
-config GENERIC_CMPDI2
+config GENERIC_LIB_CMPDI2
 	bool
 
-config GENERIC_UCMPDI2
+config GENERIC_LIB_UCMPDI2
 	bool
diff --git a/lib/Makefile b/lib/Makefile
index d11c48ec8ffd..7e1ef77e86a3 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
 obj-$(CONFIG_PARMAN) += parman.o
 
 # GCC library routines
-obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
-obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
-obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
-obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
-obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
-obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
+obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
+obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
+obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
+obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
+obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
+obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
-- 
2.7.4

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
  2018-02-09 13:22         ` Matt Redfearn
  (?)
@ 2018-02-09 13:45         ` Andy Shevchenko
  2018-02-09 14:52             ` Matt Redfearn
  -1 siblings, 1 reply; 15+ messages in thread
From: Andy Shevchenko @ 2018-02-09 13:45 UTC (permalink / raw)
  To: Matt Redfearn
  Cc: Palmer Dabbelt, antonynpavlov, Linux MIPS Mailing List, jhogan,
	Ralf Baechle, Linux Kernel Mailing List

On Fri, Feb 9, 2018 at 3:22 PM, Matt Redfearn <matt.redfearn@mips.com> wrote:
> When these are included into arch Kconfig files, maintaining
> alphabetical ordering of the selects means these get split up. To allow
> for keeping things tidier and alphabetical, rename the selects to
> GENERIC_LIB_*
>

I don't remember who suggested that, if it wasn't you, please add
Suggested-by tag with appropriate name.

> Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
> ---
>  arch/riscv/Kconfig |  6 +++---
>  lib/Kconfig        | 12 ++++++------
>  lib/Makefile       | 12 ++++++------
>  3 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 2c6adf12713a..5f1e2188d029 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -99,9 +99,9 @@ config ARCH_RV32I
>         bool "RV32I"
>         select CPU_SUPPORTS_32BIT_KERNEL
>         select 32BIT
> -       select GENERIC_ASHLDI3
> -       select GENERIC_ASHRDI3
> -       select GENERIC_LSHRDI3
> +       select GENERIC_LIB_ASHLDI3
> +       select GENERIC_LIB_ASHRDI3
> +       select GENERIC_LIB_LSHRDI3
>
>  config ARCH_RV64I
>         bool "RV64I"
> diff --git a/lib/Kconfig b/lib/Kconfig
> index c5e84fbcb30b..946d0890aad6 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -584,20 +584,20 @@ config STRING_SELFTEST
>
>  endmenu
>
> -config GENERIC_ASHLDI3
> +config GENERIC_LIB_ASHLDI3
>         bool
>
> -config GENERIC_ASHRDI3
> +config GENERIC_LIB_ASHRDI3
>         bool
>
> -config GENERIC_LSHRDI3
> +config GENERIC_LIB_LSHRDI3
>         bool
>
> -config GENERIC_MULDI3
> +config GENERIC_LIB_MULDI3
>         bool
>
> -config GENERIC_CMPDI2
> +config GENERIC_LIB_CMPDI2
>         bool
>
> -config GENERIC_UCMPDI2
> +config GENERIC_LIB_UCMPDI2
>         bool
> diff --git a/lib/Makefile b/lib/Makefile
> index d11c48ec8ffd..7e1ef77e86a3 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>  obj-$(CONFIG_PARMAN) += parman.o
>
>  # GCC library routines
> -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
> -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
> -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
> -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
> -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
> -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
> +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
> +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
> --
> 2.7.4
>



-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-09 14:52             ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-02-09 14:52 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Palmer Dabbelt, antonynpavlov, Linux MIPS Mailing List, jhogan,
	Ralf Baechle, Linux Kernel Mailing List

Hi Andy,

On 09/02/18 13:45, Andy Shevchenko wrote:
> On Fri, Feb 9, 2018 at 3:22 PM, Matt Redfearn <matt.redfearn@mips.com> wrote:
>> When these are included into arch Kconfig files, maintaining
>> alphabetical ordering of the selects means these get split up. To allow
>> for keeping things tidier and alphabetical, rename the selects to
>> GENERIC_LIB_*
>>
> 
> I don't remember who suggested that, if it wasn't you, please add
> Suggested-by tag with appropriate name.

It was me that suggested the rename, before we ack replacing MIPS' 
compiler intrinsics with these generic ones.

Thanks,
Matt


> 
>> Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
>> ---
>>   arch/riscv/Kconfig |  6 +++---
>>   lib/Kconfig        | 12 ++++++------
>>   lib/Makefile       | 12 ++++++------
>>   3 files changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> index 2c6adf12713a..5f1e2188d029 100644
>> --- a/arch/riscv/Kconfig
>> +++ b/arch/riscv/Kconfig
>> @@ -99,9 +99,9 @@ config ARCH_RV32I
>>          bool "RV32I"
>>          select CPU_SUPPORTS_32BIT_KERNEL
>>          select 32BIT
>> -       select GENERIC_ASHLDI3
>> -       select GENERIC_ASHRDI3
>> -       select GENERIC_LSHRDI3
>> +       select GENERIC_LIB_ASHLDI3
>> +       select GENERIC_LIB_ASHRDI3
>> +       select GENERIC_LIB_LSHRDI3
>>
>>   config ARCH_RV64I
>>          bool "RV64I"
>> diff --git a/lib/Kconfig b/lib/Kconfig
>> index c5e84fbcb30b..946d0890aad6 100644
>> --- a/lib/Kconfig
>> +++ b/lib/Kconfig
>> @@ -584,20 +584,20 @@ config STRING_SELFTEST
>>
>>   endmenu
>>
>> -config GENERIC_ASHLDI3
>> +config GENERIC_LIB_ASHLDI3
>>          bool
>>
>> -config GENERIC_ASHRDI3
>> +config GENERIC_LIB_ASHRDI3
>>          bool
>>
>> -config GENERIC_LSHRDI3
>> +config GENERIC_LIB_LSHRDI3
>>          bool
>>
>> -config GENERIC_MULDI3
>> +config GENERIC_LIB_MULDI3
>>          bool
>>
>> -config GENERIC_CMPDI2
>> +config GENERIC_LIB_CMPDI2
>>          bool
>>
>> -config GENERIC_UCMPDI2
>> +config GENERIC_LIB_UCMPDI2
>>          bool
>> diff --git a/lib/Makefile b/lib/Makefile
>> index d11c48ec8ffd..7e1ef77e86a3 100644
>> --- a/lib/Makefile
>> +++ b/lib/Makefile
>> @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>>   obj-$(CONFIG_PARMAN) += parman.o
>>
>>   # GCC library routines
>> -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
>> -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
>> -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
>> -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
>> -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
>> -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
>> +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
>> +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
>> +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
>> +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
>> +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
>> +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
>> --
>> 2.7.4
>>
> 
> 
> 

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-09 14:52             ` Matt Redfearn
  0 siblings, 0 replies; 15+ messages in thread
From: Matt Redfearn @ 2018-02-09 14:52 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Palmer Dabbelt, antonynpavlov, Linux MIPS Mailing List, jhogan,
	Ralf Baechle, Linux Kernel Mailing List

Hi Andy,

On 09/02/18 13:45, Andy Shevchenko wrote:
> On Fri, Feb 9, 2018 at 3:22 PM, Matt Redfearn <matt.redfearn@mips.com> wrote:
>> When these are included into arch Kconfig files, maintaining
>> alphabetical ordering of the selects means these get split up. To allow
>> for keeping things tidier and alphabetical, rename the selects to
>> GENERIC_LIB_*
>>
> 
> I don't remember who suggested that, if it wasn't you, please add
> Suggested-by tag with appropriate name.

It was me that suggested the rename, before we ack replacing MIPS' 
compiler intrinsics with these generic ones.

Thanks,
Matt


> 
>> Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
>> ---
>>   arch/riscv/Kconfig |  6 +++---
>>   lib/Kconfig        | 12 ++++++------
>>   lib/Makefile       | 12 ++++++------
>>   3 files changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> index 2c6adf12713a..5f1e2188d029 100644
>> --- a/arch/riscv/Kconfig
>> +++ b/arch/riscv/Kconfig
>> @@ -99,9 +99,9 @@ config ARCH_RV32I
>>          bool "RV32I"
>>          select CPU_SUPPORTS_32BIT_KERNEL
>>          select 32BIT
>> -       select GENERIC_ASHLDI3
>> -       select GENERIC_ASHRDI3
>> -       select GENERIC_LSHRDI3
>> +       select GENERIC_LIB_ASHLDI3
>> +       select GENERIC_LIB_ASHRDI3
>> +       select GENERIC_LIB_LSHRDI3
>>
>>   config ARCH_RV64I
>>          bool "RV64I"
>> diff --git a/lib/Kconfig b/lib/Kconfig
>> index c5e84fbcb30b..946d0890aad6 100644
>> --- a/lib/Kconfig
>> +++ b/lib/Kconfig
>> @@ -584,20 +584,20 @@ config STRING_SELFTEST
>>
>>   endmenu
>>
>> -config GENERIC_ASHLDI3
>> +config GENERIC_LIB_ASHLDI3
>>          bool
>>
>> -config GENERIC_ASHRDI3
>> +config GENERIC_LIB_ASHRDI3
>>          bool
>>
>> -config GENERIC_LSHRDI3
>> +config GENERIC_LIB_LSHRDI3
>>          bool
>>
>> -config GENERIC_MULDI3
>> +config GENERIC_LIB_MULDI3
>>          bool
>>
>> -config GENERIC_CMPDI2
>> +config GENERIC_LIB_CMPDI2
>>          bool
>>
>> -config GENERIC_UCMPDI2
>> +config GENERIC_LIB_UCMPDI2
>>          bool
>> diff --git a/lib/Makefile b/lib/Makefile
>> index d11c48ec8ffd..7e1ef77e86a3 100644
>> --- a/lib/Makefile
>> +++ b/lib/Makefile
>> @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>>   obj-$(CONFIG_PARMAN) += parman.o
>>
>>   # GCC library routines
>> -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
>> -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
>> -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
>> -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
>> -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
>> -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
>> +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
>> +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
>> +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
>> +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
>> +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
>> +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
>> --
>> 2.7.4
>>
> 
> 
> 

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-13 21:48           ` Palmer Dabbelt
  0 siblings, 0 replies; 15+ messages in thread
From: Palmer Dabbelt @ 2018-02-13 21:48 UTC (permalink / raw)
  To: matt.redfearn
  Cc: antonynpavlov, linux-mips, jhogan, ralf, linux-kernel, matt.redfearn

On Fri, 09 Feb 2018 05:22:52 PST (-0800), matt.redfearn@mips.com wrote:
> When these are included into arch Kconfig files, maintaining
> alphabetical ordering of the selects means these get split up. To allow
> for keeping things tidier and alphabetical, rename the selects to
> GENERIC_LIB_*
>
> Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>

Thanks!  Do you want me to take this in my tree?

Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

> ---
>  arch/riscv/Kconfig |  6 +++---
>  lib/Kconfig        | 12 ++++++------
>  lib/Makefile       | 12 ++++++------
>  3 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 2c6adf12713a..5f1e2188d029 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -99,9 +99,9 @@ config ARCH_RV32I
>  	bool "RV32I"
>  	select CPU_SUPPORTS_32BIT_KERNEL
>  	select 32BIT
> -	select GENERIC_ASHLDI3
> -	select GENERIC_ASHRDI3
> -	select GENERIC_LSHRDI3
> +	select GENERIC_LIB_ASHLDI3
> +	select GENERIC_LIB_ASHRDI3
> +	select GENERIC_LIB_LSHRDI3
>
>  config ARCH_RV64I
>  	bool "RV64I"
> diff --git a/lib/Kconfig b/lib/Kconfig
> index c5e84fbcb30b..946d0890aad6 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -584,20 +584,20 @@ config STRING_SELFTEST
>
>  endmenu
>
> -config GENERIC_ASHLDI3
> +config GENERIC_LIB_ASHLDI3
>  	bool
>
> -config GENERIC_ASHRDI3
> +config GENERIC_LIB_ASHRDI3
>  	bool
>
> -config GENERIC_LSHRDI3
> +config GENERIC_LIB_LSHRDI3
>  	bool
>
> -config GENERIC_MULDI3
> +config GENERIC_LIB_MULDI3
>  	bool
>
> -config GENERIC_CMPDI2
> +config GENERIC_LIB_CMPDI2
>  	bool
>
> -config GENERIC_UCMPDI2
> +config GENERIC_LIB_UCMPDI2
>  	bool
> diff --git a/lib/Makefile b/lib/Makefile
> index d11c48ec8ffd..7e1ef77e86a3 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>  obj-$(CONFIG_PARMAN) += parman.o
>
>  # GCC library routines
> -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
> -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
> -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
> -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
> -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
> -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
> +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
> +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
@ 2018-02-13 21:48           ` Palmer Dabbelt
  0 siblings, 0 replies; 15+ messages in thread
From: Palmer Dabbelt @ 2018-02-13 21:48 UTC (permalink / raw)
  Cc: antonynpavlov, linux-mips, jhogan, ralf, linux-kernel, matt.redfearn

On Fri, 09 Feb 2018 05:22:52 PST (-0800), matt.redfearn@mips.com wrote:
> When these are included into arch Kconfig files, maintaining
> alphabetical ordering of the selects means these get split up. To allow
> for keeping things tidier and alphabetical, rename the selects to
> GENERIC_LIB_*
>
> Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>

Thanks!  Do you want me to take this in my tree?

Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

> ---
>  arch/riscv/Kconfig |  6 +++---
>  lib/Kconfig        | 12 ++++++------
>  lib/Makefile       | 12 ++++++------
>  3 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 2c6adf12713a..5f1e2188d029 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -99,9 +99,9 @@ config ARCH_RV32I
>  	bool "RV32I"
>  	select CPU_SUPPORTS_32BIT_KERNEL
>  	select 32BIT
> -	select GENERIC_ASHLDI3
> -	select GENERIC_ASHRDI3
> -	select GENERIC_LSHRDI3
> +	select GENERIC_LIB_ASHLDI3
> +	select GENERIC_LIB_ASHRDI3
> +	select GENERIC_LIB_LSHRDI3
>
>  config ARCH_RV64I
>  	bool "RV64I"
> diff --git a/lib/Kconfig b/lib/Kconfig
> index c5e84fbcb30b..946d0890aad6 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -584,20 +584,20 @@ config STRING_SELFTEST
>
>  endmenu
>
> -config GENERIC_ASHLDI3
> +config GENERIC_LIB_ASHLDI3
>  	bool
>
> -config GENERIC_ASHRDI3
> +config GENERIC_LIB_ASHRDI3
>  	bool
>
> -config GENERIC_LSHRDI3
> +config GENERIC_LIB_LSHRDI3
>  	bool
>
> -config GENERIC_MULDI3
> +config GENERIC_LIB_MULDI3
>  	bool
>
> -config GENERIC_CMPDI2
> +config GENERIC_LIB_CMPDI2
>  	bool
>
> -config GENERIC_UCMPDI2
> +config GENERIC_LIB_UCMPDI2
>  	bool
> diff --git a/lib/Makefile b/lib/Makefile
> index d11c48ec8ffd..7e1ef77e86a3 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>  obj-$(CONFIG_PARMAN) += parman.o
>
>  # GCC library routines
> -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
> -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
> -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
> -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
> -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
> -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
> +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
> +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
> +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
> +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
  2018-02-13 21:48           ` Palmer Dabbelt
  (?)
@ 2018-02-13 22:49           ` James Hogan
  2018-02-17  0:32             ` Palmer Dabbelt
  -1 siblings, 1 reply; 15+ messages in thread
From: James Hogan @ 2018-02-13 22:49 UTC (permalink / raw)
  To: Palmer Dabbelt
  Cc: matt.redfearn, antonynpavlov, linux-mips, ralf, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3120 bytes --]

On Tue, Feb 13, 2018 at 01:48:18PM -0800, Palmer Dabbelt wrote:
> On Fri, 09 Feb 2018 05:22:52 PST (-0800), matt.redfearn@mips.com wrote:
> > When these are included into arch Kconfig files, maintaining
> > alphabetical ordering of the selects means these get split up. To allow
> > for keeping things tidier and alphabetical, rename the selects to
> > GENERIC_LIB_*
> >
> > Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
> 
> Thanks!  Do you want me to take this in my tree?
> 
> Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

Since a new version of the "MIPS: use generic GCC library routines from
lib/" series would depend on it, and it makes sense for that series to
go via the MIPS tree, I think it would be simpler for this patch to also
be taken (with your ack) via the MIPS tree. Is that okay?

Thanks
James

> 
> > ---
> >  arch/riscv/Kconfig |  6 +++---
> >  lib/Kconfig        | 12 ++++++------
> >  lib/Makefile       | 12 ++++++------
> >  3 files changed, 15 insertions(+), 15 deletions(-)
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index 2c6adf12713a..5f1e2188d029 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -99,9 +99,9 @@ config ARCH_RV32I
> >  	bool "RV32I"
> >  	select CPU_SUPPORTS_32BIT_KERNEL
> >  	select 32BIT
> > -	select GENERIC_ASHLDI3
> > -	select GENERIC_ASHRDI3
> > -	select GENERIC_LSHRDI3
> > +	select GENERIC_LIB_ASHLDI3
> > +	select GENERIC_LIB_ASHRDI3
> > +	select GENERIC_LIB_LSHRDI3
> >
> >  config ARCH_RV64I
> >  	bool "RV64I"
> > diff --git a/lib/Kconfig b/lib/Kconfig
> > index c5e84fbcb30b..946d0890aad6 100644
> > --- a/lib/Kconfig
> > +++ b/lib/Kconfig
> > @@ -584,20 +584,20 @@ config STRING_SELFTEST
> >
> >  endmenu
> >
> > -config GENERIC_ASHLDI3
> > +config GENERIC_LIB_ASHLDI3
> >  	bool
> >
> > -config GENERIC_ASHRDI3
> > +config GENERIC_LIB_ASHRDI3
> >  	bool
> >
> > -config GENERIC_LSHRDI3
> > +config GENERIC_LIB_LSHRDI3
> >  	bool
> >
> > -config GENERIC_MULDI3
> > +config GENERIC_LIB_MULDI3
> >  	bool
> >
> > -config GENERIC_CMPDI2
> > +config GENERIC_LIB_CMPDI2
> >  	bool
> >
> > -config GENERIC_UCMPDI2
> > +config GENERIC_LIB_UCMPDI2
> >  	bool
> > diff --git a/lib/Makefile b/lib/Makefile
> > index d11c48ec8ffd..7e1ef77e86a3 100644
> > --- a/lib/Makefile
> > +++ b/lib/Makefile
> > @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
> >  obj-$(CONFIG_PARMAN) += parman.o
> >
> >  # GCC library routines
> > -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
> > -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
> > -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
> > -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
> > -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
> > -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
> > +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
> > +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
> > +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
> > +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
> > +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
> > +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_*
  2018-02-13 22:49           ` James Hogan
@ 2018-02-17  0:32             ` Palmer Dabbelt
  0 siblings, 0 replies; 15+ messages in thread
From: Palmer Dabbelt @ 2018-02-17  0:32 UTC (permalink / raw)
  To: jhogan; +Cc: matt.redfearn, antonynpavlov, linux-mips, ralf, linux-kernel

On Tue, 13 Feb 2018 14:49:37 PST (-0800), jhogan@kernel.org wrote:
> On Tue, Feb 13, 2018 at 01:48:18PM -0800, Palmer Dabbelt wrote:
>> On Fri, 09 Feb 2018 05:22:52 PST (-0800), matt.redfearn@mips.com wrote:
>> > When these are included into arch Kconfig files, maintaining
>> > alphabetical ordering of the selects means these get split up. To allow
>> > for keeping things tidier and alphabetical, rename the selects to
>> > GENERIC_LIB_*
>> >
>> > Signed-off-by: Matt Redfearn <matt.redfearn@mips.com>
>> 
>> Thanks!  Do you want me to take this in my tree?
>> 
>> Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
>
> Since a new version of the "MIPS: use generic GCC library routines from
> lib/" series would depend on it, and it makes sense for that series to
> go via the MIPS tree, I think it would be simpler for this patch to also
> be taken (with your ack) via the MIPS tree. Is that okay?

That's great, thanks!

>
> Thanks
> James
>
>> 
>> > ---
>> >  arch/riscv/Kconfig |  6 +++---
>> >  lib/Kconfig        | 12 ++++++------
>> >  lib/Makefile       | 12 ++++++------
>> >  3 files changed, 15 insertions(+), 15 deletions(-)
>> >
>> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> > index 2c6adf12713a..5f1e2188d029 100644
>> > --- a/arch/riscv/Kconfig
>> > +++ b/arch/riscv/Kconfig
>> > @@ -99,9 +99,9 @@ config ARCH_RV32I
>> >  	bool "RV32I"
>> >  	select CPU_SUPPORTS_32BIT_KERNEL
>> >  	select 32BIT
>> > -	select GENERIC_ASHLDI3
>> > -	select GENERIC_ASHRDI3
>> > -	select GENERIC_LSHRDI3
>> > +	select GENERIC_LIB_ASHLDI3
>> > +	select GENERIC_LIB_ASHRDI3
>> > +	select GENERIC_LIB_LSHRDI3
>> >
>> >  config ARCH_RV64I
>> >  	bool "RV64I"
>> > diff --git a/lib/Kconfig b/lib/Kconfig
>> > index c5e84fbcb30b..946d0890aad6 100644
>> > --- a/lib/Kconfig
>> > +++ b/lib/Kconfig
>> > @@ -584,20 +584,20 @@ config STRING_SELFTEST
>> >
>> >  endmenu
>> >
>> > -config GENERIC_ASHLDI3
>> > +config GENERIC_LIB_ASHLDI3
>> >  	bool
>> >
>> > -config GENERIC_ASHRDI3
>> > +config GENERIC_LIB_ASHRDI3
>> >  	bool
>> >
>> > -config GENERIC_LSHRDI3
>> > +config GENERIC_LIB_LSHRDI3
>> >  	bool
>> >
>> > -config GENERIC_MULDI3
>> > +config GENERIC_LIB_MULDI3
>> >  	bool
>> >
>> > -config GENERIC_CMPDI2
>> > +config GENERIC_LIB_CMPDI2
>> >  	bool
>> >
>> > -config GENERIC_UCMPDI2
>> > +config GENERIC_LIB_UCMPDI2
>> >  	bool
>> > diff --git a/lib/Makefile b/lib/Makefile
>> > index d11c48ec8ffd..7e1ef77e86a3 100644
>> > --- a/lib/Makefile
>> > +++ b/lib/Makefile
>> > @@ -252,9 +252,9 @@ obj-$(CONFIG_SBITMAP) += sbitmap.o
>> >  obj-$(CONFIG_PARMAN) += parman.o
>> >
>> >  # GCC library routines
>> > -obj-$(CONFIG_GENERIC_ASHLDI3) += ashldi3.o
>> > -obj-$(CONFIG_GENERIC_ASHRDI3) += ashrdi3.o
>> > -obj-$(CONFIG_GENERIC_LSHRDI3) += lshrdi3.o
>> > -obj-$(CONFIG_GENERIC_MULDI3) += muldi3.o
>> > -obj-$(CONFIG_GENERIC_CMPDI2) += cmpdi2.o
>> > -obj-$(CONFIG_GENERIC_UCMPDI2) += ucmpdi2.o
>> > +obj-$(CONFIG_GENERIC_LIB_ASHLDI3) += ashldi3.o
>> > +obj-$(CONFIG_GENERIC_LIB_ASHRDI3) += ashrdi3.o
>> > +obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
>> > +obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
>> > +obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
>> > +obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o

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

end of thread, other threads:[~2018-02-17  0:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-31 15:33 [PATCH v3 0/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
2018-01-31 15:33 ` [PATCH v3 1/2] Add notrace to lib/ucmpdi2.c Antony Pavlov
2018-01-31 15:33 ` [PATCH v3 2/2] MIPS: use generic GCC library routines from lib/ Antony Pavlov
2018-01-31 16:07   ` Matt Redfearn
2018-01-31 16:07     ` Matt Redfearn
2018-02-08 17:34     ` Palmer Dabbelt
2018-02-09 13:22       ` [PATCH] lib: Rename compiler intrinsic selects to GENERIC_LIB_* Matt Redfearn
2018-02-09 13:22         ` Matt Redfearn
2018-02-09 13:45         ` Andy Shevchenko
2018-02-09 14:52           ` Matt Redfearn
2018-02-09 14:52             ` Matt Redfearn
2018-02-13 21:48         ` Palmer Dabbelt
2018-02-13 21:48           ` Palmer Dabbelt
2018-02-13 22:49           ` James Hogan
2018-02-17  0:32             ` Palmer Dabbelt

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.