* [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