diff options
Diffstat (limited to 'arch/x86_64/lib/io_64.c')
-rw-r--r-- | arch/x86_64/lib/io_64.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/x86_64/lib/io_64.c b/arch/x86_64/lib/io_64.c new file mode 100644 index 00000000000..87b4a4e1803 --- /dev/null +++ b/arch/x86_64/lib/io_64.c @@ -0,0 +1,23 @@ +#include <linux/string.h> +#include <asm/io.h> +#include <linux/module.h> + +void __memcpy_toio(unsigned long dst,const void*src,unsigned len) +{ + __inline_memcpy((void *) dst,src,len); +} +EXPORT_SYMBOL(__memcpy_toio); + +void __memcpy_fromio(void *dst,unsigned long src,unsigned len) +{ + __inline_memcpy(dst,(const void *) src,len); +} +EXPORT_SYMBOL(__memcpy_fromio); + +void memset_io(volatile void __iomem *a, int b, size_t c) +{ + /* XXX: memset can mangle the IO patterns quite a bit. + perhaps it would be better to use a dumb one */ + memset((void *)a,b,c); +} +EXPORT_SYMBOL(memset_io); |