linux/arch/powerpc/platforms/iseries/vpd_areas.h
<<
>>
Prefs
   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#ifndef _ISERIES_VPD_AREAS_H
  19#define _ISERIES_VPD_AREAS_H
  20
  21/*
  22 * This file defines the address and length of all of the VPD area passed to
  23 * the OS from PLIC (most of which start from the SP).
  24 */
  25
  26#include <asm/types.h>
  27
  28/* VPD Entry index is carved in stone - cannot be changed (easily). */
  29#define ItVpdCecVpd                             0
  30#define ItVpdDynamicSpace                       1
  31#define ItVpdExtVpd                             2
  32#define ItVpdExtVpdOnPanel                      3
  33#define ItVpdFirstPaca                          4
  34#define ItVpdIoVpd                              5
  35#define ItVpdIplParms                           6
  36#define ItVpdMsVpd                              7
  37#define ItVpdPanelVpd                           8
  38#define ItVpdLpNaca                             9
  39#define ItVpdBackplaneAndMaybeClockCardVpd      10
  40#define ItVpdRecoveryLogBuffer                  11
  41#define ItVpdSpCommArea                         12
  42#define ItVpdSpLogBuffer                        13
  43#define ItVpdSpLogBufferSave                    14
  44#define ItVpdSpCardVpd                          15
  45#define ItVpdFirstProcVpd                       16
  46#define ItVpdApModelVpd                         17
  47#define ItVpdClockCardVpd                       18
  48#define ItVpdBusExtCardVpd                      19
  49#define ItVpdProcCapacityVpd                    20
  50#define ItVpdInteractiveCapacityVpd             21
  51#define ItVpdFirstSlotLabel                     22
  52#define ItVpdFirstLpQueue                       23
  53#define ItVpdFirstL3CacheVpd                    24
  54#define ItVpdFirstProcFruVpd                    25
  55
  56#define ItVpdMaxEntries                         26
  57
  58#define ItDmaMaxEntries                         10
  59
  60#define ItVpdAreasMaxSlotLabels                 192
  61
  62
  63struct ItVpdAreas {
  64        u32     xSlicDesc;              // Descriptor                   000-003
  65        u16     xSlicSize;              // Size of this control block   004-005
  66        u16     xPlicAdjustVpdLens:1;   // Flag to indicate new interface006-007
  67        u16     xRsvd1:15;              // Reserved bits                ...
  68        u16     xSlicVpdEntries;        // Number of VPD entries        008-009
  69        u16     xSlicDmaEntries;        // Number of DMA entries        00A-00B
  70        u16     xSlicMaxLogicalProcs;   // Maximum logical processors   00C-00D
  71        u16     xSlicMaxPhysicalProcs;  // Maximum physical processors  00E-00F
  72        u16     xSlicDmaToksOffset;     // Offset into this of array    010-011
  73        u16     xSlicVpdAdrsOffset;     // Offset into this of array    012-013
  74        u16     xSlicDmaLensOffset;     // Offset into this of array    014-015
  75        u16     xSlicVpdLensOffset;     // Offset into this of array    016-017
  76        u16     xSlicMaxSlotLabels;     // Maximum number of slot labels018-019
  77        u16     xSlicMaxLpQueues;       // Maximum number of LP Queues  01A-01B
  78        u8      xRsvd2[4];              // Reserved                     01C-01F
  79        u64     xRsvd3[12];             // Reserved                     020-07F
  80        u32     xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths   080-0A7
  81        u32     xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens    0A8-0CF
  82        u32     xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths   0D0-12F
  83        const void *xSlicVpdAdrs[ItVpdMaxEntries];// Array of VPD buffers 130-1EF
  84};
  85
  86extern const struct ItVpdAreas  itVpdAreas;
  87
  88#endif /* _ISERIES_VPD_AREAS_H */
  89