From: Stefan Ginsberg Date: Sun, 8 Apr 2012 15:57:04 +0000 (+0000) Subject: - There is no need for the i8042 driver to use a hacked KdSystemDebugControl call... X-Git-Tag: backups/ros-csrss@57560~1195 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=e15e4f0c7e856565e6a028c8d52849f9cd622418 - There is no need for the i8042 driver to use a hacked KdSystemDebugControl call to breakpoint or crash on TAB+k/TAB+b. Just call DbgBreakPoint or KeBugCheck directly. svn path=/trunk/; revision=56336 --- diff --git a/reactos/drivers/input/i8042prt/keyboard.c b/reactos/drivers/input/i8042prt/keyboard.c index 9d6bc1391e8..2752608cb51 100644 --- a/reactos/drivers/input/i8042prt/keyboard.c +++ b/reactos/drivers/input/i8042prt/keyboard.c @@ -812,16 +812,30 @@ i8042KbdInterruptService( else if (DeviceExtension->TabPressed) { DeviceExtension->TabPressed = FALSE; - - /* Send request to the kernel debugger. - * Unknown requests will be ignored. */ - KdSystemDebugControl(' soR', - (PVOID)(ULONG_PTR)InputData->MakeCode, - 0, - NULL, - 0, - NULL, - KernelMode); + + /* Check which action to do */ + if (InputData->MakeCode == 0x25) + { + /* k - Breakpoint */ + DbgBreakPoint(); + } + else if (InputData->MakeCode == 0x30) + { + /* b - Bugcheck */ + KeBugCheck(MANUALLY_INITIATED_CRASH); + } + else + { + /* Send request to the kernel debugger. + * Unknown requests will be ignored. */ + KdSystemDebugControl(' soR', + (PVOID)(ULONG_PTR)InputData->MakeCode, + 0, + NULL, + 0, + NULL, + KernelMode); + } } } diff --git a/reactos/ntoskrnl/kd/kdmain.c b/reactos/ntoskrnl/kd/kdmain.c index ac1f0bc4911..bacb9b32d9e 100644 --- a/reactos/ntoskrnl/kd/kdmain.c +++ b/reactos/ntoskrnl/kd/kdmain.c @@ -56,10 +56,6 @@ KdpServiceDispatcher(ULONG Service, { switch ((ULONG_PTR)Buffer1) { - case ManualBugCheck: - KeBugCheck(MANUALLY_INITIATED_CRASH); - break; - case DumpAllThreads: PspDumpThreads(TRUE); break; @@ -68,10 +64,6 @@ KdpServiceDispatcher(ULONG Service, PspDumpThreads(FALSE); break; - case EnterDebugger: - DbgBreakPoint(); - break; - case KdSpare3: MmDumpArmPfnDatabase(FALSE); break; diff --git a/reactos/ntoskrnl/kd64/kdapi.c b/reactos/ntoskrnl/kd64/kdapi.c index 4e008e70c56..3f477c23a8e 100644 --- a/reactos/ntoskrnl/kd64/kdapi.c +++ b/reactos/ntoskrnl/kd64/kdapi.c @@ -1953,14 +1953,6 @@ KdSystemDebugControl(IN SYSDBG_COMMAND Command, { switch ((ULONG_PTR)InputBuffer) { - case 0x30: // ManualBugCheck: - KeBugCheck(MANUALLY_INITIATED_CRASH); - break; - - case 0x25: // EnterDebugger: - DbgBreakPoint(); - break; - case 0x24: MmDumpArmPfnDatabase(FALSE); break;