OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips64/] [sn/] [gda.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
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
 
46
typedef 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 */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.