commit
0382400ef0
|
@ -219,6 +219,7 @@
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuDSoundInline.hpp" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuDSoundInline.hpp" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuFile.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuFile.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuFS.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuFS.h" />
|
||||||
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlKi.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlLogging.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuNtDll.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuNtDll.h" />
|
||||||
<ClInclude Include="..\..\src\CxbxKrnl\EmuSha.h" />
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuSha.h" />
|
||||||
|
@ -494,6 +495,7 @@
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlIo.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlIo.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKd.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKd.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKe.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKe.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKi.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlLogging.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlLogging.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlMm.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlMm.cpp" />
|
||||||
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlNt.cpp" />
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlNt.cpp" />
|
||||||
|
|
|
@ -241,6 +241,9 @@
|
||||||
<ClCompile Include="..\..\src\devices\video\swizzle.cpp">
|
<ClCompile Include="..\..\src\devices\video\swizzle.cpp">
|
||||||
<Filter>Hardware</Filter>
|
<Filter>Hardware</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\CxbxKrnl\EmuKrnlKi.cpp">
|
||||||
|
<Filter>Kernel</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\src\Cxbx\DlgControllerConfig.h">
|
<ClInclude Include="..\..\src\Cxbx\DlgControllerConfig.h">
|
||||||
|
@ -471,6 +474,9 @@
|
||||||
<ClInclude Include="..\..\src\devices\MCPXDevice.h">
|
<ClInclude Include="..\..\src\devices\MCPXDevice.h">
|
||||||
<Filter>Hardware</Filter>
|
<Filter>Hardware</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\CxbxKrnl\EmuKrnlKi.h">
|
||||||
|
<Filter>Kernel</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\devices\video\swizzle.h">
|
<ClInclude Include="..\..\src\devices\video\swizzle.h">
|
||||||
<Filter>Hardware</Filter>
|
<Filter>Hardware</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
|
@ -74,7 +74,7 @@ XBSYSAPI EXPORTNUM(267) NTSTATUS NTAPI RtlCharToInteger
|
||||||
// * compare block of memory, return number of equivalent bytes.
|
// * compare block of memory, return number of equivalent bytes.
|
||||||
// *
|
// *
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
XBSYSAPI EXPORTNUM(268) BOOLEAN NTAPI RtlCompareMemory
|
XBSYSAPI EXPORTNUM(268) SIZE_T NTAPI RtlCompareMemory
|
||||||
(
|
(
|
||||||
IN CONST VOID *Source1,
|
IN CONST VOID *Source1,
|
||||||
IN CONST VOID *Source2,
|
IN CONST VOID *Source2,
|
||||||
|
@ -183,7 +183,7 @@ XBSYSAPI EXPORTNUM(279) BOOLEAN NTAPI RtlEqualString
|
||||||
(
|
(
|
||||||
IN PSTRING String1,
|
IN PSTRING String1,
|
||||||
IN PSTRING String2,
|
IN PSTRING String2,
|
||||||
IN BOOLEAN CaseSensitive
|
IN BOOLEAN CaseInsensitive
|
||||||
);
|
);
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -193,7 +193,7 @@ XBSYSAPI EXPORTNUM(280) BOOLEAN NTAPI RtlEqualUnicodeString
|
||||||
(
|
(
|
||||||
IN PUNICODE_STRING String1,
|
IN PUNICODE_STRING String1,
|
||||||
IN PUNICODE_STRING String2,
|
IN PUNICODE_STRING String2,
|
||||||
IN BOOLEAN CaseSensitive
|
IN BOOLEAN CaseInSensitive
|
||||||
);
|
);
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -279,7 +279,7 @@ XBSYSAPI EXPORTNUM(289) VOID NTAPI RtlInitAnsiString
|
||||||
XBSYSAPI EXPORTNUM(290) VOID NTAPI RtlInitUnicodeString
|
XBSYSAPI EXPORTNUM(290) VOID NTAPI RtlInitUnicodeString
|
||||||
(
|
(
|
||||||
IN OUT PUNICODE_STRING DestinationString,
|
IN OUT PUNICODE_STRING DestinationString,
|
||||||
IN PSTRING SourceString
|
IN PCWSTR SourceString
|
||||||
);
|
);
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -153,11 +153,14 @@ typedef long NTSTATUS;
|
||||||
#define STATUS_PENDING ((DWORD )0x00000103L)
|
#define STATUS_PENDING ((DWORD )0x00000103L)
|
||||||
#endif
|
#endif
|
||||||
#define STATUS_TIMER_RESUME_IGNORED ((DWORD )0x40000025L)
|
#define STATUS_TIMER_RESUME_IGNORED ((DWORD )0x40000025L)
|
||||||
|
#define STATUS_BUFFER_OVERFLOW ((DWORD )0x80000005L)
|
||||||
#define STATUS_UNSUCCESSFUL ((DWORD )0xC0000001)
|
#define STATUS_UNSUCCESSFUL ((DWORD )0xC0000001)
|
||||||
#define STATUS_UNRECOGNIZED_MEDIA ((DWORD )0xC0000014)
|
#define STATUS_UNRECOGNIZED_MEDIA ((DWORD )0xC0000014)
|
||||||
#ifndef STATUS_NO_MEMORY
|
#ifndef STATUS_NO_MEMORY
|
||||||
#define STATUS_NO_MEMORY ((DWORD )0xC0000017L)
|
#define STATUS_NO_MEMORY ((DWORD )0xC0000017L)
|
||||||
#endif
|
#endif
|
||||||
|
#define STATUS_BUFFER_TOO_SMALL ((DWORD )0xC0000023L)
|
||||||
|
#define STATUS_INVALID_PARAMETER_2 ((DWORD )0xC00000F0L)
|
||||||
#define STATUS_ALERTED ((DWORD )0x00000101)
|
#define STATUS_ALERTED ((DWORD )0x00000101)
|
||||||
#define STATUS_USER_APC ((DWORD )0x000000C0L)
|
#define STATUS_USER_APC ((DWORD )0x000000C0L)
|
||||||
// The SCSI input buffer was too large (not necessarily an error!)
|
// The SCSI input buffer was too large (not necessarily an error!)
|
||||||
|
|
|
@ -68,12 +68,6 @@ namespace xboxkrnl
|
||||||
#include "devices\Xbox.h" // For InitXboxHardware()
|
#include "devices\Xbox.h" // For InitXboxHardware()
|
||||||
#include "devices\LED.h" // For LED::Sequence
|
#include "devices\LED.h" // For LED::Sequence
|
||||||
|
|
||||||
/* prevent name collisions */
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
/*! thread local storage */
|
/*! thread local storage */
|
||||||
Xbe::TLS *CxbxKrnl_TLS = NULL;
|
Xbe::TLS *CxbxKrnl_TLS = NULL;
|
||||||
/*! thread local storage data */
|
/*! thread local storage data */
|
||||||
|
|
|
@ -46,13 +46,6 @@ namespace xboxkrnl
|
||||||
#include "Emu.h"
|
#include "Emu.h"
|
||||||
#include "EmuX86.h"
|
#include "EmuX86.h"
|
||||||
#include "EmuFS.h"
|
#include "EmuFS.h"
|
||||||
|
|
||||||
// prevent name collisions
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "EmuXTL.h"
|
#include "EmuXTL.h"
|
||||||
#include "EmuShared.h"
|
#include "EmuShared.h"
|
||||||
#include "HLEDataBase.h"
|
#include "HLEDataBase.h"
|
||||||
|
|
|
@ -51,6 +51,7 @@ namespace xboxkrnl
|
||||||
#include "Logging.h"
|
#include "Logging.h"
|
||||||
#include "EmuKrnlLogging.h"
|
#include "EmuKrnlLogging.h"
|
||||||
#include "EmuKrnl.h" // for HalSystemInterrupts
|
#include "EmuKrnl.h" // for HalSystemInterrupts
|
||||||
|
#include "EmuKrnlKi.h" // for KiLockDispatcherDatabase
|
||||||
#include "CxbxKrnl.h"
|
#include "CxbxKrnl.h"
|
||||||
#include "EmuXTL.h"
|
#include "EmuXTL.h"
|
||||||
|
|
||||||
|
@ -132,23 +133,6 @@ xboxkrnl::PLIST_ENTRY RemoveTailList(xboxkrnl::PLIST_ENTRY pListHead)
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
xboxkrnl::KPCR* KeGetPcr();
|
xboxkrnl::KPCR* KeGetPcr();
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * KiLockDispatcherDatabase()
|
|
||||||
// ******************************************************************
|
|
||||||
// * Not exported in kernel thunk table
|
|
||||||
// * NOTE: This is a macro on the Xbox, however we implement it
|
|
||||||
// * as a function because a macro doesn't compile this: *(&OldIrql)
|
|
||||||
// ******************************************************************
|
|
||||||
void xboxkrnl::KiLockDispatcherDatabase
|
|
||||||
(
|
|
||||||
OUT KIRQL* OldIrql
|
|
||||||
)
|
|
||||||
{
|
|
||||||
LOG_FUNC_ONE_ARG_OUT(OldIrql);
|
|
||||||
|
|
||||||
*(OldIrql) = KeRaiseIrqlToDpcLevel();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Interrupts
|
// Interrupts
|
||||||
|
|
||||||
extern volatile DWORD HalInterruptRequestRegister;
|
extern volatile DWORD HalInterruptRequestRegister;
|
||||||
|
|
|
@ -61,12 +61,6 @@ namespace xboxkrnl
|
||||||
#include <locale>
|
#include <locale>
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
|
||||||
// prevent name collisions
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
volatile DWORD HalInterruptRequestRegister = APC_LEVEL | DISPATCH_LEVEL;
|
volatile DWORD HalInterruptRequestRegister = APC_LEVEL | DISPATCH_LEVEL;
|
||||||
HalSystemInterrupt HalSystemInterrupts[MAX_BUS_INTERRUPT_LEVEL + 1];
|
HalSystemInterrupt HalSystemInterrupts[MAX_BUS_INTERRUPT_LEVEL + 1];
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ namespace NtDll
|
||||||
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
|
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
|
||||||
#include "Emu.h" // For EmuWarning()
|
#include "Emu.h" // For EmuWarning()
|
||||||
#include "EmuKrnl.h" // For InitializeListHead(), etc.
|
#include "EmuKrnl.h" // For InitializeListHead(), etc.
|
||||||
|
#include "EmuKrnlKi.h" // For KiRemoveTreeTimer(), KiInsertTreeTimer()
|
||||||
#include "EmuFile.h" // For IsEmuHandle(), NtStatusToString()
|
#include "EmuFile.h" // For IsEmuHandle(), NtStatusToString()
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
@ -83,53 +84,6 @@ xboxkrnl::ULONGLONG LARGE_INTEGER2ULONGLONG(xboxkrnl::LARGE_INTEGER value)
|
||||||
return *((PULONGLONG)&value);
|
return *((PULONGLONG)&value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO : Move all Ki* functions to EmuKrnlKi.h/cpp :
|
|
||||||
|
|
||||||
#define KiRemoveTreeTimer(Timer) \
|
|
||||||
(Timer)->Header.Inserted = FALSE; \
|
|
||||||
RemoveEntryList(&(Timer)->TimerListEntry)
|
|
||||||
|
|
||||||
BOOLEAN KiInsertTimerTable(
|
|
||||||
IN xboxkrnl::LARGE_INTEGER Interval,
|
|
||||||
xboxkrnl::ULONGLONG,
|
|
||||||
IN xboxkrnl::PKTIMER Timer
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN KiInsertTreeTimer(
|
|
||||||
IN xboxkrnl::PKTIMER Timer,
|
|
||||||
IN xboxkrnl::LARGE_INTEGER Interval
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// Is the given time absolute (indicated by a positive number)?
|
|
||||||
if (Interval.u.HighPart >= 0) {
|
|
||||||
// Convert absolute time to a time relative to the system time :
|
|
||||||
xboxkrnl::LARGE_INTEGER SystemTime;
|
|
||||||
xboxkrnl::KeQuerySystemTime(&SystemTime);
|
|
||||||
Interval.QuadPart = SystemTime.QuadPart - Interval.QuadPart;
|
|
||||||
if (Interval.u.HighPart >= 0) {
|
|
||||||
// If the relative time is already passed, return without inserting :
|
|
||||||
Timer->Header.Inserted = FALSE;
|
|
||||||
Timer->Header.SignalState = TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer->Header.Absolute = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
// Negative intervals are relative, not absolute :
|
|
||||||
Timer->Header.Absolute = FALSE;
|
|
||||||
|
|
||||||
if (Timer->Period == 0)
|
|
||||||
Timer->Header.SignalState = FALSE;
|
|
||||||
|
|
||||||
Timer->Header.Inserted = TRUE;
|
|
||||||
return KiInsertTimerTable(Interval, xboxkrnl::KeQueryInterruptTime(), Timer);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * KeGetPcr()
|
// * KeGetPcr()
|
||||||
// * NOTE: This is a macro on the Xbox, however we implement it
|
// * NOTE: This is a macro on the Xbox, however we implement it
|
||||||
|
@ -1525,7 +1479,7 @@ XBSYSAPI EXPORTNUM(144) xboxkrnl::ULONG NTAPI xboxkrnl::KeSetDisableBoostThread
|
||||||
KiLockDispatcherDatabase(&oldIRQL);
|
KiLockDispatcherDatabase(&oldIRQL);
|
||||||
|
|
||||||
ULONG prevDisableBoost = Thread->DisableBoost;
|
ULONG prevDisableBoost = Thread->DisableBoost;
|
||||||
Thread->DisableBoost = Disable;
|
Thread->DisableBoost = (CHAR)Disable;
|
||||||
|
|
||||||
KiUnlockDispatcherDatabase(oldIRQL);
|
KiUnlockDispatcherDatabase(oldIRQL);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
|
||||||
|
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
|
||||||
|
// ******************************************************************
|
||||||
|
// *
|
||||||
|
// * .,-::::: .,:: .::::::::. .,:: .:
|
||||||
|
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
|
||||||
|
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
|
||||||
|
// * $$$ Y$$$P $$""""Y$$ Y$$$P
|
||||||
|
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
|
||||||
|
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
|
||||||
|
// *
|
||||||
|
// * Cxbx->src->CxbxKrnl->EmuKrnlKi.cpp
|
||||||
|
// *
|
||||||
|
// * This file is part of the Cxbx project.
|
||||||
|
// *
|
||||||
|
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||||
|
// * and/or modify them under the terms of the GNU General Public
|
||||||
|
// * License as published by the Free Software Foundation; either
|
||||||
|
// * version 2 of the license, or (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have recieved a copy of the GNU General Public License
|
||||||
|
// * along with this program; see the file COPYING.
|
||||||
|
// * If not, write to the Free Software Foundation, Inc.,
|
||||||
|
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||||
|
// *
|
||||||
|
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
|
||||||
|
// * (c) 2016 Patrick van Logchem <pvanlogchem@gmail.com>
|
||||||
|
// *
|
||||||
|
// * All rights reserved
|
||||||
|
// *
|
||||||
|
// ******************************************************************
|
||||||
|
#define _XBOXKRNL_DEFEXTRN_
|
||||||
|
|
||||||
|
#define LOG_PREFIX "KRNL"
|
||||||
|
|
||||||
|
// prevent name collisions
|
||||||
|
namespace xboxkrnl
|
||||||
|
{
|
||||||
|
#include <xboxkrnl/xboxkrnl.h> // For KeBugCheck, etc.
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "Logging.h" // For LOG_FUNC()
|
||||||
|
#include "EmuKrnlLogging.h"
|
||||||
|
|
||||||
|
//#include "EmuKrnl.h" // For InitializeListHead(), etc.
|
||||||
|
|
||||||
|
xboxkrnl::BOOLEAN KiInsertTimerTable(
|
||||||
|
IN xboxkrnl::LARGE_INTEGER Interval,
|
||||||
|
xboxkrnl::ULONGLONG,
|
||||||
|
IN xboxkrnl::PKTIMER Timer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
xboxkrnl::BOOLEAN KiInsertTreeTimer(
|
||||||
|
IN xboxkrnl::PKTIMER Timer,
|
||||||
|
IN xboxkrnl::LARGE_INTEGER Interval
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// Is the given time absolute (indicated by a positive number)?
|
||||||
|
if (Interval.u.HighPart >= 0) {
|
||||||
|
// Convert absolute time to a time relative to the system time :
|
||||||
|
xboxkrnl::LARGE_INTEGER SystemTime;
|
||||||
|
xboxkrnl::KeQuerySystemTime(&SystemTime);
|
||||||
|
Interval.QuadPart = SystemTime.QuadPart - Interval.QuadPart;
|
||||||
|
if (Interval.u.HighPart >= 0) {
|
||||||
|
// If the relative time is already passed, return without inserting :
|
||||||
|
Timer->Header.Inserted = FALSE;
|
||||||
|
Timer->Header.SignalState = TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer->Header.Absolute = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
// Negative intervals are relative, not absolute :
|
||||||
|
Timer->Header.Absolute = FALSE;
|
||||||
|
|
||||||
|
if (Timer->Period == 0)
|
||||||
|
Timer->Header.SignalState = FALSE;
|
||||||
|
|
||||||
|
Timer->Header.Inserted = TRUE;
|
||||||
|
return KiInsertTimerTable(Interval, xboxkrnl::KeQueryInterruptTime(), Timer);
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
// ******************************************************************
|
||||||
|
// *
|
||||||
|
// * .,-::::: .,:: .::::::::. .,:: .:
|
||||||
|
// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;;
|
||||||
|
// * [[[ '[[,,[[' [[[__[[\. '[[,,[['
|
||||||
|
// * $$$ Y$$$P $$""""Y$$ Y$$$P
|
||||||
|
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
|
||||||
|
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
|
||||||
|
// *
|
||||||
|
// * Cxbx->src->CxbxKrnl->EmuKrnlKi.h
|
||||||
|
// *
|
||||||
|
// * This file is part of the Cxbx project.
|
||||||
|
// *
|
||||||
|
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||||
|
// * and/or modify them under the terms of the GNU General Public
|
||||||
|
// * License as published by the Free Software Foundation; either
|
||||||
|
// * version 2 of the license, or (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have recieved a copy of the GNU General Public License
|
||||||
|
// * along with this program; see the file COPYING.
|
||||||
|
// * If not, write to the Free Software Foundation, Inc.,
|
||||||
|
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||||
|
// *
|
||||||
|
// * (c) 2018 Patrick van Logchem <pvanlogchem@gmail.com>
|
||||||
|
// *
|
||||||
|
// * All rights reserved
|
||||||
|
// *
|
||||||
|
// ******************************************************************
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define KiLockDispatcherDatabase(OldIrql) \
|
||||||
|
*(OldIrql) = KeRaiseIrqlToDpcLevel()
|
||||||
|
|
||||||
|
#define KiLockApcQueue(Thread, OldIrql) \
|
||||||
|
*(OldIrql) = KeRaiseIrqlToSynchLevel()
|
||||||
|
|
||||||
|
#define KiUnlockApcQueue(Thread, OldIrql) \
|
||||||
|
KfLowerIrql((OldIrql))
|
||||||
|
|
||||||
|
#define KiRemoveTreeTimer(Timer) \
|
||||||
|
(Timer)->Header.Inserted = FALSE; \
|
||||||
|
RemoveEntryList(&(Timer)->TimerListEntry)
|
||||||
|
|
||||||
|
xboxkrnl::BOOLEAN KiInsertTreeTimer(
|
||||||
|
IN xboxkrnl::PKTIMER Timer,
|
||||||
|
IN xboxkrnl::LARGE_INTEGER Interval
|
||||||
|
);
|
|
@ -46,13 +46,6 @@ namespace xboxkrnl
|
||||||
|
|
||||||
#include "Logging.h" // For LOG_FUNC()
|
#include "Logging.h" // For LOG_FUNC()
|
||||||
#include "EmuKrnlLogging.h"
|
#include "EmuKrnlLogging.h"
|
||||||
|
|
||||||
// prevent name collisions
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
|
#include "CxbxKrnl.h" // For CxbxKrnlCleanup
|
||||||
#include "Emu.h" // For EmuWarning()
|
#include "Emu.h" // For EmuWarning()
|
||||||
#include "EmuKrnl.h" // For OBJECT_TO_OBJECT_HEADER()
|
#include "EmuKrnl.h" // For OBJECT_TO_OBJECT_HEADER()
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -43,15 +43,6 @@
|
||||||
#include "Emu.h"
|
#include "Emu.h"
|
||||||
#include "EmuFS.h"
|
#include "EmuFS.h"
|
||||||
#include "Logging.h"
|
#include "Logging.h"
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * prevent name collisions
|
|
||||||
// ******************************************************************
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "EmuXTL.h"
|
#include "EmuXTL.h"
|
||||||
#include "EmuD3D8Logging.h" // for log rendering of X_D3DFORMAT, etc.
|
#include "EmuD3D8Logging.h" // for log rendering of X_D3DFORMAT, etc.
|
||||||
|
|
||||||
|
|
|
@ -40,15 +40,6 @@
|
||||||
#include "Emu.h"
|
#include "Emu.h"
|
||||||
#include "Logging.h"
|
#include "Logging.h"
|
||||||
#include "EmuFS.h"
|
#include "EmuFS.h"
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * prevent name collisions
|
|
||||||
// ******************************************************************
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "EmuXTL.h"
|
#include "EmuXTL.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -64,14 +64,6 @@ bool g_bXInputOpenCalled = false;
|
||||||
|
|
||||||
XTL::PXPP_DEVICE_TYPE gDeviceType_Gamepad = nullptr;
|
XTL::PXPP_DEVICE_TYPE gDeviceType_Gamepad = nullptr;
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * prevent name collisions
|
|
||||||
// ******************************************************************
|
|
||||||
namespace NtDll
|
|
||||||
{
|
|
||||||
#include "EmuNtDll.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "EmuXTL.h"
|
#include "EmuXTL.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue