diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
commit | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (patch) | |
tree | a57612d1888735a2ec7972891b68c1ac5ec8faea /arch/powerpc/platforms/iseries/main_store.h | |
parent | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (diff) |
Diffstat (limited to 'arch/powerpc/platforms/iseries/main_store.h')
-rw-r--r-- | arch/powerpc/platforms/iseries/main_store.h | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/iseries/main_store.h b/arch/powerpc/platforms/iseries/main_store.h new file mode 100644 index 00000000000..1a7a3f50e40 --- /dev/null +++ b/arch/powerpc/platforms/iseries/main_store.h | |||
@@ -0,0 +1,165 @@ | |||
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 */ | ||
23 | struct 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 */ | ||
64 | struct __attribute((packed)) IoHriMainStoreChipInfo1 { | ||
65 | u32 chipMfgID; | ||
66 | char chipECLevel[4]; | ||
67 | }; | ||
68 | |||
69 | struct IoHriMainStoreVpdIdData { | ||
70 | char typeNumber[4]; | ||
71 | char modelNumber[4]; | ||
72 | char partNumber[12]; | ||
73 | char serialNumber[12]; | ||
74 | }; | ||
75 | |||
76 | struct __attribute((packed)) IoHriMainStoreVpdFruData { | ||
77 | char fruLabel[8]; | ||
78 | u8 numberOfSlots; | ||
79 | u8 pluggingType; | ||
80 | u16 slotMapIndex; | ||
81 | }; | ||
82 | |||
83 | struct __attribute((packed)) IoHriMainStoreAdrRangeBlock { | ||
84 | void *blockStart; | ||
85 | void *blockEnd; | ||
86 | u32 blockProcChipId; | ||
87 | }; | ||
88 | |||
89 | #define MaxAreaAdrRangeBlocks 4 | ||
90 | |||
91 | struct __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 | |||
145 | struct 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 | |||
163 | extern u64 xMsVpd[]; | ||
164 | |||
165 | #endif /* _ISERIES_MAIN_STORE_H */ | ||