blob: 0d51c484c2eaeb37830ae9693ece5e1ebf763704 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * include/asm-s390/setup.h
3 *
4 * S390 version
5 * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 */
7
8#ifndef _ASM_S390_SETUP_H
9#define _ASM_S390_SETUP_H
10
11#define PARMAREA 0x10400
12#define COMMAND_LINE_SIZE 896
13#define RAMDISK_ORIGIN 0x800000
14#define RAMDISK_SIZE 0x800000
15#define MEMORY_CHUNKS 16 /* max 0x7fff */
16
17#ifndef __ASSEMBLY__
18
19#ifndef __s390x__
20#define IPL_DEVICE (*(unsigned long *) (0x10404))
21#define INITRD_START (*(unsigned long *) (0x1040C))
22#define INITRD_SIZE (*(unsigned long *) (0x10414))
23#else /* __s390x__ */
24#define IPL_DEVICE (*(unsigned long *) (0x10400))
25#define INITRD_START (*(unsigned long *) (0x10408))
26#define INITRD_SIZE (*(unsigned long *) (0x10410))
27#endif /* __s390x__ */
28#define COMMAND_LINE ((char *) (0x10480))
29
30/*
31 * Machine features detected in head.S
32 */
33extern unsigned long machine_flags;
34
35#define MACHINE_IS_VM (machine_flags & 1)
36#define MACHINE_IS_P390 (machine_flags & 4)
37#define MACHINE_HAS_MVPG (machine_flags & 16)
38#define MACHINE_HAS_DIAG44 (machine_flags & 32)
39#define MACHINE_HAS_IDTE (machine_flags & 128)
40
41#ifndef __s390x__
42#define MACHINE_HAS_IEEE (machine_flags & 2)
43#define MACHINE_HAS_CSP (machine_flags & 8)
44#else /* __s390x__ */
45#define MACHINE_HAS_IEEE (1)
46#define MACHINE_HAS_CSP (1)
47#endif /* __s390x__ */
48
49
50#define MACHINE_HAS_SCLP (!MACHINE_IS_P390)
51
52/*
53 * Console mode. Override with conmode=
54 */
55extern unsigned int console_mode;
56extern unsigned int console_devno;
57extern unsigned int console_irq;
58
59#define CONSOLE_IS_UNDEFINED (console_mode == 0)
60#define CONSOLE_IS_SCLP (console_mode == 1)
61#define CONSOLE_IS_3215 (console_mode == 2)
62#define CONSOLE_IS_3270 (console_mode == 3)
63#define SET_CONSOLE_SCLP do { console_mode = 1; } while (0)
64#define SET_CONSOLE_3215 do { console_mode = 2; } while (0)
65#define SET_CONSOLE_3270 do { console_mode = 3; } while (0)
66
67#else
68
69#ifndef __s390x__
70#define IPL_DEVICE 0x10404
71#define INITRD_START 0x1040C
72#define INITRD_SIZE 0x10414
73#else /* __s390x__ */
74#define IPL_DEVICE 0x10400
75#define INITRD_START 0x10408
76#define INITRD_SIZE 0x10410
77#endif /* __s390x__ */
78#define COMMAND_LINE 0x10480
79
80#endif
81
82#endif