Generic Linux architectural discussions
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Generalize fncpy availability
@ 2017-06-16 21:28 Florian Fainelli
  2017-06-16 21:28 ` Florian Fainelli
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Hi all,

This patch series makes ARM's fncpy() implementation more generic (dropping the
Thumb-specifics) and available in an asm-generic header file.

Tested on a Broadcom ARM64 STB platform with code that is written to SRAM.

Changes in v2:
- leave the ARM implementation where it is
- make the generic truly generic (no)

This is helpful in making SoC-specific power management code become true drivers
that can be shared between different architectures.

Thanks!

Florian Fainelli (4):
  ARM: fncpy: Rename include guards
  asm-generic: Provide a fncpy() implementation
  arm64: Provide a fncpy implementation
  misc: sram: Allow ARM64 to select SRAM_EXEC

 arch/arm/include/asm/fncpy.h   |  6 +--
 arch/arm64/include/asm/fncpy.h |  6 +++
 drivers/misc/Kconfig           |  2 +-
 include/asm-generic/fncpy.h    | 93 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 103 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm64/include/asm/fncpy.h
 create mode 100644 include/asm-generic/fncpy.h

-- 
2.9.3

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

* [PATCH v2 0/4] Generalize fncpy availability
  2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
@ 2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 1/4] ARM: fncpy: Rename include guards Florian Fainelli
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Hi all,

This patch series makes ARM's fncpy() implementation more generic (dropping the
Thumb-specifics) and available in an asm-generic header file.

Tested on a Broadcom ARM64 STB platform with code that is written to SRAM.

Changes in v2:
- leave the ARM implementation where it is
- make the generic truly generic (no)

This is helpful in making SoC-specific power management code become true drivers
that can be shared between different architectures.

Thanks!

Florian Fainelli (4):
  ARM: fncpy: Rename include guards
  asm-generic: Provide a fncpy() implementation
  arm64: Provide a fncpy implementation
  misc: sram: Allow ARM64 to select SRAM_EXEC

 arch/arm/include/asm/fncpy.h   |  6 +--
 arch/arm64/include/asm/fncpy.h |  6 +++
 drivers/misc/Kconfig           |  2 +-
 include/asm-generic/fncpy.h    | 93 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 103 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm64/include/asm/fncpy.h
 create mode 100644 include/asm-generic/fncpy.h

-- 
2.9.3

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

* [PATCH v2 1/4] ARM: fncpy: Rename include guards
  2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
  2017-06-16 21:28 ` Florian Fainelli
@ 2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28   ` Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation Florian Fainelli
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

In preparation for allowing a generic fncpy() implementation to live
under include/asm-generic/fncpy.h, rename the current include guards to
be __ASM_ARM_FNCPY_H, this also makes the header file more consistent
with other headers in the same directory.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/include/asm/fncpy.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/include/asm/fncpy.h b/arch/arm/include/asm/fncpy.h
index de5354746924..86a8fc14cde9 100644
--- a/arch/arm/include/asm/fncpy.h
+++ b/arch/arm/include/asm/fncpy.h
@@ -53,8 +53,8 @@
  * in the file where f is defined.
  */
 
-#ifndef __ASM_FNCPY_H
-#define __ASM_FNCPY_H
+#ifndef __ASM_ARM_FNCPY_H
+#define __ASM_ARM_FNCPY_H
 
 #include <linux/types.h>
 #include <linux/string.h>
@@ -91,4 +91,4 @@
 	__result;							\
 })
 
-#endif /* !__ASM_FNCPY_H */
+#endif /* !__ASM_ARM_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 1/4] ARM: fncpy: Rename include guards
  2017-06-16 21:28 ` [PATCH v2 1/4] ARM: fncpy: Rename include guards Florian Fainelli
@ 2017-06-16 21:28   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

In preparation for allowing a generic fncpy() implementation to live
under include/asm-generic/fncpy.h, rename the current include guards to
be __ASM_ARM_FNCPY_H, this also makes the header file more consistent
with other headers in the same directory.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/include/asm/fncpy.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/include/asm/fncpy.h b/arch/arm/include/asm/fncpy.h
index de5354746924..86a8fc14cde9 100644
--- a/arch/arm/include/asm/fncpy.h
+++ b/arch/arm/include/asm/fncpy.h
@@ -53,8 +53,8 @@
  * in the file where f is defined.
  */
 
-#ifndef __ASM_FNCPY_H
-#define __ASM_FNCPY_H
+#ifndef __ASM_ARM_FNCPY_H
+#define __ASM_ARM_FNCPY_H
 
 #include <linux/types.h>
 #include <linux/string.h>
@@ -91,4 +91,4 @@
 	__result;							\
 })
 
-#endif /* !__ASM_FNCPY_H */
+#endif /* !__ASM_ARM_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation
  2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
  2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 1/4] ARM: fncpy: Rename include guards Florian Fainelli
@ 2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28   ` Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 3/4] arm64: Provide a fncpy implementation Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC Florian Fainelli
  4 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Define a generic fncpy() implementation largely based on the ARM version
that requires an 8 bytes alignment for the destination address where to
copy this function as well as the function's own address.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 include/asm-generic/fncpy.h | 93 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 include/asm-generic/fncpy.h

diff --git a/include/asm-generic/fncpy.h b/include/asm-generic/fncpy.h
new file mode 100644
index 000000000000..5bb3e5d20ae0
--- /dev/null
+++ b/include/asm-generic/fncpy.h
@@ -0,0 +1,93 @@
+/*
+ * include/asm-generic/fncpy.h - helper macros for function body copying
+ *
+ * Copyright (C) 2011 Linaro Limited
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*
+ * These macros are intended for use when there is a need to copy a low-level
+ * function body into special memory.
+ *
+ * For example, when reconfiguring the SDRAM controller, the code doing the
+ * reconfiguration may need to run from SRAM.
+ *
+ * NOTE: that the copied function body must be entirely self-contained and
+ * position-independent in order for this to work properly.
+ *
+ * NOTE: in order for embedded literals and data to get referenced correctly,
+ * the alignment of functions must be preserved when copying.  To ensure this,
+ * the source and destination addresses for fncpy() must be aligned to a
+ * multiple of 8 bytes: you will be get a BUG() if this condition is not met.
+ * You will typically need a ".align 3" directive in the assembler where the
+ * function to be copied is defined, and ensure that your allocator for the
+ * destination buffer returns 8-byte-aligned pointers.
+ *
+ * Typical usage example:
+ *
+ * extern int f(args);
+ * extern uint32_t size_of_f;
+ * int (*copied_f)(args);
+ * void *sram_buffer;
+ *
+ * copied_f = fncpy(sram_buffer, &f, size_of_f);
+ *
+ * ... later, call the function: ...
+ *
+ * copied_f(args);
+ *
+ * The size of the function to be copied can't be determined from C:
+ * this must be determined by other means, such as adding assmbler directives
+ * in the file where f is defined.
+ */
+
+#ifndef __ASM_ARM_FNCPY_H
+#define __ASM_ARM_FNCPY_H
+
+#include <linux/types.h>
+#include <linux/string.h>
+
+#include <asm/bug.h>
+#include <asm/cacheflush.h>
+
+/*
+ * Minimum alignment requirement for the source and destination addresses
+ * for function copying.
+ */
+#define FNCPY_ALIGN 8
+
+#define fncpy(dest_buf, funcp, size) ({					\
+	uintptr_t __funcp_address;					\
+	typeof(funcp) __result;						\
+									\
+	asm("" : "=r" (__funcp_address) : "0" (funcp));			\
+									\
+	/*								\
+	 * Ensure alignment of source and destination addresses.	\
+	 */								\
+	BUG_ON((uintptr_t)(dest_buf) & (FNCPY_ALIGN - 1) ||		\
+		(__funcp_address & (FNCPY_ALIGN - 1)));			\
+									\
+	memcpy(dest_buf, (void const *)__funcp_address, size);		\
+	flush_icache_range((unsigned long)(dest_buf),			\
+		(unsigned long)(dest_buf) + (size));			\
+									\
+	asm("" : "=r" (__result)					\
+		: "0" ((uintptr_t)(dest_buf)));				\
+									\
+	__result;							\
+})
+
+#endif /* !__ASM_ARM_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation
  2017-06-16 21:28 ` [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation Florian Fainelli
@ 2017-06-16 21:28   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Define a generic fncpy() implementation largely based on the ARM version
that requires an 8 bytes alignment for the destination address where to
copy this function as well as the function's own address.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 include/asm-generic/fncpy.h | 93 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 include/asm-generic/fncpy.h

diff --git a/include/asm-generic/fncpy.h b/include/asm-generic/fncpy.h
new file mode 100644
index 000000000000..5bb3e5d20ae0
--- /dev/null
+++ b/include/asm-generic/fncpy.h
@@ -0,0 +1,93 @@
+/*
+ * include/asm-generic/fncpy.h - helper macros for function body copying
+ *
+ * Copyright (C) 2011 Linaro Limited
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*
+ * These macros are intended for use when there is a need to copy a low-level
+ * function body into special memory.
+ *
+ * For example, when reconfiguring the SDRAM controller, the code doing the
+ * reconfiguration may need to run from SRAM.
+ *
+ * NOTE: that the copied function body must be entirely self-contained and
+ * position-independent in order for this to work properly.
+ *
+ * NOTE: in order for embedded literals and data to get referenced correctly,
+ * the alignment of functions must be preserved when copying.  To ensure this,
+ * the source and destination addresses for fncpy() must be aligned to a
+ * multiple of 8 bytes: you will be get a BUG() if this condition is not met.
+ * You will typically need a ".align 3" directive in the assembler where the
+ * function to be copied is defined, and ensure that your allocator for the
+ * destination buffer returns 8-byte-aligned pointers.
+ *
+ * Typical usage example:
+ *
+ * extern int f(args);
+ * extern uint32_t size_of_f;
+ * int (*copied_f)(args);
+ * void *sram_buffer;
+ *
+ * copied_f = fncpy(sram_buffer, &f, size_of_f);
+ *
+ * ... later, call the function: ...
+ *
+ * copied_f(args);
+ *
+ * The size of the function to be copied can't be determined from C:
+ * this must be determined by other means, such as adding assmbler directives
+ * in the file where f is defined.
+ */
+
+#ifndef __ASM_ARM_FNCPY_H
+#define __ASM_ARM_FNCPY_H
+
+#include <linux/types.h>
+#include <linux/string.h>
+
+#include <asm/bug.h>
+#include <asm/cacheflush.h>
+
+/*
+ * Minimum alignment requirement for the source and destination addresses
+ * for function copying.
+ */
+#define FNCPY_ALIGN 8
+
+#define fncpy(dest_buf, funcp, size) ({					\
+	uintptr_t __funcp_address;					\
+	typeof(funcp) __result;						\
+									\
+	asm("" : "=r" (__funcp_address) : "0" (funcp));			\
+									\
+	/*								\
+	 * Ensure alignment of source and destination addresses.	\
+	 */								\
+	BUG_ON((uintptr_t)(dest_buf) & (FNCPY_ALIGN - 1) ||		\
+		(__funcp_address & (FNCPY_ALIGN - 1)));			\
+									\
+	memcpy(dest_buf, (void const *)__funcp_address, size);		\
+	flush_icache_range((unsigned long)(dest_buf),			\
+		(unsigned long)(dest_buf) + (size));			\
+									\
+	asm("" : "=r" (__result)					\
+		: "0" ((uintptr_t)(dest_buf)));				\
+									\
+	__result;							\
+})
+
+#endif /* !__ASM_ARM_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 3/4] arm64: Provide a fncpy implementation
  2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
                   ` (2 preceding siblings ...)
  2017-06-16 21:28 ` [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation Florian Fainelli
@ 2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28   ` Florian Fainelli
  2017-06-16 21:28 ` [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC Florian Fainelli
  4 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Utilize the asm-generic/fncpy.h implementation for ARM64 to allow the
use of drivers/misc/sram*.c on these platforms as well.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm64/include/asm/fncpy.h | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 arch/arm64/include/asm/fncpy.h

diff --git a/arch/arm64/include/asm/fncpy.h b/arch/arm64/include/asm/fncpy.h
new file mode 100644
index 000000000000..578f942f55e4
--- /dev/null
+++ b/arch/arm64/include/asm/fncpy.h
@@ -0,0 +1,6 @@
+#ifndef __ASMARM64_FNCPY_H
+#define __ASMARM64_FNCPY_H
+
+#include <asm-generic/fncpy.h>
+
+#endif /* __ASMARM64_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 3/4] arm64: Provide a fncpy implementation
  2017-06-16 21:28 ` [PATCH v2 3/4] arm64: Provide a fncpy implementation Florian Fainelli
@ 2017-06-16 21:28   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Utilize the asm-generic/fncpy.h implementation for ARM64 to allow the
use of drivers/misc/sram*.c on these platforms as well.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm64/include/asm/fncpy.h | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 arch/arm64/include/asm/fncpy.h

diff --git a/arch/arm64/include/asm/fncpy.h b/arch/arm64/include/asm/fncpy.h
new file mode 100644
index 000000000000..578f942f55e4
--- /dev/null
+++ b/arch/arm64/include/asm/fncpy.h
@@ -0,0 +1,6 @@
+#ifndef __ASMARM64_FNCPY_H
+#define __ASMARM64_FNCPY_H
+
+#include <asm-generic/fncpy.h>
+
+#endif /* __ASMARM64_FNCPY_H */
-- 
2.9.3

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

* [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC
  2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
                   ` (3 preceding siblings ...)
  2017-06-16 21:28 ` [PATCH v2 3/4] arm64: Provide a fncpy implementation Florian Fainelli
@ 2017-06-16 21:28 ` Florian Fainelli
  2017-06-16 21:28   ` Florian Fainelli
  4 siblings, 1 reply; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Now that ARM64 also has a fncpy() implementation, allow selection
SRAM_EXEC for ARM64 as well.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/misc/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 07bbd4cc1852..ac8779278c0c 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -464,7 +464,7 @@ config SRAM
 	bool "Generic on-chip SRAM driver"
 	depends on HAS_IOMEM
 	select GENERIC_ALLOCATOR
-	select SRAM_EXEC if ARM
+	select SRAM_EXEC if ARM || ARM64
 	help
 	  This driver allows you to declare a memory region to be managed by
 	  the genalloc API. It is supposed to be used for small on-chip SRAM
-- 
2.9.3

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

* [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC
  2017-06-16 21:28 ` [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC Florian Fainelli
@ 2017-06-16 21:28   ` Florian Fainelli
  0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-06-16 21:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: bcm-kernel-feedback-list, Florian Fainelli, Russell King,
	Catalin Marinas, Will Deacon, Arnd Bergmann, Greg Kroah-Hartman,
	open list, open list:GENERIC INCLUDE/ASM HEADER FILES,
	Dave Gerlach, Tony Lindgren, Keerthy J, Alexandre Belloni,
	linux-omap, Shawn Guo

Now that ARM64 also has a fncpy() implementation, allow selection
SRAM_EXEC for ARM64 as well.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/misc/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 07bbd4cc1852..ac8779278c0c 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -464,7 +464,7 @@ config SRAM
 	bool "Generic on-chip SRAM driver"
 	depends on HAS_IOMEM
 	select GENERIC_ALLOCATOR
-	select SRAM_EXEC if ARM
+	select SRAM_EXEC if ARM || ARM64
 	help
 	  This driver allows you to declare a memory region to be managed by
 	  the genalloc API. It is supposed to be used for small on-chip SRAM
-- 
2.9.3

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

end of thread, other threads:[~2017-06-16 21:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-16 21:28 [PATCH v2 0/4] Generalize fncpy availability Florian Fainelli
2017-06-16 21:28 ` Florian Fainelli
2017-06-16 21:28 ` [PATCH v2 1/4] ARM: fncpy: Rename include guards Florian Fainelli
2017-06-16 21:28   ` Florian Fainelli
2017-06-16 21:28 ` [PATCH v2 2/4] asm-generic: Provide a fncpy() implementation Florian Fainelli
2017-06-16 21:28   ` Florian Fainelli
2017-06-16 21:28 ` [PATCH v2 3/4] arm64: Provide a fncpy implementation Florian Fainelli
2017-06-16 21:28   ` Florian Fainelli
2017-06-16 21:28 ` [PATCH v2 4/4] misc: sram: Allow ARM64 to select SRAM_EXEC Florian Fainelli
2017-06-16 21:28   ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox