io.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/arch-ebsa285/io.h
  3.  *
  4.  *  Copyright (C) 1997-1999 Russell King
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  *
  10.  *  Modifications:
  11.  *   06-12-1997 RMK Created.
  12.  *   07-04-1999 RMK Major cleanup
  13.  */
  14. #ifndef __ASM_ARM_ARCH_IO_H
  15. #define __ASM_ARM_ARCH_IO_H
  16. #define IO_SPACE_LIMIT 0xffff
  17. /*
  18.  * Translation of various region addresses to virtual addresses
  19.  */
  20. #define __io(a) ((void __iomem *)(PCIO_BASE + (a)))
  21. #if 1
  22. #define __mem_pci(a) (a)
  23. #define __mem_isa(a) ((a) + PCIMEM_BASE)
  24. #else
  25. static inline void __iomem *___mem_pci(void __iomem *p)
  26. {
  27. unsigned long a = (unsigned long)p;
  28. BUG_ON(a <= 0xc0000000 || a >= 0xe0000000);
  29. return p;
  30. }
  31. static inline void __iomem *___mem_isa(void __iomem *p)
  32. {
  33. unsigned long a = (unsigned long)p;
  34. BUG_ON(a >= 16*1048576);
  35. return p + PCIMEM_BASE;
  36. }
  37. #define __mem_pci(a) ___mem_pci(a)
  38. #define __mem_isa(a) ___mem_isa(a)
  39. #endif
  40. #endif