Sr329824 changed a couple of data structures in dev/nvme/nvme.h. This revision chases the changes made in Sr329824 allowing sysutils/smartmontools to build again under -CURRENT.
Tests pass on my infrastructure at home. However additional testing by others with nvme controller would be appreciated.
Unfortunately I'm not able to test this today and provide a patch but I think what needs to be done is:
- include <sys/endian.h>
- add htole32() for in.nsid and also for every cdwXX field
- call nvme_completion_swapbytes() before reading cdw0
I disagree. What you are suggesting should be a separate revision and a separate commit. Do not mix fixing a little endian build with adding big endian capability. They are two separate issues.
The steps must be:
- Fix the port's build as broken by Sr329824.
- Create a new revision to support big endian architectures.
Let's go ahead and commit this break fix and create a new big endian revision.