source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/asm/sn/gda.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 3.2 KB
Line 
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Derived from IRIX <sys/SN/gda.h>.
7 *
8 * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc.
9 *
10 * gda.h -- Contains the data structure for the global data area,
11 *      The GDA contains information communicated between the
12 *      PROM, SYMMON, and the kernel.
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 * GDA Version History
23 *
24 * Version #    | Change
25 * -------------+-------------------------------------------------------
26 *      1       | Initial SN0 version
27 *      2       | Prom sets g_partid field to the partition number. 0 IS
28 *              | a valid partition #.
29 */
30
31#define GDA_VERSION     2       /* Current GDA version # */
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
46typedef struct gda {
47        __u32   g_magic;        /* GDA magic number */
48        __u16   g_version;      /* Version of this structure */
49        __u16   g_masterid;     /* The NASID:CPUNUM of the master cpu */
50        __u32   g_promop;       /* Passes requests from the kernel to prom */
51        __u32   g_vds;          /* Store the virtual dipswitches here */
52        void    **g_hooked_norm;/* ptr to pda loc for norm hndlr */
53        void    **g_hooked_utlb;/* ptr to pda loc for utlb hndlr */
54        void    **g_hooked_xtlb;/* ptr to pda loc for xtlb hndlr */
55        int     g_partid;       /* partition id */
56        int     g_symmax;       /* Max symbols in name table. */
57        void    *g_dbstab;      /* Address of idbg symbol table */
58        char    *g_nametab;     /* Address of idbg name table */
59        void    *g_ktext_repmask;
60                                /* Pointer to a mask of nodes with copies
61                                 * of the kernel. */
62        char    g_padding[56];  /* pad out to 128 bytes */
63        nasid_t g_nasidtable[MAX_COMPACT_NODES]; /* NASID of each node,
64                                                  * indexed by cnodeid.
65                                                  */
66} gda_t;
67
68#define GDA ((gda_t*) GDA_ADDR(get_nasid()))
69
70#endif /* !__ASSEMBLY__ */
71/*
72 * Define:      PART_GDA_VERSION
73 * Purpose:     Define the minimum version of the GDA required, lower
74 *              revisions assume GDA is NOT set up, and read partition
75 *              information from the board info.
76 */
77#define PART_GDA_VERSION        2
78
79/*
80 * The following requests can be sent to the PROM during startup.
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          /* don't bother running diags */
102#define PROMOP_SKIP_MEMINIT     0x0200          /* don't bother initing memory */
103#define PROMOP_SKIP_DEVINIT     0x0400          /* don't bother initing devices */
104#define PROMOP_BIST1            0x0800          /* keep track of which BIST ran */
105#define PROMOP_BIST2            0x1000          /* keep track of which BIST ran */
106
107#endif /* _ASM_SN_GDA_H */
Note: See TracBrowser for help on using the repository browser.