Path: blob/master/arch/powerpc/platforms/iseries/main_store.h
10820 views
/*1* Copyright (C) 2001 Mike Corrigan IBM Corporation2*3* This program is free software; you can redistribute it and/or modify4* it under the terms of the GNU General Public License as published by5* the Free Software Foundation; either version 2 of the License, or6* (at your option) any later version.7*8* This program is distributed in the hope that it will be useful,9* but WITHOUT ANY WARRANTY; without even the implied warranty of10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11* GNU General Public License for more details.12*13* You should have received a copy of the GNU General Public License14* along with this program; if not, write to the Free Software15* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA16*/1718#ifndef _ISERIES_MAIN_STORE_H19#define _ISERIES_MAIN_STORE_H2021/* Main Store Vpd for Condor,iStar,sStar */22struct IoHriMainStoreSegment4 {23u8 msArea0Exists:1;24u8 msArea1Exists:1;25u8 msArea2Exists:1;26u8 msArea3Exists:1;27u8 reserved1:4;28u8 reserved2;2930u8 msArea0Functional:1;31u8 msArea1Functional:1;32u8 msArea2Functional:1;33u8 msArea3Functional:1;34u8 reserved3:4;35u8 reserved4;3637u32 totalMainStore;3839u64 msArea0Ptr;40u64 msArea1Ptr;41u64 msArea2Ptr;42u64 msArea3Ptr;4344u32 cardProductionLevel;4546u32 msAdrHole;4748u8 msArea0HasRiserVpd:1;49u8 msArea1HasRiserVpd:1;50u8 msArea2HasRiserVpd:1;51u8 msArea3HasRiserVpd:1;52u8 reserved5:4;53u8 reserved6;54u16 reserved7;5556u8 reserved8[28];5758u64 nonInterleavedBlocksStartAdr;59u64 nonInterleavedBlocksEndAdr;60};6162/* Main Store VPD for Power4 */63struct __attribute((packed)) IoHriMainStoreChipInfo1 {64u32 chipMfgID;65char chipECLevel[4];66};6768struct IoHriMainStoreVpdIdData {69char typeNumber[4];70char modelNumber[4];71char partNumber[12];72char serialNumber[12];73};7475struct __attribute((packed)) IoHriMainStoreVpdFruData {76char fruLabel[8];77u8 numberOfSlots;78u8 pluggingType;79u16 slotMapIndex;80};8182struct __attribute((packed)) IoHriMainStoreAdrRangeBlock {83void *blockStart;84void *blockEnd;85u32 blockProcChipId;86};8788#define MaxAreaAdrRangeBlocks 48990struct __attribute((packed)) IoHriMainStoreArea4 {91u32 msVpdFormat;92u8 containedVpdType;93u8 reserved1;94u16 reserved2;9596u64 msExists;97u64 msFunctional;9899u32 memorySize;100u32 procNodeId;101102u32 numAdrRangeBlocks;103struct IoHriMainStoreAdrRangeBlock xAdrRangeBlock[MaxAreaAdrRangeBlocks];104105struct IoHriMainStoreChipInfo1 chipInfo0;106struct IoHriMainStoreChipInfo1 chipInfo1;107struct IoHriMainStoreChipInfo1 chipInfo2;108struct IoHriMainStoreChipInfo1 chipInfo3;109struct IoHriMainStoreChipInfo1 chipInfo4;110struct IoHriMainStoreChipInfo1 chipInfo5;111struct IoHriMainStoreChipInfo1 chipInfo6;112struct IoHriMainStoreChipInfo1 chipInfo7;113114void *msRamAreaArray;115u32 msRamAreaArrayNumEntries;116u32 msRamAreaArrayEntrySize;117118u32 numaDimmExists;119u32 numaDimmFunctional;120void *numaDimmArray;121u32 numaDimmArrayNumEntries;122u32 numaDimmArrayEntrySize;123124struct IoHriMainStoreVpdIdData idData;125126u64 powerData;127u64 cardAssemblyPartNum;128u64 chipSerialNum;129130u64 reserved3;131char reserved4[16];132133struct IoHriMainStoreVpdFruData fruData;134135u8 vpdPortNum;136u8 reserved5;137u8 frameId;138u8 rackUnit;139char asciiKeywordVpd[256];140u32 reserved6;141};142143144struct IoHriMainStoreSegment5 {145u16 reserved1;146u8 reserved2;147u8 msVpdFormat;148149u32 totalMainStore;150u64 maxConfiguredMsAdr;151152struct IoHriMainStoreArea4 *msAreaArray;153u32 msAreaArrayNumEntries;154u32 msAreaArrayEntrySize;155156u32 msAreaExists;157u32 msAreaFunctional;158159u64 reserved3;160};161162extern u64 xMsVpd[];163164#endif /* _ISERIES_MAIN_STORE_H */165166167