Hi Jernej,
I saw that you sent a pciutils/libpci patch to support your Direct IO driver on Windows. flashrom is a GPL'ed utility to read/write flash chips, e.g. the one storing BIOS/EFI on a mainboard. Right now, flashrom is quite limited on Windows: It doesn't support anything which needs MMIO/IOPort access. While it would be possible to use WinIo, the WinIo license seems to be a bit odd and may be incompatible with the GPL. Your Direct IO driver has the advantage of being GPL, but it is missing a key feature needed by flashrom: Mapping physical memory to the application (similar to MapPhysToLin in WinIo). flashrom needs uncached mappings of device memory regions, and cached mappings of RAM regions storing DMI info. I'm not sure whether NtMapViewOfSection would already be enough for this purpose, or if your Direct IO driver would have to be extended to offer such functionality.
Regards, Carl-Daniel
On 7/6/12, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Hi Jernej,
I saw that you sent a pciutils/libpci patch to support your Direct IO driver on Windows. flashrom is a GPL'ed utility to read/write flash chips, e.g. the one storing BIOS/EFI on a mainboard. Right now, flashrom is quite limited on Windows: It doesn't support anything which needs MMIO/IOPort access. While it would be possible to use WinIo, the WinIo license seems to be a bit odd and may be incompatible with the GPL. Your Direct IO driver has the advantage of being GPL, but it is missing a key feature needed by flashrom: Mapping physical memory to the application (similar to MapPhysToLin in WinIo). flashrom needs uncached mappings of device memory regions, and cached mappings of RAM regions storing DMI info. I'm not sure whether NtMapViewOfSection would already be enough for this purpose, or if your Direct IO driver would have to be extended to offer such functionality.
Regards, Carl-Daniel
flashrom mailing list flashrom@flashrom.org http://www.flashrom.org/mailman/listinfo/flashrom
Hi Carl-Daniel,
Is there any update on the Windows driver now?
I just checked the possibility to provide memory-mapped access to the MMIO area in Windows Vista/7 and the upcoming Windows 8. However, I found that the programming model both in both versions are at odd with the memory-mapped direct access in Linux. The driver I conceived back then works indeed, but it's a kludge (quick hack) and have possibility to render the system unstable.
I'll get back with more info later. But, for now I have to think over the programming model again and how to present it in Linux/Unix-friendly form.
Regards,
Darmawan