[PATCH 0 of 2] MMIO copy patches, the next generation

From: Bryan O'Sullivan
Date: Thu Jan 12 2006 - 12:06:04 EST


After another round of review, here is a revised set of MMIO copy patches.

These have switched the name of the copy routine to __iowrite32_copy,
to match the naming convention in include/asm-generic/iomap.h, and at
Andi's request. The name is double-underscored to make it clear that
the routine does not guarantee the order of writes or perform a memory
barrier; the kernel doc also explicitly states this.

These define the generic __iowrite32_copy as a weak symbol, which
arches are free to override. We provide a specialised implementation
for x86_64. In a change from prior versions of these patches, the x86_64
version no longer makes any assumptions about the bus breaking up 64-bit
transactions, and uses 32-bit copies directly.

We also introduce include/linux/io.h, which is tiny now, but a candidate
for later cleanups of all the per-arch asm-*/{io,iomap}.h files.

These patches should apply cleanly against current -git, and have been
tested on i386 and x86_64.

The patch series is as follows:

iomap_copy.patch
Introduce the generic MMIO 32-bit copy routine.

x86_64-iomap_copy.patch
Add a faster __iowrite32_copy routine to x86_64.

Signed-off-by: Bryan O'Sullivan <bos@xxxxxxxxxxxxx>