4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright (c) 1999 by Sun Microsystems, Inc.
24 * All rights reserved.
30 #pragma ident "%Z%%M% %I% %E% SMI"
37 * All of the following data structures and defines come from sun4u server
38 * POST. If the data in POST changes, then these structures must reflect
42 #include <sys/fhc.h> /* To get MAX_BOARDS constant */
44 /* BDA bit assignments */
45 #define BOARD_PRESENT (1<<0)
46 #define BOARD_OK (1<<1)
47 #define BOARD_TYPE_MSK (7<<2)
48 #define BOARD_TYPE(x) (((x) & BOARD_TYPE_MSK) >> 2)
50 /* Board state mask and defines */
51 #define BD_STATE_MASK 0x3
53 #define BD_ONLINE_FAIL 1
54 #define BD_NOT_PRESENT 2
55 #define BD_ONLINE_NORMAL 3
57 /* define CPU 0 fields */
58 #define CPU0_PRESENT (1<<8)
59 #define CPU0_OK (1<<9)
60 #define CPU0_FAIL_CODE_MSK (7<<10)
62 /* define CPU 1 fields */
63 #define CPU1_PRESENT (1<<16)
64 #define CPU1_OK (1<<17)
65 #define CPU1_FAIL_CODE_MSK (7<<18)
67 /* supported board types */
69 #define MEM_TYPE 1 /* CPU/MEM board with only memory */
73 #define IO_TYPE4 5 /* same as IO TYPE 1 but no HM or PHY chip */
76 /* for CPU type UPA ports */
78 u_longlong_t afsr
; /* Fault status register for CPU */
79 u_longlong_t afar
; /* Fault address register for CPU */
82 /* For the clock board */
84 unsigned long clk_ssr_1
; /* reset status for the clock board */
88 u_longlong_t board_desc
;
89 cpu_reset_state cpu
[2]; /* could be a CPU */
90 u_longlong_t ac_error_status
;
91 u_longlong_t dc_shadow_chain
;
97 int length
; /* size of the structure */
98 int version
; /* Version of the structure */
99 struct board_info bd_reset_info
[MAX_BOARDS
];
100 clock_reset_state clk
; /* one clock board */
101 unsigned char tod_timestamp
[7];
108 #endif /* _RESET_INFO_H */