- 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:
Alex Ionescu 2007-03-25 14:33:54 +00:00
parent ea6edc618d
commit c28da2e61a
8 changed files with 34 additions and 31 deletions

View file

@ -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"

View file

@ -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 =
{ {

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
*/ */

View file

@ -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

View file

@ -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 *********************************************************/