On Tue, Dec 10, 2024 at 05:19:37AM -0800, Ramesh Thomas wrote: > Definitions of ioread64 and iowrite64 macros in asm/io.h called by vfio > pci implementations are enclosed inside check for CONFIG_GENERIC_IOMAP. > They don't get defined if CONFIG_GENERIC_IOMAP is defined. Include > linux/io-64-nonatomic-lo-hi.h to define iowrite64 and ioread64 macros > when they are not defined. io-64-nonatomic-lo-hi.h maps the macros to > generic implementation in lib/iomap.c. The generic implementation does > 64 bit rw if readq/writeq is defined for the architecture, otherwise it > would do 32 bit back to back rw. > > Note that there are two versions of the generic implementation that > differs in the order the 32 bit words are written if 64 bit support is > not present. This is not the little/big endian ordering, which is > handled separately. This patch uses the lo followed by hi word ordering > which is consistent with current back to back implementation in the > vfio/pci code. > > Signed-off-by: Ramesh Thomas <ramesh.thomas@xxxxxxxxx> > --- > drivers/vfio/pci/vfio_pci_rdwr.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason