📄 hvtypes.h
字号:
/* * HvTypes.h * Copyright (C) 2001 Mike Corrigan IBM Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *///===========================================================================// Header File Id// Name______________: HvTypes.H//// Description_______://// General typedefs for the hypervisor.//// Declared Class(es):////===========================================================================#ifndef _PPC_TYPES_H#include <asm/types.h>#endif#ifndef _HVTYPES_H#define _HVTYPES_H//-------------------------------------------------------------------// Typedefs//-------------------------------------------------------------------typedef u8 HvLpIndex;typedef u16 HvLpInstanceId;typedef u64 HvLpTOD;typedef u64 HvLpSystemSerialNum;typedef u8 HvLpDeviceSerialNum[12];typedef u16 HvLpSanHwSet;typedef u16 HvLpBus;typedef u16 HvLpBoard;typedef u16 HvLpCard;typedef u8 HvLpDeviceType[4];typedef u8 HvLpDeviceModel[3];typedef u64 HvIoToken;typedef u8 HvLpName[8];typedef u32 HvIoId;typedef u64 HvRealMemoryIndex;typedef u32 HvLpIndexMap; // Must hold HvMaxArchitectedLps bits!!!typedef u16 HvLpVrmIndex;typedef u32 HvXmGenerationId;typedef u8 HvLpBusPool; typedef u8 HvLpSharedPoolIndex; typedef u16 HvLpSharedProcUnitsX100;typedef u8 HvLpVirtualLanIndex;typedef u16 HvLpVirtualLanIndexMap; // Must hold HvMaxArchitectedVirtualLans bits!!!typedef u16 HvBusNumber; // Hypervisor Bus Numbertypedef u8 HvSubBusNumber; // Hypervisor SubBus Numbertypedef u8 HvAgentId; // Hypervisor DevFn#define HVMAXARCHITECTEDLPS 32#define HVCHUNKSIZE 256 * 1024#define HVPAGESIZE 4 * 1024#define HVLPMINMEGSPRIMARY 256#define HVLPMINMEGSSECONDARY 64#define HVCHUNKSPERMEG 4#define HVPAGESPERMEG 256#define HVPAGESPERCHUNK 64 static const HvLpIndexMap HvLpIndexMapDefault = (1 << (sizeof(HvLpIndexMap) * 8 - 1));static const HvLpIndex HvHardcodedPrimaryLpIndex = 0;static const HvLpIndex HvMaxArchitectedLps = HVMAXARCHITECTEDLPS;static const HvLpVirtualLanIndex HvMaxArchitectedVirtualLans = 16;static const HvLpSharedPoolIndex HvMaxArchitectedSharedPools = 16;static const HvLpSharedPoolIndex HvMaxSupportedSharedPools = 1;static const HvLpIndex HvMaxRuntimeLpsPreCondor = 12;static const HvLpIndex HvMaxRuntimeLps = HVMAXARCHITECTEDLPS;static const HvLpIndex HvLpIndexInvalid = 0xff;static const u16 HvInvalidProcIndex = 0xffff;static const u32 HvVirtualFlashSize = 0x200;static const u32 HvMaxBusesPreCondor = 32; static const u32 HvMaxBusesCondor = 256; static const u32 HvMaxArchitectedBuses = 512;static const HvLpBus HvCspBusNumber = 1;static const u32 HvMaxSanHwSets = 16;static const HvLpCard HvMaxSystemIops = 200;static const HvLpCard HvMaxBusIops = 20;static const u16 HvMaxUnitsPerIop = 100;static const u64 HvPageSize = 4 * 1024;static const u64 HvChunkSize = HVCHUNKSIZE;static const u64 HvChunksPerMeg = HVCHUNKSPERMEG;static const u64 HvPagesPerChunk = HVPAGESPERCHUNK;static const u64 HvPagesPerMeg = HVPAGESPERMEG;static const u64 HvLpMinMegsPrimary = HVLPMINMEGSPRIMARY;static const u64 HvLpMinMegsSecondary = HVLPMINMEGSSECONDARY;static const u64 HvLpMinChunksPrimary = HVLPMINMEGSPRIMARY * HVCHUNKSPERMEG;static const u64 HvLpMinChunksSecondary = HVLPMINMEGSSECONDARY * HVCHUNKSPERMEG;static const u64 HvLpMinPagesPrimary = HVLPMINMEGSPRIMARY * HVPAGESPERMEG;static const u64 HvLpMinPagesSecondary = HVLPMINMEGSSECONDARY * HVPAGESPERMEG;static const u8 HvLpMinProcs = 1;static const u8 HvLpConfigMinInteract = 1;static const u16 HvLpMinSharedProcUnitsX100 = 10;static const u16 HvLpMaxSharedProcUnitsX100 = 100;static const HvLpSharedPoolIndex HvLpSharedPoolIndexInvalid = 0xff;//--------------------------------------------------------------------// Enums for the sub-components under PLIC// Used in HvCall and HvPrimaryCall//--------------------------------------------------------------------enum HvCallCompIds{ HvCallCompId = 0, HvCallCpuCtlsCompId = 1, HvCallCfgCompId = 2, HvCallEventCompId = 3, HvCallHptCompId = 4, HvCallPciCompId = 5, HvCallSlmCompId = 6, HvCallSmCompId = 7, HvCallSpdCompId = 8, HvCallXmCompId = 9, HvCallRioCompId = 10, HvCallRsvd3CompId = 11, HvCallRsvd2CompId = 12, HvCallRsvd1CompId = 13, HvCallMaxCompId = 14, HvPrimaryCallCompId = 0, HvPrimaryCallCfgCompId = 1, HvPrimaryCallPciCompId = 2, HvPrimaryCallSmCompId = 3, HvPrimaryCallSpdCompId = 4, HvPrimaryCallXmCompId = 5, HvPrimaryCallRioCompId = 6, HvPrimaryCallRsvd7CompId = 7, HvPrimaryCallRsvd6CompId = 8, HvPrimaryCallRsvd5CompId = 9, HvPrimaryCallRsvd4CompId = 10, HvPrimaryCallRsvd3CompId = 11, HvPrimaryCallRsvd2CompId = 12, HvPrimaryCallRsvd1CompId = 13, HvPrimaryCallMaxCompId = HvCallMaxCompId };struct HvLpBufferList { u64 addr; u64 len;};#endif // _HVTYPES_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -