diff --git a/sdk/include/ndk/powerpc/ketypes.h b/sdk/include/ndk/powerpc/ketypes.h deleted file mode 100644 index 16554a6c5e7..00000000000 --- a/sdk/include/ndk/powerpc/ketypes.h +++ /dev/null @@ -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 diff --git a/sdk/include/ndk/powerpc/mmtypes.h b/sdk/include/ndk/powerpc/mmtypes.h deleted file mode 100644 index 2dde39f5c27..00000000000 --- a/sdk/include/ndk/powerpc/mmtypes.h +++ /dev/null @@ -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*/