home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / s390 / include / asm / setup.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.7 KB  |  141 lines

  1. /*
  2.  *  include/asm-s390/setup.h
  3.  *
  4.  *  S390 version
  5.  *    Copyright IBM Corp. 1999,2006
  6.  */
  7.  
  8. #ifndef _ASM_S390_SETUP_H
  9. #define _ASM_S390_SETUP_H
  10.  
  11. #define COMMAND_LINE_SIZE    1024
  12.  
  13. #define ARCH_COMMAND_LINE_SIZE    896
  14.  
  15. #ifdef __KERNEL__
  16.  
  17. #include <asm/types.h>
  18.  
  19. #define PARMAREA        0x10400
  20. #define MEMORY_CHUNKS        256
  21.  
  22. #ifndef __ASSEMBLY__
  23.  
  24. #ifndef __s390x__
  25. #define IPL_DEVICE        (*(unsigned long *)  (0x10404))
  26. #define INITRD_START      (*(unsigned long *)  (0x1040C))
  27. #define INITRD_SIZE       (*(unsigned long *)  (0x10414))
  28. #else /* __s390x__ */
  29. #define IPL_DEVICE        (*(unsigned long *)  (0x10400))
  30. #define INITRD_START      (*(unsigned long *)  (0x10408))
  31. #define INITRD_SIZE       (*(unsigned long *)  (0x10410))
  32. #endif /* __s390x__ */
  33. #define COMMAND_LINE      ((char *)            (0x10480))
  34.  
  35. #define CHUNK_READ_WRITE 0
  36. #define CHUNK_READ_ONLY  1
  37.  
  38. struct mem_chunk {
  39.     unsigned long addr;
  40.     unsigned long size;
  41.     int type;
  42. };
  43.  
  44. extern struct mem_chunk memory_chunk[];
  45. extern unsigned long real_memory_size;
  46.  
  47. void detect_memory_layout(struct mem_chunk chunk[]);
  48.  
  49. #ifdef CONFIG_S390_SWITCH_AMODE
  50. extern unsigned int switch_amode;
  51. #else
  52. #define switch_amode    (0)
  53. #endif
  54.  
  55. #ifdef CONFIG_S390_EXEC_PROTECT
  56. extern unsigned int s390_noexec;
  57. #else
  58. #define s390_noexec    (0)
  59. #endif
  60.  
  61. /*
  62.  * Machine features detected in head.S
  63.  */
  64. extern unsigned long machine_flags;
  65.  
  66. #define MACHINE_FLAG_VM        (1UL << 0)
  67. #define MACHINE_FLAG_IEEE    (1UL << 1)
  68. #define MACHINE_FLAG_CSP    (1UL << 3)
  69. #define MACHINE_FLAG_MVPG    (1UL << 4)
  70. #define MACHINE_FLAG_DIAG44    (1UL << 5)
  71. #define MACHINE_FLAG_IDTE    (1UL << 6)
  72. #define MACHINE_FLAG_DIAG9C    (1UL << 7)
  73. #define MACHINE_FLAG_MVCOS    (1UL << 8)
  74. #define MACHINE_FLAG_KVM    (1UL << 9)
  75. #define MACHINE_FLAG_HPAGE    (1UL << 10)
  76. #define MACHINE_FLAG_PFMF    (1UL << 11)
  77.  
  78. #define MACHINE_IS_VM        (machine_flags & MACHINE_FLAG_VM)
  79. #define MACHINE_IS_KVM        (machine_flags & MACHINE_FLAG_KVM)
  80. #define MACHINE_HAS_DIAG9C    (machine_flags & MACHINE_FLAG_DIAG9C)
  81.  
  82. #ifndef __s390x__
  83. #define MACHINE_HAS_IEEE    (machine_flags & MACHINE_FLAG_IEEE)
  84. #define MACHINE_HAS_CSP        (machine_flags & MACHINE_FLAG_CSP)
  85. #define MACHINE_HAS_IDTE    (0)
  86. #define MACHINE_HAS_DIAG44    (1)
  87. #define MACHINE_HAS_MVPG    (machine_flags & MACHINE_FLAG_MVPG)
  88. #define MACHINE_HAS_MVCOS    (0)
  89. #define MACHINE_HAS_HPAGE    (0)
  90. #define MACHINE_HAS_PFMF    (0)
  91. #else /* __s390x__ */
  92. #define MACHINE_HAS_IEEE    (1)
  93. #define MACHINE_HAS_CSP        (1)
  94. #define MACHINE_HAS_IDTE    (machine_flags & MACHINE_FLAG_IDTE)
  95. #define MACHINE_HAS_DIAG44    (machine_flags & MACHINE_FLAG_DIAG44)
  96. #define MACHINE_HAS_MVPG    (1)
  97. #define MACHINE_HAS_MVCOS    (machine_flags & MACHINE_FLAG_MVCOS)
  98. #define MACHINE_HAS_HPAGE    (machine_flags & MACHINE_FLAG_HPAGE)
  99. #define MACHINE_HAS_PFMF    (machine_flags & MACHINE_FLAG_PFMF)
  100. #endif /* __s390x__ */
  101.  
  102. #define ZFCPDUMP_HSA_SIZE    (32UL<<20)
  103.  
  104. /*
  105.  * Console mode. Override with conmode=
  106.  */
  107. extern unsigned int console_mode;
  108. extern unsigned int console_devno;
  109. extern unsigned int console_irq;
  110.  
  111. extern char vmhalt_cmd[];
  112. extern char vmpoff_cmd[];
  113.  
  114. #define CONSOLE_IS_UNDEFINED    (console_mode == 0)
  115. #define CONSOLE_IS_SCLP        (console_mode == 1)
  116. #define CONSOLE_IS_3215        (console_mode == 2)
  117. #define CONSOLE_IS_3270        (console_mode == 3)
  118. #define SET_CONSOLE_SCLP    do { console_mode = 1; } while (0)
  119. #define SET_CONSOLE_3215    do { console_mode = 2; } while (0)
  120. #define SET_CONSOLE_3270    do { console_mode = 3; } while (0)
  121.  
  122. #define NSS_NAME_SIZE    8
  123. extern char kernel_nss_name[];
  124.  
  125. #else /* __ASSEMBLY__ */
  126.  
  127. #ifndef __s390x__
  128. #define IPL_DEVICE        0x10404
  129. #define INITRD_START      0x1040C
  130. #define INITRD_SIZE       0x10414
  131. #else /* __s390x__ */
  132. #define IPL_DEVICE        0x10400
  133. #define INITRD_START      0x10408
  134. #define INITRD_SIZE       0x10410
  135. #endif /* __s390x__ */
  136. #define COMMAND_LINE      0x10480
  137.  
  138. #endif /* __ASSEMBLY__ */
  139. #endif /* __KERNEL__ */
  140. #endif /* _ASM_S390_SETUP_H */
  141.