io_64.c 580 B

1234567891011121314151617181920212223
  1. #include <linux/string.h>
  2. #include <asm/io.h>
  3. #include <linux/module.h>
  4. void __memcpy_toio(unsigned long dst,const void*src,unsigned len)
  5. {
  6. __inline_memcpy((void *) dst,src,len);
  7. }
  8. EXPORT_SYMBOL(__memcpy_toio);
  9. void __memcpy_fromio(void *dst,unsigned long src,unsigned len)
  10. {
  11. __inline_memcpy(dst,(const void *) src,len);
  12. }
  13. EXPORT_SYMBOL(__memcpy_fromio);
  14. void memset_io(volatile void __iomem *a, int b, size_t c)
  15. {
  16. /* XXX: memset can mangle the IO patterns quite a bit.
  17. perhaps it would be better to use a dumb one */
  18. memset((void *)a,b,c);
  19. }
  20. EXPORT_SYMBOL(memset_io);