]> err.no Git - linux-2.6/blob - include/asm-ppc64/iSeries/ItVpdAreas.h
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / include / asm-ppc64 / iSeries / ItVpdAreas.h
1 /*
2  * ItVpdAreas.h
3  * Copyright (C) 2001  Mike Corrigan IBM Corporation
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18  */
19 #ifndef _ITVPDAREAS_H
20 #define _ITVPDAREAS_H
21
22 /*
23  * This file defines the address and length of all of the VPD area passed to
24  * the OS from PLIC (most of which start from the SP).
25  */
26
27 #include <asm/types.h>
28
29 /* VPD Entry index is carved in stone - cannot be changed (easily). */
30 #define ItVpdCecVpd                             0
31 #define ItVpdDynamicSpace                       1
32 #define ItVpdExtVpd                             2
33 #define ItVpdExtVpdOnPanel                      3
34 #define ItVpdFirstPaca                          4
35 #define ItVpdIoVpd                              5
36 #define ItVpdIplParms                           6
37 #define ItVpdMsVpd                              7
38 #define ItVpdPanelVpd                           8
39 #define ItVpdLpNaca                             9
40 #define ItVpdBackplaneAndMaybeClockCardVpd      10
41 #define ItVpdRecoveryLogBuffer                  11
42 #define ItVpdSpCommArea                         12
43 #define ItVpdSpLogBuffer                        13
44 #define ItVpdSpLogBufferSave                    14
45 #define ItVpdSpCardVpd                          15
46 #define ItVpdFirstProcVpd                       16
47 #define ItVpdApModelVpd                         17
48 #define ItVpdClockCardVpd                       18
49 #define ItVpdBusExtCardVpd                      19
50 #define ItVpdProcCapacityVpd                    20
51 #define ItVpdInteractiveCapacityVpd             21
52 #define ItVpdFirstSlotLabel                     22
53 #define ItVpdFirstLpQueue                       23
54 #define ItVpdFirstL3CacheVpd                    24
55 #define ItVpdFirstProcFruVpd                    25
56
57 #define ItVpdMaxEntries                         26
58
59 #define ItDmaMaxEntries                         10
60
61 #define ItVpdAreasMaxSlotLabels                 192
62
63
64 struct ItVpdAreas {
65         u32     xSlicDesc;              // Descriptor                   000-003
66         u16     xSlicSize;              // Size of this control block   004-005
67         u16     xPlicAdjustVpdLens:1;   // Flag to indicate new interface006-007
68         u16     xRsvd1:15;              // Reserved bits                ...
69         u16     xSlicVpdEntries;        // Number of VPD entries        008-009
70         u16     xSlicDmaEntries;        // Number of DMA entries        00A-00B
71         u16     xSlicMaxLogicalProcs;   // Maximum logical processors   00C-00D
72         u16     xSlicMaxPhysicalProcs;  // Maximum physical processors  00E-00F
73         u16     xSlicDmaToksOffset;     // Offset into this of array    010-011
74         u16     xSlicVpdAdrsOffset;     // Offset into this of array    012-013
75         u16     xSlicDmaLensOffset;     // Offset into this of array    014-015
76         u16     xSlicVpdLensOffset;     // Offset into this of array    016-017
77         u16     xSlicMaxSlotLabels;     // Maximum number of slot labels018-019
78         u16     xSlicMaxLpQueues;       // Maximum number of LP Queues  01A-01B
79         u8      xRsvd2[4];              // Reserved                     01C-01F
80         u64     xRsvd3[12];             // Reserved                     020-07F
81         u32     xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths   080-0A7
82         u32     xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens    0A8-0CF
83         u32     xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths   0D0-12F
84         void    *xSlicVpdAdrs[ItVpdMaxEntries];// Array of VPD buffers  130-1EF
85 };
86
87 extern struct ItVpdAreas        itVpdAreas;
88
89 #endif /* _ITVPDAREAS_H */