mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 00:45:43 +00:00
- Fixup some kernel module debugging flags/settings from leftovers.
- Enable debugging during text-mode setup. - Optimize KeSynhronizeExecution into assembly so we can avoid using EBP and have the fastest possible routine, since it is performance critical. - svn path=/trunk/; revision=26167
This commit is contained in:
parent
ea6edc618d
commit
c28da2e61a
8 changed files with 34 additions and 31 deletions
|
@ -40,7 +40,7 @@ Cabinet=reactos.cab
|
||||||
[SetupData]
|
[SetupData]
|
||||||
DefaultPath = \ReactOS
|
DefaultPath = \ReactOS
|
||||||
;OsLoadOptions = "/NOGUIBOOT /NODEBUG"
|
;OsLoadOptions = "/NOGUIBOOT /NODEBUG"
|
||||||
OsLoadOptions = "/NOGUIBOOT"
|
OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM1"
|
||||||
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=SCREEN"
|
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=SCREEN"
|
||||||
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=BOCHS"
|
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=BOCHS"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
POBJECT_TYPE DbgkDebugObjectType;
|
POBJECT_TYPE DbgkDebugObjectType;
|
||||||
FAST_MUTEX DbgkpProcessDebugPortMutex;
|
FAST_MUTEX DbgkpProcessDebugPortMutex;
|
||||||
ULONG DbgkpTraceLevel = 0; //-1;
|
ULONG DbgkpTraceLevel = 0;
|
||||||
|
|
||||||
GENERIC_MAPPING DbgkDebugObjectMapping =
|
GENERIC_MAPPING DbgkDebugObjectMapping =
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
//
|
//
|
||||||
// Define this if you want debugging support
|
// Define this if you want debugging support
|
||||||
//
|
//
|
||||||
#define _OB_DEBUG_ 0x00
|
#define _OB_DEBUG_ 0x01
|
||||||
|
|
||||||
//
|
//
|
||||||
// These define the Debug Masks Supported
|
// These define the Debug Masks Supported
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <internal/debug.h>
|
#include <internal/debug.h>
|
||||||
|
|
||||||
ULONG IopTraceLevel = 0; //IO_API_DEBUG | IO_FILE_DEBUG;
|
ULONG IopTraceLevel = 0;
|
||||||
|
|
||||||
// should go into a proper header
|
// should go into a proper header
|
||||||
VOID
|
VOID
|
||||||
|
|
|
@ -2379,3 +2379,31 @@ IsrTimeout:
|
||||||
/* Cleanup verification */
|
/* Cleanup verification */
|
||||||
VERIFY_INT_END kid, 0
|
VERIFY_INT_END kid, 0
|
||||||
.endfunc
|
.endfunc
|
||||||
|
|
||||||
|
.globl _KeSynchronizeExecution@12
|
||||||
|
.func KeSynchronizeExecution@12
|
||||||
|
_KeSynchronizeExecution@12:
|
||||||
|
|
||||||
|
/* Save EBX and put the interrupt object in it */
|
||||||
|
push ebx
|
||||||
|
mov ebx, [esp+8]
|
||||||
|
|
||||||
|
/* Go to DIRQL */
|
||||||
|
mov cl, [ebx+KINTERRUPT_SYNCHRONIZE_IRQL]
|
||||||
|
call @KfRaiseIrql@4
|
||||||
|
|
||||||
|
/* Call the routine */
|
||||||
|
push eax
|
||||||
|
push [esp+20]
|
||||||
|
call [esp+20]
|
||||||
|
|
||||||
|
/* Lower IRQL */
|
||||||
|
mov ebx, eax
|
||||||
|
pop ecx
|
||||||
|
call @KfLowerIrql@4
|
||||||
|
|
||||||
|
/* Return status */
|
||||||
|
mov eax, ebx
|
||||||
|
pop ebx
|
||||||
|
ret 12
|
||||||
|
.endfunc
|
||||||
|
|
|
@ -247,31 +247,6 @@ KeAcquireInterruptSpinLock(IN PKINTERRUPT Interrupt)
|
||||||
return OldIrql;
|
return OldIrql;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
BOOLEAN
|
|
||||||
NTAPI
|
|
||||||
KeSynchronizeExecution(IN PKINTERRUPT Interrupt,
|
|
||||||
IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
|
|
||||||
IN PVOID SynchronizeContext)
|
|
||||||
{
|
|
||||||
KIRQL OldIrql;
|
|
||||||
BOOLEAN Status;
|
|
||||||
|
|
||||||
/* Raise IRQL and acquire lock on MP */
|
|
||||||
OldIrql = KeAcquireInterruptSpinLock(Interrupt);
|
|
||||||
|
|
||||||
/* Call the routine */
|
|
||||||
Status = SynchronizeRoutine(SynchronizeContext);
|
|
||||||
|
|
||||||
/* Release lock and lower IRQL */
|
|
||||||
KeReleaseInterruptSpinLock(Interrupt, OldIrql);
|
|
||||||
|
|
||||||
/* Return routine status */
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -44,7 +44,7 @@ GENERIC_MAPPING ObpSymbolicLinkMapping =
|
||||||
};
|
};
|
||||||
|
|
||||||
PDEVICE_MAP ObSystemDeviceMap = NULL;
|
PDEVICE_MAP ObSystemDeviceMap = NULL;
|
||||||
ULONG ObpTraceLevel = OB_HANDLE_DEBUG | OB_REFERENCE_DEBUG;
|
ULONG ObpTraceLevel = 0;
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "internal/ps_i.h"
|
#include "internal/ps_i.h"
|
||||||
|
|
||||||
/* Debugging Level */
|
/* Debugging Level */
|
||||||
ULONG PspTraceLevel = 0;//PS_KILL_DEBUG | PS_REF_DEBUG;
|
ULONG PspTraceLevel = 0;
|
||||||
|
|
||||||
/* PRIVATE FUNCTIONS *********************************************************/
|
/* PRIVATE FUNCTIONS *********************************************************/
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue