Go to the documentation of this file.
5 #include <linux/kernel.h>
6 #include <linux/types.h>
7 #include <linux/string.h>
8 #include <linux/module.h>
215 while ((
unsigned long)dst & 0x3) {
219 *(
unsigned char *)dst =
ioread8(port);
230 *(
unsigned int *)dst = w;
236 *(
unsigned char *)dst =
ioread8(port);
258 if (
unlikely((
unsigned long)dst & 0x3)) {
261 BUG_ON((
unsigned long)dst & 0x1);
263 *(
unsigned short *)dst =
ioread16(port);
272 *(
unsigned int *)dst = w;
277 *(
unsigned short*)dst =
ioread16(port);
298 if (
unlikely((
unsigned long)dst & 0x3)) {
307 *(
unsigned int *)dst =
ioread32(port);
330 const unsigned char *
src = xsrc;
352 if (
unlikely((
unsigned long)src & 0x3)) {
355 BUG_ON((
unsigned long)src & 0x1);
364 w = *(
unsigned int *)src;
392 if (
unlikely((
unsigned long)src & 0x3)) {
425 if (count >= 8 && ((
u64)to & 7) == ((
u64)from & 7)) {
432 }
while (count >= 0);
436 if (count >= 4 && ((
u64)to & 3) == ((
u64)from & 3)) {
443 }
while (count >= 0);
447 if (count >= 2 && ((
u64)to & 1) == ((
u64)from & 1)) {
454 }
while (count >= 0);
480 if (count >= 8 && ((
u64)to & 7) == ((
u64)from & 7)) {
487 }
while (count >= 0);
491 if (count >= 4 && ((
u64)to & 3) == ((
u64)from & 3)) {
498 }
while (count >= 0);
502 if (count >= 2 && ((
u64)to & 1) == ((
u64)from & 1)) {
509 }
while (count >= 0);
531 if (count > 0 && ((
u64)to & 1)) {
538 if (count >= 2 && ((
u64)to & 2)) {
545 if (count >= 4 && ((
u64)to & 4)) {
559 }
while (count >= 0);
594 int s_isio = __is_ioaddr(s);
595 int d_isio = __is_ioaddr(d);