opnsense-src/sys/arm/include
Andrew Turner d8e3f572e2 When entering exception handlers we may not have an aligned stack. This is
because an exception may happen at any time. The stack alignment rules on
ARM EABI state the only place the stack must be 8-byte aligned is on a
function boundary.

If an exception happens while a function is setting up or tearing down it's
stack frame it may not be correctly aligned. There is also no requirement
for it to be when the function is a leaf node.

The fix is to align the stack after we have stored a backup of the old stack
pointer, but before we have stored anything in the trapframe. Along with
this we need to adjust the size of the trapframe by 4 bytes to ensure the
stack below it is also correctly aligned.
2013-08-05 19:06:28 +00:00
..
_align.h Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an 2009-09-08 20:45:40 +00:00
_bus.h Remove errant % in license comment. 2008-02-26 11:45:32 +00:00
_inttypes.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
_limits.h Fix types of some values in machine/_limits.h. 2011-01-08 11:13:34 +00:00
_stdint.h Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
_types.h Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
armreg.h Add identification for Cortex-A7 (R0) cores. 2013-08-01 10:06:19 +00:00
asm.h Reduce the difference to NetBSD. 2013-06-07 21:23:11 +00:00
asmacros.h When entering exception handlers we may not have an aligned stack. This is 2013-08-05 19:06:28 +00:00
at91_gpio.h Add userland access to at91 gpio functionality via ioctl calls. Also, 2013-03-29 19:52:57 +00:00
atags.h Defines for parsing linux ATAGs lists. 2012-06-14 14:38:55 +00:00
atomic.h Start adding support to build bits of our code using the Thumb-2 2013-07-20 09:24:48 +00:00
blockio.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
board.h Create a generic way to support multiple boards within an 2012-07-07 05:02:39 +00:00
bootconfig.h Remove __P 2007-03-21 03:28:16 +00:00
bus.h o Switch to use physical addresses in rman for FDT. 2013-03-18 15:18:55 +00:00
bus_dma.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
clock.h First part of a little cleanup in the calendar/timezone/RTC handling. 2006-10-02 12:59:59 +00:00
counter.h Fix issues with zeroing and fetching the counters, on x86 and ppc64. 2013-07-01 02:48:27 +00:00
cpu.h Revert r253748,253749 2013-07-28 18:44:17 +00:00
cpuconf.h Replace generic ARM11 option with more specific 2012-12-20 04:32:02 +00:00
cpufunc.h Replace generic ARM11 option with more specific 2012-12-20 04:32:02 +00:00
db_machdep.h Add "add pc, whatever" as a branch instruction, we use it in memcpy(). 2008-08-03 15:35:32 +00:00
disassem.h Catchup with new prototype for db_printf(). 2010-05-14 00:00:19 +00:00
elf.h Reserve AT_TIMEKEEP auxv entry for providing usermode the pointer to 2012-06-22 06:38:31 +00:00
endian.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
exec.h Use a common multi-inclusion protection, and add such a 2005-02-19 21:16:48 +00:00
fdt.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
fiq.h Start all license statements with /*- 2005-01-05 21:58:49 +00:00
float.h Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
floatingpoint.h
fp.h Merging projects/armv6, part 1 2012-08-15 03:03:03 +00:00
frame.h When entering exception handlers we may not have an aligned stack. This is 2013-08-05 19:06:28 +00:00
gdb_machdep.h Add remote GDB bits for arm. 2006-07-14 00:50:51 +00:00
ieee.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
in_cksum.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
intr.h Bump max number of IRQs for Cortex-Ax family to cover Exynos5 requirement. 2013-06-28 22:47:33 +00:00
katelib.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
kdb.h Define KDB_STOPPEDPCB, so that we can access the backtraces of threads running 2013-07-29 08:07:35 +00:00
limits.h netchild's mega-patch to isolate compiler dependencies into a central 2005-03-02 21:33:29 +00:00
machdep.h Add a couple forward declarations, so that board support routines don't have 2013-03-29 18:43:10 +00:00
md_var.h Merging projects/armv6, part 1 2012-08-15 03:03:03 +00:00
memdev.h Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
metadata.h Don't re-use MODINFOMD_BOOTINFO as MODINFOMD_DTBP. It breaks 2011-01-11 22:07:39 +00:00
minidump.h Support kernel crash mini dumps on ARM architecture. 2008-11-06 16:20:27 +00:00
ofw_machdep.h Initial FDT infrastructure elements for ARM. 2010-06-13 13:12:52 +00:00
param.h Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h in 2013-05-07 22:46:24 +00:00
pcb.h Merging projects/armv6, part 1 2012-08-15 03:03:03 +00:00
pcpu.h Merge from projects/counters: 2013-04-08 19:19:10 +00:00
pl310.h Only work around errata when we are on a part where the erratum applies. 2013-01-06 00:42:09 +00:00
pmap.h Stop using PVF_MOD, PVF_REF & PVF_EXEC flags in pv_entry, use PTE. 2013-05-23 12:23:18 +00:00
pmc_mdep.h Add ARM callchain support for hwpmc. 2012-06-13 06:38:25 +00:00
proc.h * Correct KINFO_PROC_SIZE for ARM EABI. 2013-01-17 09:52:35 +00:00
profile.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
psl.h Start all license statements with /*- 2005-01-05 21:58:49 +00:00
pte.h Merging projects/armv6, part 1 2012-08-15 03:03:03 +00:00
ptrace.h
reg.h Protect the function declarations with #ifdef _KERNEL. 2004-11-04 19:20:54 +00:00
reloc.h
resource.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
runq.h Start all license statements with /*- 2005-01-05 21:58:49 +00:00
sc_machdep.h Piggyback MIPS changes and add ARM syscons support for devices with 2012-08-25 23:59:31 +00:00
setjmp.h Merge in changes from NetBSD: 2013-06-08 07:16:22 +00:00
sf_buf.h Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it maps 2006-08-08 20:59:38 +00:00
sigframe.h
signal.h Don't use an empty struct. 2013-03-11 10:56:46 +00:00
smp.h Explicitely include <machine/pcb.h>, so that we get the definition of 2013-07-29 12:55:37 +00:00
stack.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
stdarg.h Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoletes 2006-09-21 01:37:02 +00:00
swi.h Start all license statements with /*- 2005-01-05 21:58:49 +00:00
sysarch.h - Correct mispellings of the word occurrence 2013-04-17 11:40:10 +00:00
trap.h Add support for ptrace() and gdb breakpoints. 2005-01-10 22:43:16 +00:00
ucontext.h The NetBSD Foundation has granted permission to remove clauses 3 and 4. 2010-02-16 21:59:17 +00:00
undefined.h Remove __P 2007-03-21 03:28:16 +00:00
utrap.h
vdso.h Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
vfp.h Fix the vfp code to work with the 16 register variants of the VFP unit. We 2013-06-13 21:31:33 +00:00
vm.h Properly implement pmap_[get|set]_memattr 2012-12-19 00:24:31 +00:00
vmparam.h Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h in 2013-05-07 22:46:24 +00:00