This is the definition of pciConfigWrite8 from JMicronATAPCIRoot:
void CLASS::pciConfigWrite8( UInt8 offset, UInt8 data, UInt8 mask )
{
UInt8 u8;
IOLockLock( fPCILock );
u8 = fProvider->configRead8( offset );
u8 &= ~mask;
u8 |= (mask & data);
fProvider->configWrite8( offset, u8 );
IOLockUnlock( fPCILock );
}
This is used to write bits. So the mask is used to tell wich bits we
are replacing.
If you set the mask in 0xFF, then every bit is written.