ReactOS 0.4.17-dev-1321-g5c122a9
_KPCR Struct Reference

#include <ke.h>

Collaboration diagram for _KPCR:

Public Attributes

union {
   NT_TIB   NtTib
 
   struct {
      union _KGDTENTRY64 *   GdtBase
 
      struct _KTSS64 *   TssBase
 
      ULONG64   UserRsp
 
      struct _KPCR *   Self
 
      struct _KPRCB *   CurrentPrcb
 
      PKSPIN_LOCK_QUEUE   LockArray
 
      PVOID   Used_Self
 
   } 
 
}; 
 
union _KIDTENTRY64 * IdtBase
 
ULONG64 Unused [2]
 
KIRQL Irql
 
UCHAR SecondLevelCacheAssociativity
 
UCHAR ObsoleteNumber
 
UCHAR Fill0
 
ULONG Unused0 [3]
 
USHORT MajorVersion
 
USHORT MinorVersion
 
ULONG StallScaleFactor
 
PVOID Unused1 [3]
 
ULONG KernelReserved [15]
 
ULONG SecondLevelCacheSize
 
ULONG HalReserved [16]
 
ULONG Unused2
 
PVOID KdVersionBlock
 
PVOID Unused3
 
ULONG PcrAlign1 [24]
 
union {
   NT_TIB   NtTib
 
   struct {
      ULONG   TibPad0 [2]
 
      PVOID   Spare1
 
      struct _KPCR *   Self
 
      struct _KPRCB *   CurrentPrcb
 
      PKSPIN_LOCK_QUEUE   LockArray
 
      PVOID   Used_Self
 
   } 
 
}; 
 
KIRQL CurrentIrql
 
union {
   USHORT   SoftwareInterruptPending
 
   struct {
      UCHAR   ApcInterrupt
 
      UCHAR   DispatchInterrupt
 
   } 
 
}; 
 
USHORT InterruptPad
 
union {
   NT_TIB   NtTib
 
   struct {
      PVOID   TibPad0 [2]
 
      PVOID   Spare1
 
      struct _KPCR *   Self
 
      PVOID   PcrReserved0
 
      PKSPIN_LOCK_QUEUE   LockArray
 
      PVOID   Used_Self
 
   } 
 
}; 
 
UCHAR Pad1 [2]
 
union {
   USHORT   SoftwareInterruptPending
 
   struct {
      UCHAR   ApcInterrupt
 
      UCHAR   DispatchInterrupt
 
   } 
 
}; 
 
union {
   UCHAR   BtiMitigation
 
   struct {
      UCHAR   KvaVbar:1
 
      UCHAR   BtiVbar:3
 
      UCHAR   BtiCswapHvc:1
 
      UCHAR   BtiCswapSmc:1
 
   } 
 
}; 
 
union {
   UCHAR   SsbMitigationFlags
 
   struct {
      UCHAR   SsbMitigationFirmware:1
 
      UCHAR   SsbMitigationDynamic:1
 
      UCHAR   SsbMitigationKernel:1
 
      UCHAR   SsbMitigationUser:1
 
      UCHAR   SsbMitigationReserved:4
 
   } 
 
}; 
 
UCHAR BhbMitigation
 
union {
   UCHAR   CachePrefetcherMitigationFlags
 
   struct {
      UCHAR   CachePrefetcherMitigation:1
 
      UCHAR   Pad2:7
 
   } 
 
}; 
 
ULONG64 PanicStorage [6]
 
PVOID HalReserved [14]
 
PVOID KvaUserModeTtbr1
 
struct _KPRCB * Prcb
 
ULONG IRR
 
ULONG IDR
 
KPCR_TIB Tib
 
ULONG IrrActive
 
PUSHORT IDT
 
PUSHORT GDT
 
struct _KTSS * TSS
 
KAFFINITY SetMember
 
UCHAR SpareUnused
 
UCHAR Number
 
union {
   NT_TIB   NtTib
 
   struct {
      struct _EXCEPTION_REGISTRATION_RECORD *   Used_ExceptionList
 
      PVOID   Used_StackBase
 
      PVOID   Spare2
 
      PVOID   TssCopy
 
      ULONG   ContextSwitches
 
      KAFFINITY   SetMemberCopy
 
      PVOID   Used_Self
 
   } 
 
}; 
 
struct _KPCR * SelfPcr
 
struct _KIDTENTRY * IDT
 
struct _KGDTENTRY * GDT
 
UCHAR Spare0
 
ULONG VdmAlert
 

Detailed Description

Definition at line 293 of file ke.h.

Member Data Documentation

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5062

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5067

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5069

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5077

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5079

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5081

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5083

◆ 

_ANONYMOUS_UNION union { ... } _KPCR::@5085

◆ 

union { ... } _KPCR::@5386

◆ ApcInterrupt

UCHAR _KPCR::ApcInterrupt

Definition at line 325 of file ke.h.

◆ BhbMitigation

UCHAR _KPCR::BhbMitigation

Definition at line 278 of file ke.h.

◆ BtiCswapHvc

UCHAR _KPCR::BtiCswapHvc

Definition at line 262 of file ke.h.

◆ BtiCswapSmc

UCHAR _KPCR::BtiCswapSmc

Definition at line 263 of file ke.h.

◆ BtiMitigation

UCHAR _KPCR::BtiMitigation

Definition at line 257 of file ke.h.

◆ BtiVbar

UCHAR _KPCR::BtiVbar

Definition at line 261 of file ke.h.

◆ CachePrefetcherMitigation

UCHAR _KPCR::CachePrefetcherMitigation

Definition at line 284 of file ke.h.

◆ CachePrefetcherMitigationFlags

UCHAR _KPCR::CachePrefetcherMitigationFlags

Definition at line 281 of file ke.h.

◆ ContextSwitches

ULONG _KPCR::ContextSwitches

Definition at line 297 of file ke.h.

◆ CurrentIrql

KIRQL _KPCR::CurrentIrql

Definition at line 311 of file ke.h.

◆ CurrentPrcb

struct _KPRCB* _KPCR::CurrentPrcb

Definition at line 304 of file ke.h.

Referenced by KiSystemService().

◆ DispatchInterrupt

UCHAR _KPCR::DispatchInterrupt

Definition at line 326 of file ke.h.

◆ Fill0

UCHAR _KPCR::Fill0

Definition at line 314 of file ke.h.

◆ GDT [1/2]

PUSHORT _KPCR::GDT

Definition at line 54 of file ke.h.

Referenced by KiSetTebBase().

◆ GDT [2/2]

struct _KGDTENTRY* _KPCR::GDT

Definition at line 310 of file ke.h.

◆ GdtBase

union _KGDTENTRY64* _KPCR::GdtBase

Definition at line 300 of file ke.h.

◆ HalReserved [1/2]

PVOID _KPCR::HalReserved[14]

Definition at line 290 of file ke.h.

◆ HalReserved [2/2]

ULONG _KPCR::HalReserved

Definition at line 322 of file ke.h.

◆ IDR

◆ IDT [1/2]

PUSHORT _KPCR::IDT

Definition at line 53 of file ke.h.

◆ IDT [2/2]

struct _KIDTENTRY* _KPCR::IDT

Definition at line 309 of file ke.h.

◆ IdtBase

union _KIDTENTRY64* _KPCR::IdtBase

Definition at line 309 of file ke.h.

◆ InterruptPad

USHORT _KPCR::InterruptPad

Definition at line 329 of file ke.h.

◆ Irql

◆ IRR

◆ IrrActive

ULONG _KPCR::IrrActive

◆ KdVersionBlock

PVOID _KPCR::KdVersionBlock

Definition at line 324 of file ke.h.

◆ KernelReserved

ULONG _KPCR::KernelReserved

Definition at line 320 of file ke.h.

◆ KvaUserModeTtbr1

PVOID _KPCR::KvaUserModeTtbr1

Definition at line 291 of file ke.h.

◆ KvaVbar

UCHAR _KPCR::KvaVbar

Definition at line 260 of file ke.h.

◆ LockArray

PKSPIN_LOCK_QUEUE _KPCR::LockArray

Definition at line 305 of file ke.h.

◆ MajorVersion

USHORT _KPCR::MajorVersion

Definition at line 316 of file ke.h.

◆ MinorVersion

USHORT _KPCR::MinorVersion

Definition at line 317 of file ke.h.

◆ NtTib

NT_TIB _KPCR::NtTib

Definition at line 297 of file ke.h.

Referenced by KiSetTebBase(), KiUserModeCallout(), and NtCallbackReturn().

◆ Number

UCHAR _KPCR::Number

Definition at line 61 of file ke.h.

◆ ObsoleteNumber

UCHAR _KPCR::ObsoleteNumber

Definition at line 313 of file ke.h.

◆ Pad1

UCHAR _KPCR::Pad1[2]

Definition at line 240 of file ke.h.

◆ Pad2

UCHAR _KPCR::Pad2

Definition at line 285 of file ke.h.

◆ PanicStorage

ULONG64 _KPCR::PanicStorage[6]

Definition at line 288 of file ke.h.

◆ PcrAlign1

ULONG _KPCR::PcrAlign1

Definition at line 326 of file ke.h.

◆ PcrReserved0

PVOID _KPCR::PcrReserved0

Definition at line 233 of file ke.h.

◆ Prcb

struct _KPRCB * _KPCR::Prcb

Definition at line 20 of file ke.h.

◆ SecondLevelCacheAssociativity

UCHAR _KPCR::SecondLevelCacheAssociativity

Definition at line 312 of file ke.h.

◆ SecondLevelCacheSize

ULONG _KPCR::SecondLevelCacheSize

Definition at line 321 of file ke.h.

◆ Self

struct _KPCR * _KPCR::Self

Definition at line 303 of file ke.h.

◆ SelfPcr

struct _KPCR* _KPCR::SelfPcr

Definition at line 302 of file ke.h.

◆ SetMember

KAFFINITY _KPCR::SetMember

Definition at line 58 of file ke.h.

◆ SetMemberCopy

KAFFINITY _KPCR::SetMemberCopy

Definition at line 298 of file ke.h.

◆ SoftwareInterruptPending

USHORT _KPCR::SoftwareInterruptPending

Definition at line 322 of file ke.h.

◆ Spare0

UCHAR _KPCR::Spare0

Definition at line 318 of file ke.h.

◆ Spare1

PVOID _KPCR::Spare1

Definition at line 304 of file ke.h.

◆ Spare2

PVOID _KPCR::Spare2

Definition at line 295 of file ke.h.

◆ SpareUnused

UCHAR _KPCR::SpareUnused

Definition at line 60 of file ke.h.

◆ SsbMitigationDynamic

UCHAR _KPCR::SsbMitigationDynamic

Definition at line 272 of file ke.h.

◆ SsbMitigationFirmware

UCHAR _KPCR::SsbMitigationFirmware

Definition at line 271 of file ke.h.

◆ SsbMitigationFlags

UCHAR _KPCR::SsbMitigationFlags

Definition at line 268 of file ke.h.

◆ SsbMitigationKernel

UCHAR _KPCR::SsbMitigationKernel

Definition at line 273 of file ke.h.

◆ SsbMitigationReserved

UCHAR _KPCR::SsbMitigationReserved

Definition at line 275 of file ke.h.

◆ SsbMitigationUser

UCHAR _KPCR::SsbMitigationUser

Definition at line 274 of file ke.h.

◆ StallScaleFactor

ULONG _KPCR::StallScaleFactor

Definition at line 318 of file ke.h.

◆ Tib

KPCR_TIB _KPCR::Tib

Definition at line 45 of file ke.h.

◆ TibPad0 [1/2]

ULONG _KPCR::TibPad0[2]

Definition at line 303 of file ke.h.

◆ TibPad0 [2/2]

PVOID _KPCR::TibPad0[2]

Definition at line 230 of file ke.h.

◆ TSS

struct _KTSS * _KPCR::TSS

Definition at line 55 of file ke.h.

Referenced by KiExitV86Mode(), KiUserModeCallout(), and NtCallbackReturn().

◆ TssBase

struct _KTSS64* _KPCR::TssBase

Definition at line 301 of file ke.h.

◆ TssCopy

PVOID _KPCR::TssCopy

Definition at line 296 of file ke.h.

◆ Unused

ULONG64 _KPCR::Unused[2]

Definition at line 310 of file ke.h.

◆ Unused0

ULONG _KPCR::Unused0

Definition at line 315 of file ke.h.

◆ Unused1

PVOID _KPCR::Unused1

Definition at line 319 of file ke.h.

◆ Unused2

ULONG _KPCR::Unused2

Definition at line 323 of file ke.h.

◆ Unused3

PVOID _KPCR::Unused3

Definition at line 325 of file ke.h.

◆ Used_ExceptionList

struct _EXCEPTION_REGISTRATION_RECORD* _KPCR::Used_ExceptionList

Definition at line 293 of file ke.h.

◆ Used_Self

PVOID _KPCR::Used_Self

Definition at line 306 of file ke.h.

◆ Used_StackBase

PVOID _KPCR::Used_StackBase

Definition at line 294 of file ke.h.

◆ UserRsp

ULONG64 _KPCR::UserRsp

Definition at line 302 of file ke.h.

◆ VdmAlert

ULONG _KPCR::VdmAlert

Definition at line 320 of file ke.h.


The documentation for this struct was generated from the following files: