home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-mips / mach-generic / spaces.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.8 KB  |  72 lines

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
  7.  * Copyright (C) 2000, 2002  Maciej W. Rozycki
  8.  * Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
  9.  */
  10. #ifndef _ASM_MACH_GENERIC_SPACES_H
  11. #define _ASM_MACH_GENERIC_SPACES_H
  12.  
  13.  
  14. #ifdef CONFIG_32BIT
  15.  
  16. #define CAC_BASE        0x80000000
  17. #define IO_BASE            0xa0000000
  18. #define UNCAC_BASE        0xa0000000
  19. #define MAP_BASE        0xc0000000
  20.  
  21. /*
  22.  * This handles the memory map.
  23.  * We handle pages at KSEG0 for kernels with 32 bit address space.
  24.  */
  25. #define PAGE_OFFSET        0x80000000UL
  26.  
  27. /*
  28.  * Memory above this physical address will be considered highmem.
  29.  */
  30. #ifndef HIGHMEM_START
  31. #define HIGHMEM_START        0x20000000UL
  32. #endif
  33.  
  34. #endif /* CONFIG_32BIT */
  35.  
  36. #ifdef CONFIG_64BIT
  37.  
  38. /*
  39.  * This handles the memory map.
  40.  */
  41. #ifdef CONFIG_DMA_NONCOHERENT
  42. #define PAGE_OFFSET    0x9800000000000000UL
  43. #else
  44. #define PAGE_OFFSET    0xa800000000000000UL
  45. #endif
  46.  
  47. /*
  48.  * Memory above this physical address will be considered highmem.
  49.  * Fixme: 59 bits is a fictive number and makes assumptions about processors
  50.  * in the distant future.  Nobody will care for a few years :-)
  51.  */
  52. #ifndef HIGHMEM_START
  53. #define HIGHMEM_START        (1UL << 59UL)
  54. #endif
  55.  
  56. #ifdef CONFIG_DMA_NONCOHERENT
  57. #define CAC_BASE        0x9800000000000000UL
  58. #else
  59. #define CAC_BASE        0xa800000000000000UL
  60. #endif
  61. #define IO_BASE            0x9000000000000000UL
  62. #define UNCAC_BASE        0x9000000000000000UL
  63. #define MAP_BASE        0xc000000000000000UL
  64.  
  65. #define TO_PHYS(x)        (             ((x) & TO_PHYS_MASK))
  66. #define TO_CAC(x)        (CAC_BASE   | ((x) & TO_PHYS_MASK))
  67. #define TO_UNCAC(x)        (UNCAC_BASE | ((x) & TO_PHYS_MASK))
  68.  
  69. #endif /* CONFIG_64BIT */
  70.  
  71. #endif /* __ASM_MACH_GENERIC_SPACES_H */
  72.