mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 08:21:38 +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]
|
||||
DefaultPath = \ReactOS
|
||||
;OsLoadOptions = "/NOGUIBOOT /NODEBUG"
|
||||
OsLoadOptions = "/NOGUIBOOT"
|
||||
OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM1"
|
||||
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=SCREEN"
|
||||
;OsLoadOptions = "/NOGUIBOOT /DEBUGPORT=BOCHS"
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
POBJECT_TYPE DbgkDebugObjectType;
|
||||
FAST_MUTEX DbgkpProcessDebugPortMutex;
|
||||
ULONG DbgkpTraceLevel = 0; //-1;
|
||||
ULONG DbgkpTraceLevel = 0;
|
||||
|
||||
GENERIC_MAPPING DbgkDebugObjectMapping =
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -44,7 +44,7 @@ GENERIC_MAPPING ObpSymbolicLinkMapping =
|
|||
};
|
||||
|
||||
PDEVICE_MAP ObSystemDeviceMap = NULL;
|
||||
ULONG ObpTraceLevel = OB_HANDLE_DEBUG | OB_REFERENCE_DEBUG;
|
||||
ULONG ObpTraceLevel = 0;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
|
|
|
@ -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 *********************************************************/
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue