Hi! I just changed a bit in the accessing scheme. Previously I would have needed to disable interrupts as soon as I read or modified a BASE or SUB-Block. I have now implemented a usage field, so this odd behaviour is not needed anymore.
This also means that I can offer an API for direct accessing BASE and SUB-Blocks via pointers. Usage would be done that way: AREA_GetPtrToBASEBlock (HWDeviceID) -> Replies a pointer to the specified BASE-Block AREA_ProcDoneBASEBlock (HWDeviceID) -> Needs to get called after reading/modifying is done AREA_GetPtrToSUBBlock (HWDeviceID, &SUBBlockSize) -> Replies a pointer to the linear SUB-Block and filles SUBBlockSize with the current size of the SUB-block AREA_ProcDoneSUBBlock (HWDeviceID) The latter would also mark the BASE-Block in use, because otherwise the BASE-Block could get killed while the SUB-Block would still be accessible (this problem only occurs, because of addressing via HWDeviceID). There will be also some basic enumeration routines. I'm not sure how to implement those. They will be meant for cycling through the BASE-Block area meant for customized enumeration. Perhaps this will be done by using pointer to an index that will get incremented on every getpointer-call. Also the routines will (of course) reply a linear address under 32-bit PM and a selector:offset address under 16-bit PM. Perhaps there should be a separate APIs so that Dani will get linear address in 16-bit PM as well? So no copying anymore. I didn't like that idea the whole time. cu, Kiewitz ----------- To unsubscribe yourself from this list, send the following message to [EMAIL PROTECTED] unsubscribe acpi-os2 end