-
Robert Sprowson authored
Previously the behaviour was thus MemoryRead for (i = 0; i < wordcount; i++) buffer[i] = *pcimem MemoryWrite for (i = 0; i < wordcount; i++) pcimem[i] = *buffer so in the write case the buffer was largely redundant and the SWI would data abort when copying > 1MB as it fell outside the temporary IO assignment from OS_Memory 14. Now it does MemoryWrite for (i = 0; i < wordcount; i++) *pcimem = buffer[i] the most common case where wordcount = 1 is unchanged, and MemoryRead is unchanged. Also - sprinkle in some more comments - make use of mem_to_phys_offset that the HAL is kind enough to have given us, even if it is 0 - update the capability id bits from PCI-SIG ECN from April 2010 Tested with a parallel port PCI card, which reported it had vendor specific capabilities (InfCap09). Version 0.13. Tagged as 'PCI-0_13'
d67152f4