svn commit: r314888 - head/sys/dev/nvme

Warner Losh imp at FreeBSD.org
Tue Mar 7 23:03:01 UTC 2017


Author: imp
Date: Tue Mar  7 23:02:59 2017
New Revision: 314888
URL: https://svnweb.freebsd.org/changeset/base/314888

Log:
  cwd10 takes the low 32-bits and cwd11 takes the upper 32-bits of the
  lba. Rather than do a cast to uint64_t, which clang warns might be
  unaligned, do the stores 32-bits at a time.
  
  Sponsored by: Netflix

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

Modified: head/sys/dev/nvme/nvme.h
==============================================================================
--- head/sys/dev/nvme/nvme.h	Tue Mar  7 22:42:44 2017	(r314887)
+++ head/sys/dev/nvme/nvme.h	Tue Mar  7 23:02:59 2017	(r314888)
@@ -955,7 +955,8 @@ void	nvme_ns_rw_cmd(struct nvme_command 
 {
 	cmd->opc = rwcmd;
 	cmd->nsid = nsid;
-	*(uint64_t *)&cmd->cdw10 = lba;
+	cmd->cdw10 = lba & 0xffffffffu;
+	cmd->cdw11 = lba >> 32;
 	cmd->cdw12 = count-1;
 	cmd->cdw13 = 0;
 	cmd->cdw14 = 0;


More information about the svn-src-all mailing list