KD64 Compatibility Bringup:
authorStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 10 Oct 2009 19:27:54 +0000 (19:27 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 10 Oct 2009 19:27:54 +0000 (19:27 +0000)
commitca6fbc0be93a2965cba59f490184e15b5ab49a42
tree6d3733fe30f219df4dc4e7dc8d2fc50b3728efb4
parent3f7bed2eae793c3a4e5108ddb400caa1ae937aa4
KD64 Compatibility Bringup:
- Add some missing control set structures to windbgkd.h from Singularity and fix some x86 assumptions.
- Use CopyExceptionRecord instead of ExceptionRecord32To64 as we can just copy directly on 64-bit.
- Add KeGetTrapFrameInterruptState macro to retrieve the interrupt state (ON/OFF) from a trap frame.
- Use macros for retrieving certain parameters from CONTEXT in KdpTrap instead of hardcoding x86.
- Add kdsup.c for x86/AMD64/ARM and move certain architecture dependent routines in here.
- Stub out MSR, Bus and I/O Space read/write support and use KdpSys* for Control Space as it is architecture dependent. Also stub out low memory check (for x86 PAE).
- Fix assumptions in the break point code that a breakpoint is 1 byte long (it is 4 byte on ARM, for example). Define the type required to contain a breakpoint per architecture and use KD_BREAKPOINT_SIZE when copying.
- KD supports 32 breakpoints, not 20.
- Be portable when initializing members of the KD version and debugger data block.
- Pointers in the debugger data block should not be sign extended as done in the version block -- fix KdInitSystem and KdUpdateDataBlock that did this.
- Fix some comments that were x86 specific and use more generic terms instead.
- Fix a cast in KeBugCheckWithTf.

svn path=/trunk/; revision=43365
16 files changed:
reactos/include/ndk/asm.h
reactos/include/reactos/windbgkd.h
reactos/ntoskrnl/include/internal/arm/ke.h
reactos/ntoskrnl/include/internal/i386/ke.h
reactos/ntoskrnl/include/internal/kd64.h
reactos/ntoskrnl/include/internal/powerpc/ke.h
reactos/ntoskrnl/kd64/amd64/kdsup.c [new file with mode: 0644]
reactos/ntoskrnl/kd64/arm/kdsup.c [new file with mode: 0644]
reactos/ntoskrnl/kd64/i386/kdsup.c [new file with mode: 0644]
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/bug.c
reactos/ntoskrnl/ntoskrnl-generic.rbuild