RE: [Question] Alignment requirement for readX() and writeX()

From: David Laight
Date: Mon Aug 02 2021 - 04:37:11 EST


From: Arnd Bergmann
> Sent: 30 July 2021 17:59
...
> I am not aware of any driver that requires unaligned access on __iomem
> pointers, and since it definitely doesn't work on most architectures, ...

Unaligned accesses into PCIe space can generate a TLP that requests
only some bytes of the first and last 32bit words be transferred.
The target is expected to honour such requests.

On the x86 systems where I've looked at a TLP trace misaligned
accesses are even atomic provided the target doesn't let a local
request interleave.

OTOH drivers are unlikely to make such requests.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)