[rtems-libbsd commit] NVME(4): Big endian support

Sebastian Huber sebh at rtems.org
Wed Nov 13 12:07:43 UTC 2019


Module:    rtems-libbsd
Branch:    master
Commit:    59951a9a9cda7628c8e173fa2ecd926ce2971837
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=59951a9a9cda7628c8e173fa2ecd926ce2971837

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jul 18 10:19:11 2019 +0200

NVME(4): Big endian support

Update #3821.

---

 freebsd/sys/dev/nvme/nvme_private.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/freebsd/sys/dev/nvme/nvme_private.h b/freebsd/sys/dev/nvme/nvme_private.h
index e473ec4..f2f7d2b 100644
--- a/freebsd/sys/dev/nvme/nvme_private.h
+++ b/freebsd/sys/dev/nvme/nvme_private.h
@@ -338,20 +338,20 @@ struct nvme_controller {
 	offsetof(struct nvme_registers, reg)
 
 #define nvme_mmio_read_4(sc, reg)					       \
-	bus_space_read_4((sc)->bus_tag, (sc)->bus_handle,		       \
-	    nvme_mmio_offsetof(reg))
+	le32toh(bus_space_read_4((sc)->bus_tag, (sc)->bus_handle,	       \
+	    nvme_mmio_offsetof(reg)))
 
 #define nvme_mmio_write_4(sc, reg, val)					       \
 	bus_space_write_4((sc)->bus_tag, (sc)->bus_handle,		       \
-	    nvme_mmio_offsetof(reg), val)
+	    nvme_mmio_offsetof(reg), htole32(val))
 
 #define nvme_mmio_write_8(sc, reg, val)					       \
 	do {								       \
 		bus_space_write_4((sc)->bus_tag, (sc)->bus_handle,	       \
-		    nvme_mmio_offsetof(reg), val & 0xFFFFFFFF); 	       \
+		    nvme_mmio_offsetof(reg), htole32(val & 0xFFFFFFFF));       \
 		bus_space_write_4((sc)->bus_tag, (sc)->bus_handle,	       \
 		    nvme_mmio_offsetof(reg)+4,				       \
-		    (val & 0xFFFFFFFF00000000ULL) >> 32);		       \
+		    htole32((val & 0xFFFFFFFF00000000ULL) >> 32));	       \
 	} while (0);
 
 #define nvme_printf(ctrlr, fmt, args...)	\



More information about the vc mailing list