this patch will implement Timestamp get/set feature for NVMe controller.
We can benefit this feature for test purpose when develop other tools such as nvmecontrol.
Differential D32903
bhyve: implement Timestamp get/set feature for NVMe controller wanpengqian_gmail.com on Nov 9 2021, 8:57 AM. Authored by Tags None Referenced Files
Details
Diff Detail
Event TimelineComment Actions Thank you! The standard about timestamp is very hard to understand. I am not sure I am doing the right thing... Comment Actions I'm unfamiliar with nvme. I can't help you checking whether it's correctly implemented or not. Btw.: I'm not a FreeBSD committer. I can't merge your patch. However, I can't see any reason why this patch shouldn't be merged (if it's correctly implemented). Comment Actions This does not appear to implement either Set or Get correctly. For example, it does not use the Timestamp Origin field on Get's. Ignoring the implementation issues (which can be fixed), the Timestamp feature is useful if the Controller supports Persistent Logs and/or Events. But because the bhyve emulation doesn't implement either of these, it isn't immediately clear to me how this would get used. Can you offer some insight?
Comment Actions I will do more inspections on this.
From NVMe spec(1.4c), here is the quota: Timestamp values should not be used for security applications. Other application use of the Timestamp is outside the scope of this specification. The specification didn't say it relates to Persistent Logs and/or Events. so I just implement it as spec documents. Comment Actions You are quoting the specification correctly, but it may be instructive to look at what other parts of the specification reference timestamps. If there are existing consumers of the timestamp functionality, I'd be interested in learning more about their requirements. But I'm reluctant to add functionality to the emulation that would not be used. |