Permalink
Browse files

MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (…

…as preparation for further simplification)
  • Loading branch information...
PatrickvL committed Oct 11, 2018
1 parent 0b535dc commit e452d56991c7dce655511c5529f4cf1a6fe98e42
@@ -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;

0 comments on commit e452d56

Please sign in to comment.