Index: nvme.c =================================================================== RCS file: /cvs/src/sys/dev/ic/nvme.c,v retrieving revision 1.98 diff -u -p -r1.98 nvme.c --- nvme.c 31 May 2021 04:13:42 -0000 1.98 +++ nvme.c 31 May 2021 04:45:20 -0000 @@ -141,15 +141,9 @@ u_int64_t nvme_read8(struct nvme_softc *sc, bus_size_t r) { u_int64_t v; - u_int32_t *a = (u_int32_t *)&v; -#if _BYTE_ORDER == _LITTLE_ENDIAN - a[0] = nvme_read4(sc, r); - a[1] = nvme_read4(sc, r + 4); -#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ - a[1] = nvme_read4(sc, r); - a[0] = nvme_read4(sc, r + 4); -#endif + v = (u_int64_t)nvme_read4(sc, r) | + (u_int64_t)nvme_read4(sc, r + 4) << 32; return (v); } @@ -157,15 +151,8 @@ nvme_read8(struct nvme_softc *sc, bus_si void nvme_write8(struct nvme_softc *sc, bus_size_t r, u_int64_t v) { - u_int32_t *a = (u_int32_t *)&v; - -#if _BYTE_ORDER == _LITTLE_ENDIAN - nvme_write4(sc, r, a[0]); - nvme_write4(sc, r + 4, a[1]); -#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ - nvme_write4(sc, r, a[1]); - nvme_write4(sc, r + 4, a[0]); -#endif + nvme_write4(sc, r, v); + nvme_write4(sc, r + 4, v >> 32); } void