0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _ASM_SN_GDA_H
0015 #define _ASM_SN_GDA_H
0016
0017 #include <asm/sn/addrs.h>
0018
0019 #define GDA_MAGIC 0x58464552
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 #define GDA_VERSION 2
0032
0033 #define G_MAGICOFF 0
0034 #define G_VERSIONOFF 4
0035 #define G_PROMOPOFF 6
0036 #define G_MASTEROFF 8
0037 #define G_VDSOFF 12
0038 #define G_HKDNORMOFF 16
0039 #define G_HKDUTLBOFF 24
0040 #define G_HKDXUTLBOFF 32
0041 #define G_PARTIDOFF 40
0042 #define G_TABLEOFF 128
0043
0044 #ifndef __ASSEMBLY__
0045
0046 typedef struct gda {
0047 u32 g_magic;
0048 u16 g_version;
0049 u16 g_masterid;
0050 u32 g_promop;
0051 u32 g_vds;
0052 void **g_hooked_norm;
0053 void **g_hooked_utlb;
0054 void **g_hooked_xtlb;
0055 int g_partid;
0056 int g_symmax;
0057 void *g_dbstab;
0058 char *g_nametab;
0059 void *g_ktext_repmask;
0060
0061
0062 char g_padding[56];
0063 nasid_t g_nasidtable[MAX_NUMNODES];
0064 } gda_t;
0065
0066 #define GDA ((gda_t*) GDA_ADDR(get_nasid()))
0067
0068 #endif
0069
0070
0071
0072
0073
0074
0075 #define PART_GDA_VERSION 2
0076
0077
0078
0079
0080
0081 #define PROMOP_MAGIC 0x0ead0000
0082 #define PROMOP_MAGIC_MASK 0x0fff0000
0083
0084 #define PROMOP_BIST_SHIFT 11
0085 #define PROMOP_BIST_MASK (0x3 << 11)
0086
0087 #define PROMOP_REG PI_ERR_STACK_ADDR_A
0088
0089 #define PROMOP_INVALID (PROMOP_MAGIC | 0x00)
0090 #define PROMOP_HALT (PROMOP_MAGIC | 0x10)
0091 #define PROMOP_POWERDOWN (PROMOP_MAGIC | 0x20)
0092 #define PROMOP_RESTART (PROMOP_MAGIC | 0x30)
0093 #define PROMOP_REBOOT (PROMOP_MAGIC | 0x40)
0094 #define PROMOP_IMODE (PROMOP_MAGIC | 0x50)
0095
0096 #define PROMOP_CMD_MASK 0x00f0
0097 #define PROMOP_OPTIONS_MASK 0xfff0
0098
0099 #define PROMOP_SKIP_DIAGS 0x0100
0100 #define PROMOP_SKIP_MEMINIT 0x0200
0101 #define PROMOP_SKIP_DEVINIT 0x0400
0102 #define PROMOP_BIST1 0x0800
0103 #define PROMOP_BIST2 0x1000
0104
0105 #endif