Module Name: src
Committed By: martin
Date: Wed Nov 19 10:01:50 UTC 2014
Modified Files:
src/sys/arch/arm/arm32: arm32_machdep.c
Log Message:
Add a machdep.unaligned_sigbus sysctl (just like alpha does), but on
arm it is readonly (depends on architecture version).
To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 src/sys/arch/arm/arm32/arm32_machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/arm32/arm32_machdep.c
diff -u src/sys/arch/arm/arm32/arm32_machdep.c:1.107 src/sys/arch/arm/arm32/arm32_machdep.c:1.108
--- src/sys/arch/arm/arm32/arm32_machdep.c:1.107 Wed Oct 29 14:14:14 2014
+++ src/sys/arch/arm/arm32/arm32_machdep.c Wed Nov 19 10:01:50 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: arm32_machdep.c,v 1.107 2014/10/29 14:14:14 skrll Exp $ */
+/* $NetBSD: arm32_machdep.c,v 1.108 2014/11/19 10:01:50 martin Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.107 2014/10/29 14:14:14 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.108 2014/11/19 10:01:50 martin Exp $");
#include "opt_modular.h"
#include "opt_md.h"
@@ -108,6 +108,7 @@ int cpu_simd_present;
int cpu_simdex_present;
int cpu_umull_present;
int cpu_synchprim_present;
+int cpu_unaligned_sigbus;
const char *cpu_arch = "";
int cpu_instruction_set_attributes[6];
@@ -504,6 +505,13 @@ SYSCTL_SETUP(sysctl_machdep_setup, "sysc
CTLTYPE_INT, "printfataltraps", NULL,
NULL, 0, &cpu_printfataltraps, 0,
CTL_MACHDEP, CTL_CREATE, CTL_EOL);
+ cpu_unaligned_sigbus = !CPU_IS_ARMV6_P() && !CPU_IS_ARMV7_P();
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT|CTLFLAG_READONLY,
+ CTLTYPE_INT, "unaligned_sigbus",
+ SYSCTL_DESCR("Do SIGBUS for fixed unaligned accesses"),
+ NULL, 0, &cpu_unaligned_sigbus, 0,
+ CTL_MACHDEP, CTL_CREATE, CTL_EOL);
/*