- Add STATUS_SUCCESS to asm.h and make use of it.
authorStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 17 Oct 2009 14:31:38 +0000 (14:31 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 17 Oct 2009 14:31:38 +0000 (14:31 +0000)
commit9a713108adaa8604170fa419f2e0cb705f328047
treea081306b81eb7e8ea0f375738ec95c39bf97f782
parent494daf26e9df4f7e67c4fd4463048a81848171fc
- Add STATUS_SUCCESS to asm.h and make use of it.
- Implement Bus and I/O space read and write support.
- Implement support for AUTOENABLE, DISABLE and NOUMEX subparameters to /debug. Add the missing string scan and set and respect the related globals properly. Add support for disabling the debugger and suspending breakpoints.
- Add and implement KdIsThisAKdTrap to determine if the kernel debugger can't ignore a particular trap -- returns true for software breakpoints and debug service calls (DbgPrint for example). Called from KiDispatchException to determine whether to override NOUMEX (otherwise, DbgPrint and friends will kill user mode applications). Stub this for KDBG as it implements its own scheme for ignoring user mode.
- KiDispatchException: Clean up some goto and support NOUMEX. Also don't check if KiDebugRoutine is NULL -- it will never be.
- KdEnableDebuggerWithLock should initialize the debugger even if KdDisableCount is 0 (but only if called internally) as this means that the debugger was never initialized in the first place. Required for AUTOENABLE and for enabling the debugger during a bugcheck. Add the globals to kdbg too but don't set or respect them there as kdbg does not support it.
- Enable KdEnableDebugger and implement KdDisableDebugger for KD as KdDisableDebuggerWithLock is now implemented.
- Only build kdmemsup.c if KDBG is defined.

svn path=/trunk/; revision=43530
15 files changed:
reactos/include/ndk/i386/asm.h
reactos/ntoskrnl/include/internal/kd.h
reactos/ntoskrnl/include/internal/kd64.h
reactos/ntoskrnl/kd/kdmain.c
reactos/ntoskrnl/kd64/amd64/kdsup.c
reactos/ntoskrnl/kd64/arm/kdsup.c
reactos/ntoskrnl/kd64/i386/kdsup.c
reactos/ntoskrnl/kd64/kdapi.c
reactos/ntoskrnl/kd64/kdbreak.c
reactos/ntoskrnl/kd64/kddata.c
reactos/ntoskrnl/kd64/kdinit.c
reactos/ntoskrnl/kd64/kdtrap.c
reactos/ntoskrnl/ke/i386/exp.c
reactos/ntoskrnl/ke/i386/trap.s
reactos/ntoskrnl/ntoskrnl-generic.rbuild