Module Name: src
Committed By: jakllsch
Date: Wed Aug 29 16:50:10 UTC 2012
Modified Files:
src/sys/dev/ic: mvsatareg.h
Log Message:
mvsata(4) DMA data structures are already __packed, but as the hardware
requires them to be 8-byte aligned, add __aligned(8) too, so that accesses
on strict alignment platforms are more efficent.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/mvsatareg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/mvsatareg.h
diff -u src/sys/dev/ic/mvsatareg.h:1.2 src/sys/dev/ic/mvsatareg.h:1.3
--- src/sys/dev/ic/mvsatareg.h:1.2 Mon Jul 23 14:07:03 2012
+++ src/sys/dev/ic/mvsatareg.h Wed Aug 29 16:50:10 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mvsatareg.h,v 1.2 2012/07/23 14:07:03 jakllsch Exp $ */
+/* $NetBSD: mvsatareg.h,v 1.3 2012/08/29 16:50:10 jakllsch Exp $ */
/*
* Copyright (c) 2008 KIYOHARA Takashi
* All rights reserved.
@@ -254,7 +254,7 @@ struct crqb {
uint32_t cprdbh; /* cPRD Desriptor Table Base High Address */
uint16_t ctrlflg; /* Control Flags */
uint16_t atacommand[11];
-} __packed;
+} __packed __aligned(8);
struct crqb_gen2e {
uint32_t cprdbl; /* cPRD Desriptor Table Base Low Address */
@@ -262,7 +262,7 @@ struct crqb_gen2e {
uint32_t ctrlflg; /* Control Flags */
uint32_t drbc; /* Data Region Byte Count */
uint32_t atacommand[4];
-} __packed;
+} __packed __aligned(8);
#define CRQB_CRQBL_EPRD_MASK 0xfffffff0
@@ -301,7 +301,7 @@ struct eprd {
uint16_t eot; /* End Of Table */
uint32_t prdbah; /* address bits[63:32] */
uint32_t resv;
-} __packed;
+} __packed __aligned(8);
#define EPRD_PRDBAL_MASK 0xfffffffe /* phy memory region mask */
@@ -314,7 +314,7 @@ struct crpb {
uint16_t id; /* CRPB ID */
uint16_t rspflg; /* CPRB Response Flags */
uint32_t ts; /* CPRB Time Stamp */
-} __packed;
+} __packed __aligned(8);
/* ID */
#define CRPB_CHOSTQUETAG(x) (((x) >> 0) & 0x7f) /* CRPB Host Q Tag */