Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Sep 2012 18:16:53 +0000 (UTC)
From:      Jim Harris <jimharris@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r240671 - head/sys/dev/nvme
Message-ID:  <201209181816.q8IIGrSc038928@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jimharris
Date: Tue Sep 18 18:16:52 2012
New Revision: 240671
URL: http://svn.freebsd.org/changeset/base/240671

Log:
  Add __aligned(4) to NVMe defined data structures.
  
  This fixes issue in nvmecontrol(8), where clang throws a cast-align
  warning when casting a __packed structure pointer to a uint32_t
  pointer as part of printing raw hex output.
  
  Reported by: dhw

Modified:
  head/sys/dev/nvme/nvme.h

Modified: head/sys/dev/nvme/nvme.h
==============================================================================
--- head/sys/dev/nvme/nvme.h	Tue Sep 18 17:30:08 2012	(r240670)
+++ head/sys/dev/nvme/nvme.h	Tue Sep 18 18:16:52 2012	(r240671)
@@ -513,7 +513,7 @@ struct nvme_controller_data {
 
 	/* bytes 3072-4095: vendor specific */
 	uint8_t			reserved7[1024];
-} __packed;
+} __packed __aligned(4);
 
 struct nvme_namespace_data {
 
@@ -603,7 +603,7 @@ struct nvme_namespace_data {
 	uint8_t			reserved6[192];
 
 	uint8_t			vendor_specific[3712];
-};
+} __packed __aligned(4);
 
 enum nvme_log_page {
 
@@ -661,7 +661,7 @@ struct nvme_health_information_page {
 	uint64_t		num_error_info_log_entries[2];
 
 	uint8_t			reserved2[320];
-} __packed;
+} __packed __aligned(4);
 
 #define NVME_TEST_MAX_THREADS	128
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209181816.q8IIGrSc038928>