at v2.6.26 3.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[]; 43extern unsigned long real_memory_size; 44 45#ifdef CONFIG_S390_SWITCH_AMODE 46extern unsigned int switch_amode; 47#else 48#define switch_amode (0) 49#endif 50 51#ifdef CONFIG_S390_EXEC_PROTECT 52extern unsigned int s390_noexec; 53#else 54#define s390_noexec (0) 55#endif 56 57/* 58 * Machine features detected in head.S 59 */ 60extern unsigned long machine_flags; 61 62#define MACHINE_FLAG_VM (1UL << 0) 63#define MACHINE_FLAG_IEEE (1UL << 1) 64#define MACHINE_FLAG_P390 (1UL << 2) 65#define MACHINE_FLAG_CSP (1UL << 3) 66#define MACHINE_FLAG_MVPG (1UL << 4) 67#define MACHINE_FLAG_DIAG44 (1UL << 5) 68#define MACHINE_FLAG_IDTE (1UL << 6) 69#define MACHINE_FLAG_DIAG9C (1UL << 7) 70#define MACHINE_FLAG_MVCOS (1UL << 8) 71#define MACHINE_FLAG_KVM (1UL << 9) 72#define MACHINE_FLAG_HPAGE (1UL << 10) 73#define MACHINE_FLAG_PFMF (1UL << 11) 74 75#define MACHINE_IS_VM (machine_flags & MACHINE_FLAG_VM) 76#define MACHINE_IS_KVM (machine_flags & MACHINE_FLAG_KVM) 77#define MACHINE_IS_P390 (machine_flags & MACHINE_FLAG_P390) 78#define MACHINE_HAS_DIAG9C (machine_flags & MACHINE_FLAG_DIAG9C) 79 80#ifndef __s390x__ 81#define MACHINE_HAS_IEEE (machine_flags & MACHINE_FLAG_IEEE) 82#define MACHINE_HAS_CSP (machine_flags & MACHINE_FLAG_CSP) 83#define MACHINE_HAS_IDTE (0) 84#define MACHINE_HAS_DIAG44 (1) 85#define MACHINE_HAS_MVPG (machine_flags & MACHINE_FLAG_MVPG) 86#define MACHINE_HAS_MVCOS (0) 87#define MACHINE_HAS_HPAGE (0) 88#define MACHINE_HAS_PFMF (0) 89#else /* __s390x__ */ 90#define MACHINE_HAS_IEEE (1) 91#define MACHINE_HAS_CSP (1) 92#define MACHINE_HAS_IDTE (machine_flags & MACHINE_FLAG_IDTE) 93#define MACHINE_HAS_DIAG44 (machine_flags & MACHINE_FLAG_DIAG44) 94#define MACHINE_HAS_MVPG (1) 95#define MACHINE_HAS_MVCOS (machine_flags & MACHINE_FLAG_MVCOS) 96#define MACHINE_HAS_HPAGE (machine_flags & MACHINE_FLAG_HPAGE) 97#define MACHINE_HAS_PFMF (machine_flags & MACHINE_FLAG_PFMF) 98#endif /* __s390x__ */ 99 100#define MACHINE_HAS_SCLP (!MACHINE_IS_P390) 101#define ZFCPDUMP_HSA_SIZE (32UL<<20) 102 103/* 104 * Console mode. Override with conmode= 105 */ 106extern unsigned int console_mode; 107extern unsigned int console_devno; 108extern unsigned int console_irq; 109 110extern char vmhalt_cmd[]; 111extern char vmpoff_cmd[]; 112 113#define CONSOLE_IS_UNDEFINED (console_mode == 0) 114#define CONSOLE_IS_SCLP (console_mode == 1) 115#define CONSOLE_IS_3215 (console_mode == 2) 116#define CONSOLE_IS_3270 (console_mode == 3) 117#define SET_CONSOLE_SCLP do { console_mode = 1; } while (0) 118#define SET_CONSOLE_3215 do { console_mode = 2; } while (0) 119#define SET_CONSOLE_3270 do { console_mode = 3; } while (0) 120 121#define NSS_NAME_SIZE 8 122extern char kernel_nss_name[]; 123 124#else /* __ASSEMBLY__ */ 125 126#ifndef __s390x__ 127#define IPL_DEVICE 0x10404 128#define INITRD_START 0x1040C 129#define INITRD_SIZE 0x10414 130#else /* __s390x__ */ 131#define IPL_DEVICE 0x10400 132#define INITRD_START 0x10408 133#define INITRD_SIZE 0x10410 134#endif /* __s390x__ */ 135#define COMMAND_LINE 0x10480 136 137#endif /* __ASSEMBLY__ */ 138#endif /* __KERNEL__ */ 139#endif /* _ASM_S390_SETUP_H */