From 2a568fccdc27c584b8da484dc750b3e72c6b5531 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 18 Jan 2009 21:55:59 +0000 Subject: [PATCH] Tracing the data exchanged between Windows64 and WinDbg shows that DBGKD_CONTROL_REPORT is a bit different to x86 version. svn path=/branches/ros-amd64-bringup/; revision=38920 --- reactos/include/reactos/windbgkd.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/reactos/include/reactos/windbgkd.h b/reactos/include/reactos/windbgkd.h index 87389253f91..b6fc6e981e5 100644 --- a/reactos/include/reactos/windbgkd.h +++ b/reactos/include/reactos/windbgkd.h @@ -200,7 +200,13 @@ typedef struct _DBGKD_ANY_CONTROL_SET } DBGKD_ANY_CONTROL_SET, *PDBGKD_ANY_CONTROL_SET; #include +#if defined(_M_X86) typedef X86_DBGKD_CONTROL_SET DBGKD_CONTROL_SET; +#elif defined(_M_AMD64) +typedef AMD64_DBGKD_CONTROL_SET DBGKD_CONTROL_SET; +#else +#error unsupported architecture +#endif // // DBGKM Structure for Exceptions @@ -214,6 +220,8 @@ typedef struct _DBGKM_EXCEPTION64 // // DBGKD Structure for State Change // +#ifdef defined(_M_X86) + typedef struct _DBGKD_CONTROL_REPORT { ULONG Dr6; @@ -228,6 +236,24 @@ typedef struct _DBGKD_CONTROL_REPORT ULONG EFlags; } DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT; +#elif defined(_M_AMD64) + +typedef struct _DBGKD_CONTROL_REPORT +{ + ULONG64 Dr6; + ULONG64 Dr7; + ULONG EFlags; + USHORT InstructionCount; + USHORT ReportFlags; + UCHAR InstructionStream[DBGKD_MAXSTREAM]; + USHORT SegCs; + USHORT SegDs; + USHORT SegEs; + USHORT SegFs; +} DBGKD_CONTROL_REPORT, *PDBGKD_CONTROL_REPORT; + +#endif + // // DBGKD Structure for Debug I/O Type Print String //