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_RELEASE_DATA_H 19 #define _ISERIES_RELEASE_DATA_H 20 21 /* 22 * This control block contains the critical information about the 23 * release so that it can be changed in the future (ie, the virtual 24 * address of the OS's NACA). 25 */ 26 #include <asm/types.h> 27 #include "naca.h" 28 29 /* 30 * When we IPL a secondary partition, we will check if if the 31 * secondary xMinPlicVrmIndex > the primary xVrmIndex. 32 * If it is then this tells PLIC that this secondary is not 33 * supported running on this "old" of a level of PLIC. 34 * 35 * Likewise, we will compare the primary xMinSlicVrmIndex to 36 * the secondary xVrmIndex. 37 * If the primary xMinSlicVrmDelta > secondary xVrmDelta then we 38 * know that this PLIC does not support running an OS "that old". 39 */ 40 41 #define HVREL_TAGSINACTIVE 0x8000 42 #define HVREL_32BIT 0x4000 43 #define HVREL_NOSHAREDPROCS 0x2000 44 #define HVREL_NOHMT 0x1000 45 46 struct HvReleaseData { 47 u32 xDesc; /* Descriptor "HvRD" ebcdic x00-x03 */ 48 u16 xSize; /* Size of this control block x04-x05 */ 49 u16 xVpdAreasPtrOffset; /* Offset in NACA of ItVpdAreas x06-x07 */ 50 struct naca_struct *xSlicNacaAddr; /* Virt addr of SLIC NACA x08-x0F */ 51 u32 xMsNucDataOffset; /* Offset of Linux Mapping Data x10-x13 */ 52 u32 xRsvd1; /* Reserved x14-x17 */ 53 u16 xFlags; 54 u16 xVrmIndex; /* VRM Index of OS image x1A-x1B */ 55 u16 xMinSupportedPlicVrmIndex; /* Min PLIC level (soft) x1C-x1D */ 56 u16 xMinCompatablePlicVrmIndex; /* Min PLIC levelP (hard) x1E-x1F */ 57 char xVrmName[12]; /* Displayable name x20-x2B */ 58 char xRsvd3[20]; /* Reserved x2C-x3F */ 59 }; 60 61 extern const struct HvReleaseData hvReleaseData; 62 63 #endif /* _ISERIES_RELEASE_DATA_H */ 64