1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef _ASM_SN_GDA_H
15 #define _ASM_SN_GDA_H
16
17 #include <asm/sn/addrs.h>
18
19 #define GDA_MAGIC 0x58464552
20
21
22
23
24
25
26
27
28
29
30
31 #define GDA_VERSION 2
32
33 #define G_MAGICOFF 0
34 #define G_VERSIONOFF 4
35 #define G_PROMOPOFF 6
36 #define G_MASTEROFF 8
37 #define G_VDSOFF 12
38 #define G_HKDNORMOFF 16
39 #define G_HKDUTLBOFF 24
40 #define G_HKDXUTLBOFF 32
41 #define G_PARTIDOFF 40
42 #define G_TABLEOFF 128
43
44 #ifndef __ASSEMBLY__
45
46 typedef struct gda {
47 u32 g_magic;
48 u16 g_version;
49 u16 g_masterid;
50 u32 g_promop;
51 u32 g_vds;
52 void **g_hooked_norm;
53 void **g_hooked_utlb;
54 void **g_hooked_xtlb;
55 int g_partid;
56 int g_symmax;
57 void *g_dbstab;
58 char *g_nametab;
59 void *g_ktext_repmask;
60
61
62 char g_padding[56];
63 nasid_t g_nasidtable[MAX_COMPACT_NODES];
64
65
66 } gda_t;
67
68 #define GDA ((gda_t*) GDA_ADDR(get_nasid()))
69
70 #endif
71
72
73
74
75
76
77 #define PART_GDA_VERSION 2
78
79
80
81
82
83 #define PROMOP_MAGIC 0x0ead0000
84 #define PROMOP_MAGIC_MASK 0x0fff0000
85
86 #define PROMOP_BIST_SHIFT 11
87 #define PROMOP_BIST_MASK (0x3 << 11)
88
89 #define PROMOP_REG PI_ERR_STACK_ADDR_A
90
91 #define PROMOP_INVALID (PROMOP_MAGIC | 0x00)
92 #define PROMOP_HALT (PROMOP_MAGIC | 0x10)
93 #define PROMOP_POWERDOWN (PROMOP_MAGIC | 0x20)
94 #define PROMOP_RESTART (PROMOP_MAGIC | 0x30)
95 #define PROMOP_REBOOT (PROMOP_MAGIC | 0x40)
96 #define PROMOP_IMODE (PROMOP_MAGIC | 0x50)
97
98 #define PROMOP_CMD_MASK 0x00f0
99 #define PROMOP_OPTIONS_MASK 0xfff0
100
101 #define PROMOP_SKIP_DIAGS 0x0100
102 #define PROMOP_SKIP_MEMINIT 0x0200
103 #define PROMOP_SKIP_DEVINIT 0x0400
104 #define PROMOP_BIST1 0x0800
105 #define PROMOP_BIST2 0x1000
106
107 #endif