1 /* 2 * HvReleaseData.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 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 //----------------------------------------------------------------------------- 27 // Standard Includes 28 //----------------------------------------------------------------------------- 29 #ifndef _PPC64_TYPES_H 30 #include <asm/types.h> 31 #endif 32 33 #ifndef _HVRELEASEDATA_H 34 #define _HVRELEASEDATA_H 35 36 //============================================================================= 37 // 38 // When we IPL a secondary partition, we will check if if the 39 // secondary xMinPlicVrmIndex > the primary xVrmIndex. 40 // If it is then this tells PLIC that this secondary is not 41 // supported running on this "old" of a level of PLIC. 42 // 43 // Likewise, we will compare the primary xMinSlicVrmIndex to 44 // the secondary xVrmIndex. 45 // If the primary xMinSlicVrmDelta > secondary xVrmDelta then we 46 // know that this PLIC does not support running an OS "that old". 47 // 48 //============================================================================= 49 50 struct HvReleaseData 51 { 52 u32 xDesc; // Descriptor "HvRD" ebcdic x00-x03 53 u16 xSize; // Size of this control block x04-x05 54 u16 xVpdAreasPtrOffset; // Offset in NACA of ItVpdAreas x06-x07 55 struct naca_struct * xSlicNacaAddr; // Virt addr of SLIC NACA x08-x0F 56 u32 xMsNucDataOffset; // Offset of Linux Mapping Data x10-x13 57 u32 xRsvd1; // Reserved x14-x17 58 u16 xTagsMode:1; // 0 == tags active, 1 == tags inactive 59 u16 xAddressSize:1; // 0 == 64-bit, 1 == 32-bit 60 u16 xNoSharedProcs:1; // 0 == shared procs, 1 == no shared 61 u16 xNoHMT:1; // 0 == allow HMT, 1 == no HMT 62 u16 xRsvd2:12; // Reserved x18-x19 63 u16 xVrmIndex; // VRM Index of OS image x1A-x1B 64 u16 xMinSupportedPlicVrmIndex;// Min PLIC level (soft) x1C-x1D 65 u16 xMinCompatablePlicVrmIndex;// Min PLIC levelP (hard) x1E-x1F 66 char xVrmName[12]; // Displayable name x20-x2B 67 char xRsvd3[20]; // Reserved x2C-x3F 68 }; 69 70 #endif // _HVRELEASEDATA_H 71