memory.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * linux/include/asm-arm/arch-nexuspci/memory.h
  3.  *
  4.  * Copyright (c) 1997, 1998, 2000 FutureTV Labs Ltd.
  5.  * Copyright (c) 1999 Russell King
  6.  *
  7.  */
  8. #ifndef __ASM_ARCH_MMU_H
  9. #define __ASM_ARCH_MMU_H
  10. /*
  11.  * Task size: 3GB
  12.  */
  13. #define TASK_SIZE (0xc0000000UL)
  14. #define TASK_SIZE_26 (0x04000000UL)
  15. /*
  16.  * This decides where the kernel will search for a free chunk of vm
  17.  * space during mmap's.
  18.  */
  19. #define TASK_UNMAPPED_BASE (TASK_SIZE / 3)
  20. /*
  21.  * Page offset: 3GB
  22.  */
  23. #define PAGE_OFFSET (0xc0000000UL)
  24. #define PHYS_OFFSET (0x40000000UL)
  25. #define BUS_OFFSET (0xe0000000UL)
  26. /*
  27.  * DRAM is contiguous
  28.  */
  29. #define __virt_to_phys(vpage) ((unsigned long)(vpage) - PAGE_OFFSET + PHYS_OFFSET)
  30. #define __phys_to_virt(ppage) ((unsigned long)(ppage) + PAGE_OFFSET - PHYS_OFFSET)
  31. #define __virt_to_phys__is_a_macro
  32. #define __phys_to_virt__is_a_macro
  33. /*
  34.  * On the PCI bus the DRAM appears at address 0xe0000000
  35.  */
  36. #define __virt_to_bus__is_a_macro
  37. #define __virt_to_bus(x) ((unsigned long)(x) - PAGE_OFFSET + BUS_OFFSET)
  38. #define __bus_to_virt__is_a_macro
  39. #define __bus_to_virt(x) ((unsigned long)(x) + PAGE_OFFSET - BUS_OFFSET)
  40. #define PHYS_TO_NID(addr) (0)
  41. #endif