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); /*