After investigating a little more I have the impression, that
a) Alex's patch #4 is required
and
b) 'val' does not need to be initialised
Thus remains replacing each of the two instances of 0x10000000U with 0x80000000U,
where it remains open whether the 'xor' operation (now on bit 31 rather than bit 27) in vfio_rtl8168_window_quirk_read() really creates the required result.
I'd rather envision an 'or bit31' or an 'and ~bit31'.
After investigating a little more I have the impression, that
a) Alex's patch #4 is required
and
b) 'val' does not need to be initialised
Thus remains replacing each of the two instances of 0x10000000U with 0x80000000U, window_ quirk_read( ) really creates the required result.
where it remains open whether the 'xor' operation (now on bit 31 rather than bit 27) in vfio_rtl8168_
I'd rather envision an 'or bit31' or an 'and ~bit31'.