Stefan Reinauer wrote:
Oh I love playing advocatus diaboli ;-)
- Jeremy Jackson jerj@coplanar.net [070611 16:58]:
One thing that should really drive this home, is that using this architecture on Linux *and* Windows, the same userspace tool could be used on both, so the fancy code for incremental updates, writing parameter blocks, etc., wouldn't have to be duplicated.
It should not be duplicated anyways. The Windows driver currently only takes care of mapping memory into user space if I remember correctly.
The current experimental windows driver is capable of _mapping_ the entire 4GB physical address space to user mode application and doing a direct IO transcation (which is bad :-( ). I'm currently working to limit the mapping to the top 16MB below the 4GB limit. It should be trivial. And other thing is to remove the direct IO routine because it's too dangerous and replace it with "Windows driver setup API" instead because what flashrom need is only the PCI id's and some other stuff that I think can be found in windows device configuration information through the setup API. (i.e. CM_xxx function in PnP "manager" or the SetupDi family of API). FYI, I haven't managed to complete a version that can be tested because of my exam last week. Hopefully there will be significant progress this week.
--Darmawan