aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sn/mca.h
blob: 4c17af4701a9b083891991fb3f67c10753f350a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*
 * File:	mca.h
 * Purpose:	Machine check handling specific to the SN platform defines
 *
 * Copyright (C) 2001-2002 Silicon Graphics, Inc. All rights reserved.
 * 
 * This program is free software; you can redistribute it and/or modify it 
 * under the terms of version 2 of the GNU General Public License 
 * as published by the Free Software Foundation.
 * 
 * This program is distributed in the hope that it would be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
 * 
 * Further, this software is distributed without any warranty that it is 
 * free of the rightful claim of any third person regarding infringement 
 * or the like.  Any license provided herein, whether implied or 
 * otherwise, applies only to this software file.  Patent licenses, if 
 * any, provided herein do not apply to combinations of this program with 
 * other software, or any other product whatsoever.
 * 
 * You should have received a copy of the GNU General Public 
 * License along with this program; if not, write the Free Software 
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
 * 
 * Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, 
 * Mountain View, CA  94043, or:
 * 
 * http://www.sgi.com 
 * 
 * For further information regarding this notice, see: 
 * 
 * http://oss.sgi.com/projects/GenInfo/NoticeExplan
 */

#include <linux/config.h>
#include <linux/types.h>
#include <asm/sal.h>
#include <asm/mca.h>

#ifdef CONFIG_IA64_SGI_SN

typedef u64 __uint64_t;

typedef struct {
	__uint64_t sh_event_occurred;
	__uint64_t sh_first_error;
	__uint64_t sh_event_overflow;
	__uint64_t sh_pi_first_error;
	__uint64_t sh_pi_error_summary;
	__uint64_t sh_pi_error_overflow;
	__uint64_t sh_pi_error_detail_1;
	__uint64_t sh_pi_error_detail_2;
	__uint64_t sh_pi_hw_time_stamp;
	__uint64_t sh_pi_uncorrected_detail_1;
	__uint64_t sh_pi_uncorrected_detail_2;
	__uint64_t sh_pi_uncorrected_detail_3;
	__uint64_t sh_pi_uncorrected_detail_4;
	__uint64_t sh_pi_uncor_time_stamp;
	__uint64_t sh_pi_corrected_detail_1;
	__uint64_t sh_pi_corrected_detail_2;
	__uint64_t sh_pi_corrected_detail_3;
	__uint64_t sh_pi_corrected_detail_4;
	__uint64_t sh_pi_cor_time_stamp;
	__uint64_t sh_mem_error_summary;
	__uint64_t sh_mem_error_overflow;
	__uint64_t sh_misc_err_hdr_lower;
	__uint64_t sh_misc_err_hdr_upper;
	__uint64_t sh_dir_uc_err_hdr_lower;
	__uint64_t sh_dir_uc_err_hdr_upper;
	__uint64_t sh_dir_cor_err_hdr_lower;
	__uint64_t sh_dir_cor_err_hdr_upper;
	__uint64_t sh_mem_error_mask;
	__uint64_t sh_md_uncor_time_stamp;
	__uint64_t sh_md_cor_time_stamp;
	__uint64_t sh_md_hw_time_stamp;
	__uint64_t sh_xn_error_summary;
	__uint64_t sh_xn_first_error;
	__uint64_t sh_xn_error_overflow;
	__uint64_t sh_xniilb_error_summary;
	__uint64_t sh_xniilb_first_error;
	__uint64_t sh_xniilb_error_overflow;
	__uint64_t sh_xniilb_error_detail_1;
	__uint64_t sh_xniilb_error_detail_2;
	__uint64_t sh_xniilb_error_detail_3;
	__uint64_t sh_xnpi_error_summary;
	__uint64_t sh_xnpi_first_error;
	__uint64_t sh_xnpi_error_overflow;
	__uint64_t sh_xnpi_error_detail_1;
	__uint64_t sh_xnmd_error_summary;
	__uint64_t sh_xnmd_first_error;
	__uint64_t sh_xnmd_error_overflow;
	__uint64_t sh_xnmd_ecc_err_report;
	__uint64_t sh_xnmd_error_detail_1;
	__uint64_t sh_lb_error_summary;
	__uint64_t sh_lb_first_error;
	__uint64_t sh_lb_error_overflow;
	__uint64_t sh_lb_error_detail_1;
	__uint64_t sh_lb_error_detail_2;
	__uint64_t sh_lb_error_detail_3;
	__uint64_t sh_lb_error_detail_4;
	__uint64_t sh_lb_error_detail_5;
} sal_log_shub_state_t;

typedef struct {
sal_log_section_hdr_t header;
	struct
	{
		__uint64_t    err_status      : 1,
		guid            : 1,
		oem_data        : 1,
		reserved        : 61;
	} valid;
	__uint64_t             err_status;
	efi_guid_t      guid;
	__uint64_t shub_nic;
	sal_log_shub_state_t    shub_state;
} sal_log_plat_info_t;


extern void sal_log_plat_print(int header_len, int sect_len, u8 *p_data, prfunc_t prfunc);

#ifdef platform_plat_specific_err_print
#undef platform_plat_specific_err_print
#endif
#define platform_plat_specific_err_print sal_log_plat_print

#endif /* CONFIG_IA64_SGI_SN */