Logo Search packages:      
Sourcecode: linux version File versions

main_store.h

/*
 * Copyright (C) 2001  Mike Corrigan IBM Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

#ifndef _ISERIES_MAIN_STORE_H
#define _ISERIES_MAIN_STORE_H

/* Main Store Vpd for Condor,iStar,sStar */
struct IoHriMainStoreSegment4 {
      u8    msArea0Exists:1;
      u8    msArea1Exists:1;
      u8    msArea2Exists:1;
      u8    msArea3Exists:1;
      u8    reserved1:4;
      u8    reserved2;

      u8    msArea0Functional:1;
      u8    msArea1Functional:1;
      u8    msArea2Functional:1;
      u8    msArea3Functional:1;
      u8    reserved3:4;
      u8    reserved4;

      u32   totalMainStore;

      u64   msArea0Ptr;
      u64   msArea1Ptr;
      u64   msArea2Ptr;
      u64   msArea3Ptr;

      u32   cardProductionLevel;

      u32   msAdrHole;

      u8    msArea0HasRiserVpd:1;
      u8    msArea1HasRiserVpd:1;
      u8    msArea2HasRiserVpd:1;
      u8    msArea3HasRiserVpd:1;
      u8    reserved5:4;
      u8    reserved6;
      u16   reserved7;

      u8    reserved8[28];

      u64   nonInterleavedBlocksStartAdr;
      u64   nonInterleavedBlocksEndAdr;
};

/* Main Store VPD for Power4 */
struct __attribute((packed)) IoHriMainStoreChipInfo1 {
      u32   chipMfgID;
      char  chipECLevel[4];
};

struct IoHriMainStoreVpdIdData {
      char  typeNumber[4];
      char  modelNumber[4];
      char  partNumber[12];
      char  serialNumber[12];
};

struct      __attribute((packed)) IoHriMainStoreVpdFruData {
      char  fruLabel[8];
      u8    numberOfSlots;
      u8    pluggingType;
      u16   slotMapIndex;
};

struct  __attribute((packed)) IoHriMainStoreAdrRangeBlock {
      void  *blockStart;
      void  *blockEnd;
      u32   blockProcChipId;
};

#define MaxAreaAdrRangeBlocks 4

struct __attribute((packed)) IoHriMainStoreArea4 {
      u32   msVpdFormat;
      u8    containedVpdType;
      u8    reserved1;
      u16   reserved2;

      u64   msExists;
      u64   msFunctional;

      u32   memorySize;
      u32   procNodeId;

      u32   numAdrRangeBlocks;
      struct IoHriMainStoreAdrRangeBlock xAdrRangeBlock[MaxAreaAdrRangeBlocks];

      struct IoHriMainStoreChipInfo1      chipInfo0;
      struct IoHriMainStoreChipInfo1      chipInfo1;
      struct IoHriMainStoreChipInfo1      chipInfo2;
      struct IoHriMainStoreChipInfo1      chipInfo3;
      struct IoHriMainStoreChipInfo1      chipInfo4;
      struct IoHriMainStoreChipInfo1      chipInfo5;
      struct IoHriMainStoreChipInfo1      chipInfo6;
      struct IoHriMainStoreChipInfo1      chipInfo7;

      void  *msRamAreaArray;
      u32   msRamAreaArrayNumEntries;
      u32   msRamAreaArrayEntrySize;

      u32   numaDimmExists;
      u32   numaDimmFunctional;
      void  *numaDimmArray;
      u32   numaDimmArrayNumEntries;
      u32   numaDimmArrayEntrySize;

      struct IoHriMainStoreVpdIdData idData;

      u64   powerData;
      u64   cardAssemblyPartNum;
      u64   chipSerialNum;

      u64   reserved3;
      char  reserved4[16];

      struct IoHriMainStoreVpdFruData fruData;

      u8    vpdPortNum;
      u8    reserved5;
      u8    frameId;
      u8    rackUnit;
      char  asciiKeywordVpd[256];
      u32   reserved6;
};


struct IoHriMainStoreSegment5 {
      u16   reserved1;
      u8    reserved2;
      u8    msVpdFormat;

      u32   totalMainStore;
      u64   maxConfiguredMsAdr;

      struct IoHriMainStoreArea4    *msAreaArray;
      u32   msAreaArrayNumEntries;
      u32   msAreaArrayEntrySize;

      u32   msAreaExists;
      u32   msAreaFunctional;

      u64   reserved3;
};

extern u64  xMsVpd[];

#endif      /* _ISERIES_MAIN_STORE_H */

Generated by  Doxygen 1.6.0   Back to index