libpciaccess is the most famous generic library which allows us to access to PCI drivers under Linux and BSD systems.
As you may know, libpciaccess is not supported under Windows for various reasons that I don’t really know, but the most important one is probably because almost all developers of open source drivers use Linux only.
These counters are programmed using PCOUNTER, the hardware unit that contains performance monitoring counters, and they are exposed by MMIO. So, I need to have a full access to PCI drivers in order to map physical memory of the blob into the virtual address space.
So, I added Windows support into libpciaccess that now allows me to use the NVA tools (nvapeek, nvapoke…). That support is for Cygwin only mainly because I didn’t test my implementation under MinGW, but I believe that may be really easy to port it.
See you soon!