• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/powerpc/platforms/iseries/
1/*
2 * Copyright (C) 2001  Mike Corrigan IBM Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 */
18
19#ifndef _ISERIES_MAIN_STORE_H
20#define _ISERIES_MAIN_STORE_H
21
22/* Main Store Vpd for Condor,iStar,sStar */
23struct IoHriMainStoreSegment4 {
24	u8	msArea0Exists:1;
25	u8	msArea1Exists:1;
26	u8	msArea2Exists:1;
27	u8	msArea3Exists:1;
28	u8	reserved1:4;
29	u8	reserved2;
30
31	u8	msArea0Functional:1;
32	u8	msArea1Functional:1;
33	u8	msArea2Functional:1;
34	u8	msArea3Functional:1;
35	u8	reserved3:4;
36	u8	reserved4;
37
38	u32	totalMainStore;
39
40	u64	msArea0Ptr;
41	u64	msArea1Ptr;
42	u64	msArea2Ptr;
43	u64	msArea3Ptr;
44
45	u32	cardProductionLevel;
46
47	u32	msAdrHole;
48
49	u8	msArea0HasRiserVpd:1;
50	u8	msArea1HasRiserVpd:1;
51	u8	msArea2HasRiserVpd:1;
52	u8	msArea3HasRiserVpd:1;
53	u8	reserved5:4;
54	u8	reserved6;
55	u16	reserved7;
56
57	u8	reserved8[28];
58
59	u64	nonInterleavedBlocksStartAdr;
60	u64	nonInterleavedBlocksEndAdr;
61};
62
63/* Main Store VPD for Power4 */
64struct __attribute((packed)) IoHriMainStoreChipInfo1 {
65	u32	chipMfgID;
66	char	chipECLevel[4];
67};
68
69struct IoHriMainStoreVpdIdData {
70	char	typeNumber[4];
71	char	modelNumber[4];
72	char	partNumber[12];
73	char	serialNumber[12];
74};
75
76struct	__attribute((packed)) IoHriMainStoreVpdFruData {
77	char	fruLabel[8];
78	u8	numberOfSlots;
79	u8	pluggingType;
80	u16	slotMapIndex;
81};
82
83struct  __attribute((packed)) IoHriMainStoreAdrRangeBlock {
84	void	*blockStart;
85	void	*blockEnd;
86	u32	blockProcChipId;
87};
88
89#define MaxAreaAdrRangeBlocks 4
90
91struct __attribute((packed)) IoHriMainStoreArea4 {
92	u32	msVpdFormat;
93	u8	containedVpdType;
94	u8	reserved1;
95	u16	reserved2;
96
97	u64	msExists;
98	u64	msFunctional;
99
100	u32	memorySize;
101	u32	procNodeId;
102
103	u32	numAdrRangeBlocks;
104	struct IoHriMainStoreAdrRangeBlock xAdrRangeBlock[MaxAreaAdrRangeBlocks];
105
106	struct IoHriMainStoreChipInfo1	chipInfo0;
107	struct IoHriMainStoreChipInfo1	chipInfo1;
108	struct IoHriMainStoreChipInfo1	chipInfo2;
109	struct IoHriMainStoreChipInfo1	chipInfo3;
110	struct IoHriMainStoreChipInfo1	chipInfo4;
111	struct IoHriMainStoreChipInfo1	chipInfo5;
112	struct IoHriMainStoreChipInfo1	chipInfo6;
113	struct IoHriMainStoreChipInfo1	chipInfo7;
114
115	void	*msRamAreaArray;
116	u32	msRamAreaArrayNumEntries;
117	u32	msRamAreaArrayEntrySize;
118
119	u32	numaDimmExists;
120	u32	numaDimmFunctional;
121	void	*numaDimmArray;
122	u32	numaDimmArrayNumEntries;
123	u32	numaDimmArrayEntrySize;
124
125	struct IoHriMainStoreVpdIdData idData;
126
127	u64	powerData;
128	u64	cardAssemblyPartNum;
129	u64	chipSerialNum;
130
131	u64	reserved3;
132	char	reserved4[16];
133
134	struct IoHriMainStoreVpdFruData fruData;
135
136	u8	vpdPortNum;
137	u8	reserved5;
138	u8	frameId;
139	u8	rackUnit;
140	char	asciiKeywordVpd[256];
141	u32	reserved6;
142};
143
144
145struct IoHriMainStoreSegment5 {
146	u16	reserved1;
147	u8	reserved2;
148	u8	msVpdFormat;
149
150	u32	totalMainStore;
151	u64	maxConfiguredMsAdr;
152
153	struct IoHriMainStoreArea4	*msAreaArray;
154	u32	msAreaArrayNumEntries;
155	u32	msAreaArrayEntrySize;
156
157	u32	msAreaExists;
158	u32	msAreaFunctional;
159
160	u64	reserved3;
161};
162
163extern u64	xMsVpd[];
164
165#endif	/* _ISERIES_MAIN_STORE_H */
166