- 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]
DefaultPath = \ReactOS
;OsLoadOptions = "/NOGUIBOOT /NODEBUG"
OsLoadOptions = "/NOGUIBOOT"
OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM1"
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=SCREEN"
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=BOCHS"

View file

@ -14,7 +14,7 @@
POBJECT_TYPE DbgkDebugObjectType;
FAST_MUTEX DbgkpProcessDebugPortMutex;
ULONG DbgkpTraceLevel = 0; //-1;
ULONG DbgkpTraceLevel = 0;
GENERIC_MAPPING DbgkDebugObjectMapping =
{

View file

@ -9,7 +9,7 @@
//
// Define this if you want debugging support
//
#define _OB_DEBUG_ 0x00
#define _OB_DEBUG_ 0x01
//
// These define the Debug Masks Supported

View file

@ -13,7 +13,7 @@
#define NDEBUG
#include <internal/debug.h>
ULONG IopTraceLevel = 0; //IO_API_DEBUG | IO_FILE_DEBUG;
ULONG IopTraceLevel = 0;
// should go into a proper header
VOID

View file

@ -2379,3 +2379,31 @@ IsrTimeout:
/* Cleanup verification */
VERIFY_INT_END kid, 0
.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;
}
/*
* @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
*/

View file

@ -44,7 +44,7 @@ GENERIC_MAPPING ObpSymbolicLinkMapping =
};
PDEVICE_MAP ObSystemDeviceMap = NULL;
ULONG ObpTraceLevel = OB_HANDLE_DEBUG | OB_REFERENCE_DEBUG;
ULONG ObpTraceLevel = 0;
VOID
NTAPI

View file

@ -17,7 +17,7 @@
#include "internal/ps_i.h"
/* Debugging Level */
ULONG PspTraceLevel = 0;//PS_KILL_DEBUG | PS_REF_DEBUG;
ULONG PspTraceLevel = 0;
/* PRIVATE FUNCTIONS *********************************************************/