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 */