2 * Copyright (C) 2001 Mike Corrigan IBM Corporation
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.
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.
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
19 #ifndef _ISERIES_MAIN_STORE_H
20 #define _ISERIES_MAIN_STORE_H
22 /* Main Store Vpd for Condor,iStar,sStar */
23 struct IoHriMainStoreSegment4 {
31 u8 msArea0Functional:1;
32 u8 msArea1Functional:1;
33 u8 msArea2Functional:1;
34 u8 msArea3Functional:1;
45 u32 cardProductionLevel;
49 u8 msArea0HasRiserVpd:1;
50 u8 msArea1HasRiserVpd:1;
51 u8 msArea2HasRiserVpd:1;
52 u8 msArea3HasRiserVpd:1;
59 u64 nonInterleavedBlocksStartAdr;
60 u64 nonInterleavedBlocksEndAdr;
63 /* Main Store VPD for Power4 */
64 struct __attribute((packed)) IoHriMainStoreChipInfo1 {
69 struct IoHriMainStoreVpdIdData {
73 char serialNumber[12];
76 struct __attribute((packed)) IoHriMainStoreVpdFruData {
83 struct __attribute((packed)) IoHriMainStoreAdrRangeBlock {
89 #define MaxAreaAdrRangeBlocks 4
91 struct __attribute((packed)) IoHriMainStoreArea4 {
103 u32 numAdrRangeBlocks;
104 struct IoHriMainStoreAdrRangeBlock xAdrRangeBlock[MaxAreaAdrRangeBlocks];
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;
115 void *msRamAreaArray;
116 u32 msRamAreaArrayNumEntries;
117 u32 msRamAreaArrayEntrySize;
120 u32 numaDimmFunctional;
122 u32 numaDimmArrayNumEntries;
123 u32 numaDimmArrayEntrySize;
125 struct IoHriMainStoreVpdIdData idData;
128 u64 cardAssemblyPartNum;
134 struct IoHriMainStoreVpdFruData fruData;
140 char asciiKeywordVpd[256];
145 struct IoHriMainStoreSegment5 {
151 u64 maxConfiguredMsAdr;
153 struct IoHriMainStoreArea4 *msAreaArray;
154 u32 msAreaArrayNumEntries;
155 u32 msAreaArrayEntrySize;
158 u32 msAreaFunctional;
165 #endif /* _ISERIES_MAIN_STORE_H */