at v2.6.21 117 lines 2.9 kB view raw
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 896 12 13#ifdef __KERNEL__ 14 15#include <asm/types.h> 16 17#define PARMAREA 0x10400 18#define MEMORY_CHUNKS 16 /* max 0x7fff */ 19 20#ifndef __ASSEMBLY__ 21 22#ifndef __s390x__ 23#define IPL_DEVICE (*(unsigned long *) (0x10404)) 24#define INITRD_START (*(unsigned long *) (0x1040C)) 25#define INITRD_SIZE (*(unsigned long *) (0x10414)) 26#else /* __s390x__ */ 27#define IPL_DEVICE (*(unsigned long *) (0x10400)) 28#define INITRD_START (*(unsigned long *) (0x10408)) 29#define INITRD_SIZE (*(unsigned long *) (0x10410)) 30#endif /* __s390x__ */ 31#define COMMAND_LINE ((char *) (0x10480)) 32 33#define CHUNK_READ_WRITE 0 34#define CHUNK_READ_ONLY 1 35 36struct mem_chunk { 37 unsigned long addr; 38 unsigned long size; 39 unsigned long type; 40}; 41 42extern struct mem_chunk memory_chunk[]; 43 44#ifdef CONFIG_S390_SWITCH_AMODE 45extern unsigned int switch_amode; 46#else 47#define switch_amode (0) 48#endif 49 50#ifdef CONFIG_S390_EXEC_PROTECT 51extern unsigned int s390_noexec; 52#else 53#define s390_noexec (0) 54#endif 55 56/* 57 * Machine features detected in head.S 58 */ 59extern unsigned long machine_flags; 60 61#define MACHINE_IS_VM (machine_flags & 1) 62#define MACHINE_IS_P390 (machine_flags & 4) 63#define MACHINE_HAS_MVPG (machine_flags & 16) 64#define MACHINE_HAS_IDTE (machine_flags & 128) 65#define MACHINE_HAS_DIAG9C (machine_flags & 256) 66 67#ifndef __s390x__ 68#define MACHINE_HAS_IEEE (machine_flags & 2) 69#define MACHINE_HAS_CSP (machine_flags & 8) 70#define MACHINE_HAS_DIAG44 (1) 71#define MACHINE_HAS_MVCOS (0) 72#else /* __s390x__ */ 73#define MACHINE_HAS_IEEE (1) 74#define MACHINE_HAS_CSP (1) 75#define MACHINE_HAS_DIAG44 (machine_flags & 32) 76#define MACHINE_HAS_MVCOS (machine_flags & 512) 77#endif /* __s390x__ */ 78 79#define MACHINE_HAS_SCLP (!MACHINE_IS_P390) 80 81/* 82 * Console mode. Override with conmode= 83 */ 84extern unsigned int console_mode; 85extern unsigned int console_devno; 86extern unsigned int console_irq; 87 88extern char vmhalt_cmd[]; 89extern char vmpoff_cmd[]; 90 91#define CONSOLE_IS_UNDEFINED (console_mode == 0) 92#define CONSOLE_IS_SCLP (console_mode == 1) 93#define CONSOLE_IS_3215 (console_mode == 2) 94#define CONSOLE_IS_3270 (console_mode == 3) 95#define SET_CONSOLE_SCLP do { console_mode = 1; } while (0) 96#define SET_CONSOLE_3215 do { console_mode = 2; } while (0) 97#define SET_CONSOLE_3270 do { console_mode = 3; } while (0) 98 99#define NSS_NAME_SIZE 8 100extern char kernel_nss_name[]; 101 102#else /* __ASSEMBLY__ */ 103 104#ifndef __s390x__ 105#define IPL_DEVICE 0x10404 106#define INITRD_START 0x1040C 107#define INITRD_SIZE 0x10414 108#else /* __s390x__ */ 109#define IPL_DEVICE 0x10400 110#define INITRD_START 0x10408 111#define INITRD_SIZE 0x10410 112#endif /* __s390x__ */ 113#define COMMAND_LINE 0x10480 114 115#endif /* __ASSEMBLY__ */ 116#endif /* __KERNEL__ */ 117#endif /* _ASM_S390_SETUP_H */