MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (as preparation for further simplification)
This commit is contained in:
parent
0b535dc862
commit
e452d56991
|
@ -354,17 +354,6 @@ typedef struct _LIST_ENTRY
|
|||
}
|
||||
LIST_ENTRY, *PLIST_ENTRY;
|
||||
|
||||
// See the links below for the details about the kernel structure LIST_ENTRY and the related functions
|
||||
// https://www.codeproject.com/Articles/800404/Understanding-LIST-ENTRY-Lists-and-Its-Importance
|
||||
// https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/singly-and-doubly-linked-lists
|
||||
|
||||
#define LIST_ENTRY_DEFINE_HEAD(ListHead) xboxkrnl::LIST_ENTRY (ListHead) = { &(ListHead), &(ListHead) }
|
||||
|
||||
#define LIST_ENTRY_INITIALIZE(ListEntry) ((ListEntry)->Flink = (ListEntry)->Blink = nullptr)
|
||||
|
||||
#define LIST_ENTRY_ACCESS_RECORD(address, type, field) \
|
||||
((type*)((UCHAR*)(address) - (ULONG)(&((type*)0)->field)))
|
||||
|
||||
// ******************************************************************
|
||||
// * SLIST_ENTRY
|
||||
// ******************************************************************
|
||||
|
|
|
@ -62,6 +62,14 @@ namespace xboxkrnl
|
|||
#include <locale>
|
||||
#include <codecvt>
|
||||
|
||||
// See the links below for the details about the kernel structure LIST_ENTRY and the related functions
|
||||
// https://www.codeproject.com/Articles/800404/Understanding-LIST-ENTRY-Lists-and-Its-Importance
|
||||
// https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/singly-and-doubly-linked-lists
|
||||
#define LIST_ENTRY_DEFINE_HEAD(ListHead) xboxkrnl::LIST_ENTRY (ListHead) = { &(ListHead), &(ListHead) }
|
||||
#define LIST_ENTRY_ACCESS_RECORD(address, type, field) \
|
||||
((type*)((UCHAR*)(address) - (ULONG)(&((type*)0)->field)))
|
||||
|
||||
|
||||
volatile DWORD HalInterruptRequestRegister = APC_LEVEL | DISPATCH_LEVEL;
|
||||
HalSystemInterrupt HalSystemInterrupts[MAX_BUS_INTERRUPT_LEVEL + 1];
|
||||
|
||||
|
@ -72,7 +80,6 @@ uint32_t ResetOrShutdownDataValue = 0;
|
|||
// global list of routines executed during a reboot
|
||||
LIST_ENTRY_DEFINE_HEAD(ShutdownRoutineList);
|
||||
|
||||
|
||||
// ******************************************************************
|
||||
// * Declaring this in a header causes errors with xboxkrnl
|
||||
// * namespace, so we must declare it within any file that uses it
|
||||
|
@ -510,7 +517,7 @@ XBSYSAPI EXPORTNUM(49) xboxkrnl::VOID DECLSPEC_NORETURN NTAPI xboxkrnl::HalRetur
|
|||
{
|
||||
OldIrql = KeRaiseIrqlToDpcLevel();
|
||||
|
||||
ListEntry = RemoveHeadList(&ShutdownRoutineList)
|
||||
ListEntry = RemoveHeadList(&ShutdownRoutineList);
|
||||
|
||||
KfLowerIrql(OldIrql);
|
||||
|
||||
|
|
|
@ -42,6 +42,12 @@
|
|||
#include "EmuKrnl.h" // For InitializeListHead(), etc.
|
||||
#include <assert.h>
|
||||
|
||||
// See the links below for the details about the kernel structure LIST_ENTRY and the related functions
|
||||
// https://www.codeproject.com/Articles/800404/Understanding-LIST-ENTRY-Lists-and-Its-Importance
|
||||
// https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/singly-and-doubly-linked-lists
|
||||
#define LIST_ENTRY_INITIALIZE(ListEntry) ((ListEntry)->Flink = (ListEntry)->Blink = nullptr)
|
||||
#define LIST_ENTRY_ACCESS_RECORD(address, type, field) \
|
||||
((type*)((UCHAR*)(address) - (ULONG)(&((type*)0)->field)))
|
||||
|
||||
void PhysicalMemory::InitializePageDirectory()
|
||||
{
|
||||
|
|
|
@ -48,6 +48,10 @@
|
|||
#include "EmuKrnl.h" // For InitializeListHead(), etc.
|
||||
#include <assert.h>
|
||||
|
||||
// See the links below for the details about the kernel structure LIST_ENTRY and the related functions
|
||||
// https://www.codeproject.com/Articles/800404/Understanding-LIST-ENTRY-Lists-and-Its-Importance
|
||||
// https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/singly-and-doubly-linked-lists
|
||||
#define LIST_ENTRY_INITIALIZE(ListEntry) ((ListEntry)->Flink = (ListEntry)->Blink = nullptr)
|
||||
|
||||
VMManager g_VMManager;
|
||||
|
||||
|
|
Loading…
Reference in New Issue