> An implementation of a generic NVMe Controller PCI device, developed > from the open standard available at nvmexpress.org. > > Cc: Michael S. Tsirkin <m...@redhat.com> > Cc: Keith Busch <keith.bu...@gmail.com> > Signed-off-by: Keith Busch <keith.bu...@intel.com> > --- > I've developed for QEMU for a little while, but this is my first patch, so > I wouldn't be the least bit surprised if I broke some qemu dev rules. > > I wasn't sure if I should submit this as really I think only driver > developers would be interested. Since it is a fairly large patch, maybe > no one would review it if they don't already have an interest in NVM > Express, but we found emulation quite helpful in driver development as > real hardware is only recently starting to be released, and hope others > others might find this helpful too. So if this is accepted, us driver > developers can get all the benefits of the latest QEMU without managing > our own branch like we're doing today! :) > > This implementation tries to use the loosest possible constraints the > standard allows. Potential settings not settable by the host driver at > run-time can be adjusted with the device properties when starting qemu. > This patch or some variant was tested against guest instances with drivers > developed for Linux, Win2k8 OFA, FreeBSD, UEFI, and, interestingly > enough, ESXi 5.1. I did not test every possible combination of parameters, > though. > > One thing I wanted to note: I tried to use the QEMU thread library > exclusively instead of posix, but it is lacking read/write locks, so > there is some pthread stuff here if that's okay. >
Hi, new contributions should use "GNU GPL v2 or later" instead of "GNU GPL v2". Compilation with MinGW-w64 fails: qemu/hw/nvme.c:61:22: fatal error: sys/mman.h: No such file or directory compilation terminated. make: *** [hw/nvme.o] Error 1 I expect that the pthread stuff will also be missing for MinGW-w64. Regards Stefan Weil