sysctl: Enable PARISC "unaligned-trap" to be used cross-arch
PARISC defines /proc/sys/kernel/unaligned-trap to runtime toggle unaligned access emulation. The exact mechanics of enablig/disabling are still arch specific, we can make the sysctl usable by other arches. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Acked-by: Helge Deller <deller@gmx.de> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Helge Deller <deller@gmx.de> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Serge Hallyn <serge.hallyn@canonical.com>
This commit is contained in:
parent
4d86dfbbda
commit
bf14e3b979
3 changed files with 14 additions and 0 deletions
|
@ -20,6 +20,7 @@ config PARISC
|
||||||
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
||||||
select GENERIC_SMP_IDLE_THREAD
|
select GENERIC_SMP_IDLE_THREAD
|
||||||
select GENERIC_STRNCPY_FROM_USER
|
select GENERIC_STRNCPY_FROM_USER
|
||||||
|
select SYSCTL_ARCH_UNALIGN_ALLOW
|
||||||
select HAVE_MOD_ARCH_SPECIFIC
|
select HAVE_MOD_ARCH_SPECIFIC
|
||||||
select MODULES_USE_ELF_RELA
|
select MODULES_USE_ELF_RELA
|
||||||
select CLONE_BACKWARDS
|
select CLONE_BACKWARDS
|
||||||
|
|
|
@ -1232,6 +1232,14 @@ config SYSCTL_EXCEPTION_TRACE
|
||||||
help
|
help
|
||||||
Enable support for /proc/sys/debug/exception-trace.
|
Enable support for /proc/sys/debug/exception-trace.
|
||||||
|
|
||||||
|
config SYSCTL_ARCH_UNALIGN_ALLOW
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
Enable support for /proc/sys/kernel/unaligned-trap
|
||||||
|
Allows arches to define/use @unaligned_enabled to runtime toggle
|
||||||
|
the unaligned access emulation.
|
||||||
|
see arch/parisc/kernel/unaligned.c for reference
|
||||||
|
|
||||||
config KALLSYMS
|
config KALLSYMS
|
||||||
bool "Load all symbols for debugging/ksymoops" if EXPERT
|
bool "Load all symbols for debugging/ksymoops" if EXPERT
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -157,6 +157,9 @@ extern int sysctl_tsb_ratio;
|
||||||
|
|
||||||
#ifdef __hppa__
|
#ifdef __hppa__
|
||||||
extern int pwrsw_enabled;
|
extern int pwrsw_enabled;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW
|
||||||
extern int unaligned_enabled;
|
extern int unaligned_enabled;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -545,6 +548,8 @@ static struct ctl_table kern_table[] = {
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = proc_dointvec,
|
.proc_handler = proc_dointvec,
|
||||||
},
|
},
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW
|
||||||
{
|
{
|
||||||
.procname = "unaligned-trap",
|
.procname = "unaligned-trap",
|
||||||
.data = &unaligned_enabled,
|
.data = &unaligned_enabled,
|
||||||
|
|
Loading…
Reference in a new issue