summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-18 16:39:47 +0000
committerian <ian@FreeBSD.org>2014-05-18 16:39:47 +0000
commit37b56a8b54d26c664537e07a751efb2859aa4348 (patch)
tree6bf493f4ead54b63b1d6a266de7cfb898fa7ca21 /sys/arm/include
parent8f8f979e4b4f105be1a895cffa28543139db5b7d (diff)
downloadFreeBSD-src-37b56a8b54d26c664537e07a751efb2859aa4348.zip
FreeBSD-src-37b56a8b54d26c664537e07a751efb2859aa4348.tar.gz
MFC 257231:
Make sure the PCB is aligned on 8 bytes, we may use ldrd/strd to access it, which may have strong alignment requirements.
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/pcb.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arm/include/pcb.h b/sys/arm/include/pcb.h
index 0806cd8..252d94e 100644
--- a/sys/arm/include/pcb.h
+++ b/sys/arm/include/pcb.h
@@ -80,7 +80,11 @@ struct pcb {
struct pcb_arm32 un_32;
struct vfp_state pcb_vfpstate; /* VP/NEON state */
u_int pcb_vfpcpu; /* VP/NEON last cpu */
-};
+} __aligned(8); /*
+ * We need the PCB to be aligned on 8 bytes, as we may
+ * access it using ldrd/strd, and some CPUs require it
+ * to by aligned on 8 bytes.
+ */
/*
* No additional data for core dumps.
OpenPOWER on IntegriCloud