mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
[NDK] Remove remnant PowerPC headers
Remove remaining ketypes.h and mmtypes.h public headers for PowerPC architecture. Addendum to6ef6fabfc5
ande372f2b19b
. These headers were forgotten to be removed in those previous commits.
This commit is contained in:
parent
9dae161631
commit
c020a0ca28
2 changed files with 0 additions and 724 deletions
|
@ -1,661 +0,0 @@
|
||||||
/*++ NDK Version: 0095
|
|
||||||
|
|
||||||
Copyright (c) Alex Ionescu. All rights reserved.
|
|
||||||
|
|
||||||
Header Name:
|
|
||||||
|
|
||||||
ketypes.h (PPC)
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
PowerPC Type definitions for the Kernel services.
|
|
||||||
|
|
||||||
Author:
|
|
||||||
|
|
||||||
Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
|
|
||||||
|
|
||||||
--*/
|
|
||||||
|
|
||||||
#ifndef _POWERPC_KETYPES_H
|
|
||||||
#define _POWERPC_KETYPES_H
|
|
||||||
|
|
||||||
//
|
|
||||||
// Dependencies
|
|
||||||
//
|
|
||||||
|
|
||||||
//
|
|
||||||
// IPI Types
|
|
||||||
//
|
|
||||||
#define IPI_APC 1
|
|
||||||
#define IPI_DPC 2
|
|
||||||
#define IPI_FREEZE 3
|
|
||||||
#define IPI_PACKET_READY 4
|
|
||||||
#define IPI_SYNCH_REQUEST 10
|
|
||||||
#define MAXIMUM_VECTOR 0x100
|
|
||||||
|
|
||||||
//
|
|
||||||
// Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
|
|
||||||
//
|
|
||||||
#define KSEG0_BASE 0x80000000
|
|
||||||
|
|
||||||
//
|
|
||||||
// PRCB Flags
|
|
||||||
//
|
|
||||||
#define PRCB_MINOR_VERSION 1
|
|
||||||
#define PRCB_MAJOR_VERSION 1
|
|
||||||
#define PRCB_BUILD_DEBUG 1
|
|
||||||
#define PRCB_BUILD_UNIPROCESSOR 2
|
|
||||||
|
|
||||||
#ifndef ROUND_UP
|
|
||||||
#define ROUND_UP(x,y) (((x) + ((y)-1)) & ~((y)-1))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef double DOUBLE;
|
|
||||||
|
|
||||||
typedef struct _FX_SAVE_AREA {
|
|
||||||
ULONG Fr[32];
|
|
||||||
} FX_SAVE_AREA, *PFX_SAVE_AREA;
|
|
||||||
|
|
||||||
typedef struct _FXSAVE_FORMAT
|
|
||||||
{
|
|
||||||
ULONG Xer,Fpscr;
|
|
||||||
} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
|
|
||||||
|
|
||||||
typedef struct _LDT_ENTRY {
|
|
||||||
USHORT LimitLow;
|
|
||||||
USHORT BaseLow;
|
|
||||||
union
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
UCHAR BaseMid;
|
|
||||||
UCHAR Flags1;
|
|
||||||
UCHAR Flags2;
|
|
||||||
UCHAR BaseHi;
|
|
||||||
} Bytes;
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
ULONG BaseMid : 8;
|
|
||||||
ULONG Type : 5;
|
|
||||||
ULONG Dpl : 2;
|
|
||||||
ULONG Pres : 1;
|
|
||||||
ULONG LimitHi : 4;
|
|
||||||
ULONG Sys : 1;
|
|
||||||
ULONG Reserved_0 : 1;
|
|
||||||
ULONG Default_Big : 1;
|
|
||||||
ULONG Granularity : 1;
|
|
||||||
ULONG BaseHi : 8;
|
|
||||||
} Bits;
|
|
||||||
} HighWord;
|
|
||||||
} LDT_ENTRY;
|
|
||||||
|
|
||||||
#ifndef CONFIG_SMP
|
|
||||||
#define SYNCH_LEVEL DISPATCH_LEVEL
|
|
||||||
#else
|
|
||||||
#define SYNCH_LEVEL (IPI_LEVEL - 1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// Trap Frame Definition
|
|
||||||
//
|
|
||||||
typedef struct _KTRAP_FRAME
|
|
||||||
{
|
|
||||||
PVOID TrapFrame;
|
|
||||||
UCHAR OldIrql;
|
|
||||||
UCHAR PreviousMode;
|
|
||||||
UCHAR SavedApcStateIndex;
|
|
||||||
UCHAR SavedKernelApcDisable;
|
|
||||||
UCHAR ExceptionRecord[ROUND_UP(sizeof(EXCEPTION_RECORD), sizeof(ULONGLONG))];
|
|
||||||
ULONG FILL2;
|
|
||||||
ULONG Gpr0;
|
|
||||||
ULONG Gpr1;
|
|
||||||
ULONG Gpr2;
|
|
||||||
ULONG Gpr3;
|
|
||||||
ULONG Gpr4;
|
|
||||||
ULONG Gpr5;
|
|
||||||
ULONG Gpr6;
|
|
||||||
ULONG Gpr7;
|
|
||||||
ULONG Gpr8;
|
|
||||||
ULONG Gpr9;
|
|
||||||
ULONG Gpr10;
|
|
||||||
ULONG Gpr11;
|
|
||||||
ULONG Gpr12;
|
|
||||||
DOUBLE Fpr0;
|
|
||||||
DOUBLE Fpr1;
|
|
||||||
DOUBLE Fpr2;
|
|
||||||
DOUBLE Fpr3;
|
|
||||||
DOUBLE Fpr4;
|
|
||||||
DOUBLE Fpr5;
|
|
||||||
DOUBLE Fpr6;
|
|
||||||
DOUBLE Fpr7;
|
|
||||||
DOUBLE Fpr8;
|
|
||||||
DOUBLE Fpr9;
|
|
||||||
DOUBLE Fpr10;
|
|
||||||
DOUBLE Fpr11;
|
|
||||||
DOUBLE Fpr12;
|
|
||||||
DOUBLE Fpr13;
|
|
||||||
DOUBLE Fpscr;
|
|
||||||
ULONG Cr;
|
|
||||||
ULONG Xer;
|
|
||||||
ULONG Msr;
|
|
||||||
ULONG Iar;
|
|
||||||
ULONG Lr;
|
|
||||||
ULONG Ctr;
|
|
||||||
ULONG Dr0;
|
|
||||||
ULONG Dr1;
|
|
||||||
ULONG Dr2;
|
|
||||||
ULONG Dr3;
|
|
||||||
ULONG Dr4;
|
|
||||||
ULONG Dr5;
|
|
||||||
ULONG Dr6;
|
|
||||||
ULONG Dr7;
|
|
||||||
} KTRAP_FRAME, *PKTRAP_FRAME;
|
|
||||||
|
|
||||||
//
|
|
||||||
// GDT Entry Definition
|
|
||||||
//
|
|
||||||
typedef struct _KGDTENTRY
|
|
||||||
{
|
|
||||||
USHORT LimitLow;
|
|
||||||
USHORT BaseLow;
|
|
||||||
union
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
UCHAR BaseMid;
|
|
||||||
UCHAR Flags1;
|
|
||||||
UCHAR Flags2;
|
|
||||||
UCHAR BaseHi;
|
|
||||||
} Bytes;
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
ULONG BaseMid:8;
|
|
||||||
ULONG Type:5;
|
|
||||||
ULONG Dpl:2;
|
|
||||||
ULONG Pres:1;
|
|
||||||
ULONG LimitHi:4;
|
|
||||||
ULONG Sys:1;
|
|
||||||
ULONG Reserved_0:1;
|
|
||||||
ULONG Default_Big:1;
|
|
||||||
ULONG Granularity:1;
|
|
||||||
ULONG BaseHi:8;
|
|
||||||
} Bits;
|
|
||||||
} HighWord;
|
|
||||||
} KGDTENTRY, *PKGDTENTRY;
|
|
||||||
|
|
||||||
//
|
|
||||||
// IDT Entry Definition
|
|
||||||
//
|
|
||||||
typedef struct _KIDTENTRY
|
|
||||||
{
|
|
||||||
USHORT Offset;
|
|
||||||
USHORT Selector;
|
|
||||||
USHORT Access;
|
|
||||||
USHORT ExtendedOffset;
|
|
||||||
} KIDTENTRY, *PKIDTENTRY;
|
|
||||||
|
|
||||||
typedef struct _DESCRIPTOR
|
|
||||||
{
|
|
||||||
USHORT Pad;
|
|
||||||
USHORT Limit;
|
|
||||||
ULONG Base;
|
|
||||||
} KDESCRIPTOR, *PKDESCRIPTOR;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Special Registers Structure (outside of CONTEXT)
|
|
||||||
//
|
|
||||||
typedef struct _KSPECIAL_REGISTERS
|
|
||||||
{
|
|
||||||
ULONG KernelDr0;
|
|
||||||
ULONG KernelDr1;
|
|
||||||
ULONG KernelDr2;
|
|
||||||
ULONG KernelDr3;
|
|
||||||
ULONG KernelDr4;
|
|
||||||
ULONG KernelDr5;
|
|
||||||
ULONG KernelDr6;
|
|
||||||
ULONG KernelDr7;
|
|
||||||
ULONG Sprg0;
|
|
||||||
ULONG Sprg1;
|
|
||||||
ULONG Sr0;
|
|
||||||
ULONG Sr1;
|
|
||||||
ULONG Sr2;
|
|
||||||
ULONG Sr3;
|
|
||||||
ULONG Sr4;
|
|
||||||
ULONG Sr5;
|
|
||||||
ULONG Sr6;
|
|
||||||
ULONG Sr7;
|
|
||||||
ULONG Sr8;
|
|
||||||
ULONG Sr9;
|
|
||||||
ULONG Sr10;
|
|
||||||
ULONG Sr11;
|
|
||||||
ULONG Sr12;
|
|
||||||
ULONG Sr13;
|
|
||||||
ULONG Sr14;
|
|
||||||
ULONG Sr15;
|
|
||||||
ULONG DBAT0L;
|
|
||||||
ULONG DBAT0U;
|
|
||||||
ULONG DBAT1L;
|
|
||||||
ULONG DBAT1U;
|
|
||||||
ULONG DBAT2L;
|
|
||||||
ULONG DBAT2U;
|
|
||||||
ULONG DBAT3L;
|
|
||||||
ULONG DBAT3U;
|
|
||||||
ULONG IBAT0L;
|
|
||||||
ULONG IBAT0U;
|
|
||||||
ULONG IBAT1L;
|
|
||||||
ULONG IBAT1U;
|
|
||||||
ULONG IBAT2L;
|
|
||||||
ULONG IBAT2U;
|
|
||||||
ULONG IBAT3L;
|
|
||||||
ULONG IBAT3U;
|
|
||||||
ULONG Sdr1;
|
|
||||||
ULONG Reserved[9];
|
|
||||||
} KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Processor State Data
|
|
||||||
//
|
|
||||||
#pragma pack(push,4)
|
|
||||||
typedef struct _KPROCESSOR_STATE
|
|
||||||
{
|
|
||||||
CONTEXT ContextFrame;
|
|
||||||
KSPECIAL_REGISTERS SpecialRegisters;
|
|
||||||
} KPROCESSOR_STATE, *PKPROCESSOR_STATE;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Processor Region Control Block
|
|
||||||
//
|
|
||||||
typedef struct _KPRCB
|
|
||||||
{
|
|
||||||
USHORT MinorVersion;
|
|
||||||
USHORT MajorVersion;
|
|
||||||
struct _KTHREAD *CurrentThread;
|
|
||||||
struct _KTHREAD *NextThread;
|
|
||||||
struct _KTHREAD *IdleThread;
|
|
||||||
UCHAR Number;
|
|
||||||
UCHAR Reserved;
|
|
||||||
USHORT BuildType;
|
|
||||||
KAFFINITY SetMember;
|
|
||||||
UCHAR CpuType;
|
|
||||||
UCHAR CpuID;
|
|
||||||
USHORT CpuStep;
|
|
||||||
KPROCESSOR_STATE ProcessorState;
|
|
||||||
ULONG KernelReserved[16];
|
|
||||||
ULONG HalReserved[16];
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
ULONG CFlushSize;
|
|
||||||
UCHAR PrcbPad0[88];
|
|
||||||
#else
|
|
||||||
UCHAR PrcbPad0[92];
|
|
||||||
#endif
|
|
||||||
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock];
|
|
||||||
struct _KTHREAD *NpxThread;
|
|
||||||
ULONG InterruptCount;
|
|
||||||
ULONG KernelTime;
|
|
||||||
ULONG UserTime;
|
|
||||||
ULONG DpcTime;
|
|
||||||
ULONG DebugDpcTime;
|
|
||||||
ULONG InterruptTime;
|
|
||||||
ULONG AdjustDpcThreshold;
|
|
||||||
ULONG PageColor;
|
|
||||||
UCHAR SkipTick;
|
|
||||||
UCHAR DebuggerSavedIRQL;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
|
||||||
UCHAR NodeColor;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
UCHAR PollSlot;
|
|
||||||
#else
|
|
||||||
UCHAR Spare1;
|
|
||||||
#endif
|
|
||||||
ULONG NodeShiftedColor;
|
|
||||||
#else
|
|
||||||
UCHAR Spare1[6];
|
|
||||||
#endif
|
|
||||||
struct _KNODE *ParentNode;
|
|
||||||
ULONG MultiThreadProcessorSet;
|
|
||||||
struct _KPRCB *MultiThreadSetMaster;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
|
||||||
ULONG SecondaryColorMask;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
ULONG DpcTimeLimit;
|
|
||||||
#else
|
|
||||||
LONG Sleeping;
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
ULONG ThreadStartCount[2];
|
|
||||||
#endif
|
|
||||||
ULONG CcFastReadNoWait;
|
|
||||||
ULONG CcFastReadWait;
|
|
||||||
ULONG CcFastReadNotPossible;
|
|
||||||
ULONG CcCopyReadNoWait;
|
|
||||||
ULONG CcCopyReadWait;
|
|
||||||
ULONG CcCopyReadNoWaitMiss;
|
|
||||||
#if (NTDDI_VERSION < NTDDI_LONGHORN)
|
|
||||||
ULONG KeAlignmentFixupCount;
|
|
||||||
#endif
|
|
||||||
ULONG SpareCounter0;
|
|
||||||
#if (NTDDI_VERSION < NTDDI_LONGHORN)
|
|
||||||
ULONG KeDcacheFlushCount;
|
|
||||||
ULONG KeExceptionDispatchCount;
|
|
||||||
ULONG KeFirstLevelTbFills;
|
|
||||||
ULONG KeFloatingEmulationCount;
|
|
||||||
ULONG KeIcacheFlushCount;
|
|
||||||
ULONG KeSecondLevelTbFills;
|
|
||||||
ULONG KeSystemCalls;
|
|
||||||
#endif
|
|
||||||
volatile ULONG IoReadOperationCount;
|
|
||||||
volatile ULONG IoWriteOperationCount;
|
|
||||||
volatile ULONG IoOtherOperationCount;
|
|
||||||
LARGE_INTEGER IoReadTransferCount;
|
|
||||||
LARGE_INTEGER IoWriteTransferCount;
|
|
||||||
LARGE_INTEGER IoOtherTransferCount;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
ULONG CcFastMdlReadNoWait;
|
|
||||||
ULONG CcFastMdlReadWait;
|
|
||||||
ULONG CcFastMdlReadNotPossible;
|
|
||||||
ULONG CcMapDataNoWait;
|
|
||||||
ULONG CcMapDataWait;
|
|
||||||
ULONG CcPinMappedDataCount;
|
|
||||||
ULONG CcPinReadNoWait;
|
|
||||||
ULONG CcPinReadWait;
|
|
||||||
ULONG CcMdlReadNoWait;
|
|
||||||
ULONG CcMdlReadWait;
|
|
||||||
ULONG CcLazyWriteHotSpots;
|
|
||||||
ULONG CcLazyWriteIos;
|
|
||||||
ULONG CcLazyWritePages;
|
|
||||||
ULONG CcDataFlushes;
|
|
||||||
ULONG CcDataPages;
|
|
||||||
ULONG CcLostDelayedWrites;
|
|
||||||
ULONG CcFastReadResourceMiss;
|
|
||||||
ULONG CcCopyReadWaitMiss;
|
|
||||||
ULONG CcFastMdlReadResourceMiss;
|
|
||||||
ULONG CcMapDataNoWaitMiss;
|
|
||||||
ULONG CcMapDataWaitMiss;
|
|
||||||
ULONG CcPinReadNoWaitMiss;
|
|
||||||
ULONG CcPinReadWaitMiss;
|
|
||||||
ULONG CcMdlReadNoWaitMiss;
|
|
||||||
ULONG CcMdlReadWaitMiss;
|
|
||||||
ULONG CcReadAheadIos;
|
|
||||||
ULONG KeAlignmentFixupCount;
|
|
||||||
ULONG KeExceptionDispatchCount;
|
|
||||||
ULONG KeSystemCalls;
|
|
||||||
ULONG PrcbPad1[3];
|
|
||||||
#else
|
|
||||||
ULONG SpareCounter1[8];
|
|
||||||
#endif
|
|
||||||
PP_LOOKASIDE_LIST PPLookasideList[16];
|
|
||||||
PP_LOOKASIDE_LIST PPNPagedLookasideList[32];
|
|
||||||
PP_LOOKASIDE_LIST PPPagedLookasideList[32];
|
|
||||||
volatile ULONG PacketBarrier;
|
|
||||||
volatile ULONG ReverseStall;
|
|
||||||
PVOID IpiFrame;
|
|
||||||
UCHAR PrcbPad2[52];
|
|
||||||
volatile PVOID CurrentPacket[3];
|
|
||||||
volatile ULONG TargetSet;
|
|
||||||
volatile PKIPI_WORKER WorkerRoutine;
|
|
||||||
volatile ULONG IpiFrozen;
|
|
||||||
UCHAR PrcbPad3[40];
|
|
||||||
volatile ULONG RequestSummary;
|
|
||||||
volatile struct _KPRCB *SignalDone;
|
|
||||||
UCHAR PrcbPad4[56];
|
|
||||||
struct _KDPC_DATA DpcData[2];
|
|
||||||
PVOID DpcStack;
|
|
||||||
ULONG MaximumDpcQueueDepth;
|
|
||||||
ULONG DpcRequestRate;
|
|
||||||
ULONG MinimumDpcRate;
|
|
||||||
volatile UCHAR DpcInterruptRequested;
|
|
||||||
volatile UCHAR DpcThreadRequested;
|
|
||||||
volatile UCHAR DpcRoutineActive;
|
|
||||||
volatile UCHAR DpcThreadActive;
|
|
||||||
ULONG PrcbLock;
|
|
||||||
ULONG DpcLastCount;
|
|
||||||
volatile ULONG TimerHand;
|
|
||||||
volatile ULONG TimerRequest;
|
|
||||||
PVOID DpcThread;
|
|
||||||
KEVENT DpcEvent;
|
|
||||||
UCHAR ThreadDpcEnable;
|
|
||||||
volatile BOOLEAN QuantumEnd;
|
|
||||||
UCHAR PrcbPad50;
|
|
||||||
volatile UCHAR IdleSchedule;
|
|
||||||
LONG DpcSetEventRequest;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
LONG Sleeping;
|
|
||||||
ULONG PeriodicCount;
|
|
||||||
ULONG PeriodicBias;
|
|
||||||
UCHAR PrcbPad5[6];
|
|
||||||
#else
|
|
||||||
UCHAR PrcbPad5[18];
|
|
||||||
#endif
|
|
||||||
LONG TickOffset;
|
|
||||||
KDPC CallDpc;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
LONG ClockKeepAlive;
|
|
||||||
UCHAR ClockCheckSlot;
|
|
||||||
UCHAR ClockPollCycle;
|
|
||||||
UCHAR PrcbPad6[2];
|
|
||||||
LONG DpcWatchdogPeriod;
|
|
||||||
LONG DpcWatchDogCount;
|
|
||||||
LONG ThreadWatchdogPeriod;
|
|
||||||
LONG ThreadWatchDogCount;
|
|
||||||
ULONG PrcbPad70[2];
|
|
||||||
#else
|
|
||||||
ULONG PrcbPad7[8];
|
|
||||||
#endif
|
|
||||||
LIST_ENTRY WaitListHead;
|
|
||||||
ULONG ReadySummary;
|
|
||||||
ULONG QueueIndex;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
SINGLE_LIST_ENTRY DeferredReadyListHead;
|
|
||||||
ULONGLONG StartCycles;
|
|
||||||
ULONGLONG CycleTime;
|
|
||||||
ULONGLONG PrcbPad71[3];
|
|
||||||
LIST_ENTRY DispatcherReadyListHead[32];
|
|
||||||
#else
|
|
||||||
LIST_ENTRY DispatcherReadyListHead[32];
|
|
||||||
SINGLE_LIST_ENTRY DeferredReadyListHead;
|
|
||||||
ULONG PrcbPad72[11];
|
|
||||||
#endif
|
|
||||||
PVOID ChainedInterruptList;
|
|
||||||
LONG LookasideIrpFloat;
|
|
||||||
volatile LONG MmPageFaultCount;
|
|
||||||
volatile LONG MmCopyOnWriteCount;
|
|
||||||
volatile LONG MmTransitionCount;
|
|
||||||
volatile LONG MmCacheTransitionCount;
|
|
||||||
volatile LONG MmDemandZeroCount;
|
|
||||||
volatile LONG MmPageReadCount;
|
|
||||||
volatile LONG MmPageReadIoCount;
|
|
||||||
volatile LONG MmCacheReadCount;
|
|
||||||
volatile LONG MmCacheIoCount;
|
|
||||||
volatile LONG MmDirtyPagesWriteCount;
|
|
||||||
volatile LONG MmDirtyWriteIoCount;
|
|
||||||
volatile LONG MmMappedPagesWriteCount;
|
|
||||||
volatile LONG MmMappedWriteIoCount;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
ULONG CachedCommit;
|
|
||||||
ULONG CachedResidentAvailable;
|
|
||||||
PVOID HyperPte;
|
|
||||||
UCHAR CpuVendor;
|
|
||||||
UCHAR PrcbPad9[3];
|
|
||||||
#else
|
|
||||||
ULONG SpareFields0[1];
|
|
||||||
#endif
|
|
||||||
CHAR VendorString[13];
|
|
||||||
UCHAR InitialApicId;
|
|
||||||
UCHAR LogicalProcessorsPerPhysicalProcessor;
|
|
||||||
ULONG MHz;
|
|
||||||
ULONG FeatureBits;
|
|
||||||
LARGE_INTEGER UpdateSignature;
|
|
||||||
volatile LARGE_INTEGER IsrTime;
|
|
||||||
LARGE_INTEGER SpareField1;
|
|
||||||
FX_SAVE_AREA NpxSaveArea;
|
|
||||||
PROCESSOR_POWER_STATE PowerState;
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
|
||||||
KDPC DpcWatchdogDoc;
|
|
||||||
KTIMER DpcWatchdogTimer;
|
|
||||||
PVOID WheaInfo;
|
|
||||||
PVOID EtwSupport;
|
|
||||||
SLIST_HEADER InterruptObjectPool;
|
|
||||||
LARGE_INTEGER HyperCallPagePhysical;
|
|
||||||
LARGE_INTEGER HyperCallPageVirtual;
|
|
||||||
PVOID RateControl;
|
|
||||||
CACHE_DESCRIPTOR Cache[5];
|
|
||||||
ULONG CacheCount;
|
|
||||||
ULONG CacheProcessorMask[5];
|
|
||||||
UCHAR LogicalProcessorsPerCore;
|
|
||||||
UCHAR PrcbPad8[3];
|
|
||||||
ULONG PackageProcessorSet;
|
|
||||||
ULONG CoreProcessorSet;
|
|
||||||
#endif
|
|
||||||
} KPRCB, *PKPRCB;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Processor Control Region
|
|
||||||
//
|
|
||||||
typedef struct _KIPCR
|
|
||||||
{
|
|
||||||
USHORT MinorVersion;
|
|
||||||
USHORT MajorVersion;
|
|
||||||
PKINTERRUPT_ROUTINE InterruptRoutine[MAXIMUM_VECTOR];
|
|
||||||
ULONG PcrPage2;
|
|
||||||
ULONG Kseg0Top;
|
|
||||||
ULONG Spare7[30];
|
|
||||||
ULONG FirstLevelDcacheSize;
|
|
||||||
ULONG FirstLevelDcacheFillSize;
|
|
||||||
ULONG FirstLevelIcacheSize;
|
|
||||||
ULONG FirstLevelIcacheFillSize;
|
|
||||||
ULONG SecondLevelDcacheSize;
|
|
||||||
ULONG SecondLevelDcacheFillSize;
|
|
||||||
ULONG SecondLevelIcacheSize;
|
|
||||||
ULONG SecondLevelIcacheFillSize;
|
|
||||||
struct _KPRCB *PrcbData;
|
|
||||||
PVOID Teb;
|
|
||||||
ULONG DcacheAlignment;
|
|
||||||
ULONG DcacheFillSize;
|
|
||||||
ULONG IcacheAlignment;
|
|
||||||
ULONG IcacheFillSize;
|
|
||||||
ULONG ProcessorVersion;
|
|
||||||
ULONG ProcessorRevision;
|
|
||||||
ULONG ProfileInterval;
|
|
||||||
ULONG ProfileCount;
|
|
||||||
ULONG StallExecutionCount;
|
|
||||||
ULONG StallScaleFactor;
|
|
||||||
ULONG Spare;
|
|
||||||
union
|
|
||||||
{
|
|
||||||
ULONG CachePolicy;
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
UCHAR IcacheMode;
|
|
||||||
UCHAR DcacheMode;
|
|
||||||
USHORT ModeSpare;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
UCHAR IrqlMask[32];
|
|
||||||
UCHAR IrqlTable[9];
|
|
||||||
UCHAR CurrentIrql;
|
|
||||||
CCHAR Number;
|
|
||||||
KAFFINITY SetMember;
|
|
||||||
ULONG ReservedVectors;
|
|
||||||
struct _KTHREAD *CurrentThread;
|
|
||||||
ULONG AlignedCachePolicy;
|
|
||||||
union
|
|
||||||
{
|
|
||||||
ULONG SoftwareInterrupt;
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
UCHAR ApcInterrupt;
|
|
||||||
UCHAR DispatchInterrupt;
|
|
||||||
UCHAR Spare4;
|
|
||||||
UCHAR Spare5;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
KAFFINITY NotMember;
|
|
||||||
ULONG SystemReserved[16];
|
|
||||||
ULONG HalReserved[16];
|
|
||||||
ULONG FirstLevelActive;
|
|
||||||
ULONG SystemServiceDispatchStart;
|
|
||||||
ULONG SystemServiceDispatchEnd;
|
|
||||||
ULONG InterruptStack;
|
|
||||||
ULONG QuantumEnd;
|
|
||||||
PVOID InitialStack;
|
|
||||||
PVOID PanicStack;
|
|
||||||
ULONG BadVaddr;
|
|
||||||
PVOID StackLimit;
|
|
||||||
PVOID SavedStackLimit;
|
|
||||||
ULONG SavedV0;
|
|
||||||
ULONG SavedV1;
|
|
||||||
UCHAR DebugActive;
|
|
||||||
UCHAR Spare6[3];
|
|
||||||
ULONG GprSave[6];
|
|
||||||
ULONG SiR0;
|
|
||||||
ULONG SiR2;
|
|
||||||
ULONG SiR3;
|
|
||||||
ULONG SiR4;
|
|
||||||
ULONG SiR5;
|
|
||||||
ULONG Spare0;
|
|
||||||
ULONG Spare8;
|
|
||||||
ULONG PgDirRa;
|
|
||||||
ULONG OnInterruptStack;
|
|
||||||
ULONG SavedInitialStack;
|
|
||||||
} KIPCR, *PKIPCR;
|
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
//
|
|
||||||
// TSS Definition
|
|
||||||
//
|
|
||||||
typedef struct _KTSS {
|
|
||||||
} KTSS, *PKTSS;
|
|
||||||
|
|
||||||
//
|
|
||||||
// PowerPC Exception Frame
|
|
||||||
//
|
|
||||||
typedef struct _KEXCEPTION_FRAME
|
|
||||||
{
|
|
||||||
ULONG Fill1;
|
|
||||||
ULONG Gpr13;
|
|
||||||
ULONG Gpr14;
|
|
||||||
ULONG Gpr15;
|
|
||||||
ULONG Gpr16;
|
|
||||||
ULONG Gpr17;
|
|
||||||
ULONG Gpr18;
|
|
||||||
ULONG Gpr19;
|
|
||||||
ULONG Gpr20;
|
|
||||||
ULONG Gpr21;
|
|
||||||
ULONG Gpr22;
|
|
||||||
ULONG Gpr23;
|
|
||||||
ULONG Gpr24;
|
|
||||||
ULONG Gpr25;
|
|
||||||
ULONG Gpr26;
|
|
||||||
ULONG Gpr27;
|
|
||||||
ULONG Gpr28;
|
|
||||||
ULONG Gpr29;
|
|
||||||
ULONG Gpr30;
|
|
||||||
ULONG Gpr31;
|
|
||||||
DOUBLE Fpr14;
|
|
||||||
DOUBLE Fpr15;
|
|
||||||
DOUBLE Fpr16;
|
|
||||||
DOUBLE Fpr17;
|
|
||||||
DOUBLE Fpr18;
|
|
||||||
DOUBLE Fpr19;
|
|
||||||
DOUBLE Fpr20;
|
|
||||||
DOUBLE Fpr21;
|
|
||||||
DOUBLE Fpr22;
|
|
||||||
DOUBLE Fpr23;
|
|
||||||
DOUBLE Fpr24;
|
|
||||||
DOUBLE Fpr25;
|
|
||||||
DOUBLE Fpr26;
|
|
||||||
DOUBLE Fpr27;
|
|
||||||
DOUBLE Fpr28;
|
|
||||||
DOUBLE Fpr29;
|
|
||||||
DOUBLE Fpr30;
|
|
||||||
DOUBLE Fpr31;
|
|
||||||
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
|
||||||
|
|
||||||
FORCEINLINE
|
|
||||||
struct _KPRCB *
|
|
||||||
KeGetCurrentPrcb(VOID)
|
|
||||||
{
|
|
||||||
return (struct _KPRCB *)(ULONG_PTR)__readfsdword(FIELD_OFFSET(KIPCR, PrcbData));
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,63 +0,0 @@
|
||||||
/*++ NDK Version: 0095
|
|
||||||
|
|
||||||
Copyright (c) Alex Ionescu. All rights reserved.
|
|
||||||
|
|
||||||
Header Name:
|
|
||||||
|
|
||||||
mmtypes.h (PPC)
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
PowerPC Type definitions for the Memory Manager
|
|
||||||
|
|
||||||
Author:
|
|
||||||
|
|
||||||
Art Yerkes (ayerkes@speakeasy.net) 04-Dec-2005
|
|
||||||
|
|
||||||
--*/
|
|
||||||
|
|
||||||
#ifndef _POWERPC_MMTYPES_H
|
|
||||||
#define _POWERPC_MMTYPES_H
|
|
||||||
|
|
||||||
//
|
|
||||||
// Dependencies
|
|
||||||
//
|
|
||||||
|
|
||||||
//
|
|
||||||
// Page-related Macros
|
|
||||||
//
|
|
||||||
#define PAGE_SIZE 0x1000
|
|
||||||
#define PAGE_SHIFT 12L
|
|
||||||
|
|
||||||
typedef unsigned long long MMPTE_HARDWARE;
|
|
||||||
typedef unsigned long long MMPTE_SOFTWARE;
|
|
||||||
typedef unsigned long long MMPTE_PROTOTYPE;
|
|
||||||
typedef unsigned long long MMPTE_SUBSECTION;
|
|
||||||
typedef unsigned long long MMPTE_TRANSITION;
|
|
||||||
typedef unsigned long long MMPTE_LIST;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Page Table Entry Definition
|
|
||||||
//
|
|
||||||
typedef struct _HARDWARE_PTE_PPC
|
|
||||||
{
|
|
||||||
ULONG Dirty:2;
|
|
||||||
ULONG Valid:1;
|
|
||||||
ULONG GuardedStorage:1;
|
|
||||||
ULONG MemoryCoherence:1;
|
|
||||||
ULONG CacheDisable:1;
|
|
||||||
ULONG WriteThrough:1;
|
|
||||||
ULONG Change:1;
|
|
||||||
ULONG Reference:1;
|
|
||||||
ULONG Write:1;
|
|
||||||
ULONG CopyOnWrite:1;
|
|
||||||
ULONG rsvd1:1;
|
|
||||||
ULONG PageFrameNumber:20;
|
|
||||||
} HARDWARE_PTE_PPC, *PHARDWARE_PTE_PPC;
|
|
||||||
|
|
||||||
#ifndef HARDWARE_PTE
|
|
||||||
#define HARDWARE_PTE HARDWARE_PTE_PPC
|
|
||||||
#define PHARDWARE_PTE PHARDWARE_PTE_PPC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif/*_POWERPC_MMTYPES_H*/
|
|
Loading…
Reference in a new issue