Commit Graph
34942 Commits
Author SHA1 Message Date
Timo Kreuzer 95d550f693 fix Ki386InitializeTss
svn path=/branches/ros-amd64-bringup/; revision=39198
2009-01-29 15:56:54 +00:00
Timo Kreuzer 0534c6e4a6 KD64: implement case 0 for KdpReadControlSpace, which returns a pointer to the Pcr.
svn path=/branches/ros-amd64-bringup/; revision=39191
2009-01-28 23:34:04 +00:00
Samuel Serapion 02f91befe1 Fix typo.
svn path=/branches/ros-amd64-bringup/; revision=39173
2009-01-28 12:08:33 +00:00
Timo Kreuzer ae77b8e1f9 kd64: Implement KdpRead/WriteMachineSpecificRegister
svn path=/branches/ros-amd64-bringup/; revision=39162
2009-01-28 04:15:09 +00:00
Timo Kreuzer 7b5da63100 KD64: remove some FrLdrDbgPrints, fix a warning.
svn path=/branches/ros-amd64-bringup/; revision=39161
2009-01-28 04:14:05 +00:00
Samuel Serapion 3d6da207d7 The wbinvd instruction is the same on amd64
svn path=/branches/ros-amd64-bringup/; revision=39160
2009-01-28 03:07:51 +00:00
Timo Kreuzer a04bd167e3 Ke: Remove unused KiInitializeMachineType and Ki486CompatibilityLock. Remove a bunch of FrLdrDbgPrints. Resort KiSystemStartupReal, initialize the LoaderBlocks Process and Prcb field for Cpu0, get the Pcr from the LoaderBlock.
svn path=/branches/ros-amd64-bringup/; revision=39155
2009-01-27 22:14:06 +00:00
Timo Kreuzer 5374ad15b8 hal: fix some ULONG/ULONG_PTR issues
svn path=/branches/ros-amd64-bringup/; revision=39151
2009-01-27 21:35:00 +00:00
Timo Kreuzer 4889abaf25 kd64: Move KdpSysGetVersion into arch-specific file
svn path=/branches/ros-amd64-bringup/; revision=39136
2009-01-27 16:26:30 +00:00
Timo Kreuzer 10b297f752 kdcom: xor 1 to CurrentPacketId when we receive an ACK, not when we send one. Remove the SYNC_PACKET_ID hack. Now breaking in after DbgPrints works.
svn path=/branches/ros-amd64-bringup/; revision=39133
2009-01-27 12:58:24 +00:00
Timo Kreuzer ae0c07b4f8 Acknowledge a packet with the received packet's PacketId, not with the current sending PacketId.
svn path=/branches/ros-amd64-bringup/; revision=39131
2009-01-27 12:15:22 +00:00
Timo Kreuzer 08050b1520 Increment rip in KiBreakPointTrap and reenable decrement in KiDispatchException. (Do we really need it, first inc then dec? At least x86 does it that way) Setup fs selector in KiSystemStartupReal, pass a pointer to FrLdrDbgPrint to kdcom, fix some typos. Finally breaking into the debugger and continuing really works.
svn path=/branches/ros-amd64-bringup/; revision=39126
2009-01-27 01:57:35 +00:00
Timo Kreuzer dc125646a5 kdcom: add SYNC_PACKET_ID for PACKET_TYPE_KD_DEBUG_IO to make debugprints work.
svn path=/branches/ros-amd64-bringup/; revision=39124
2009-01-27 00:55:03 +00:00
Timo Kreuzer b906e54b40 rsym64: instead of stripping sections from the middle of the PE, convert them to bss sections to make windows happy and keep the files small. Thanks to kjk for finding the problem.
svn path=/branches/ros-amd64-bringup/; revision=39121
2009-01-26 22:48:54 +00:00
Timo Kreuzer 109668d7a2 remove a test hack that sneaked in and broke exception directory
svn path=/branches/ros-amd64-bringup/; revision=39114
2009-01-26 17:01:49 +00:00
Timo Kreuzer 3e88b3778e ntoskrnl/Ke: setup stack segment selector in KeSetupsStackAndInitializeKernel, comment out decrement of Rip on int3 dispatch (needs further investigation), use CONTEXT_ALL flags when creating the CONTEXT from the trap frame in KeDispatchException
svn path=/branches/ros-amd64-bringup/; revision=39074
2009-01-25 01:17:04 +00:00
Timo Kreuzer a8d4d9d5c5 freeldr: setup more entries of the gdt
svn path=/branches/ros-amd64-bringup/; revision=39073
2009-01-25 01:06:34 +00:00
Timo Kreuzer b783e3b2bf rsym64: add a temp hack, keeping the .eh_frame section, as windows cries when we remove it for some reason, needs more investigation what goes wrong.
svn path=/branches/ros-amd64-bringup/; revision=39072
2009-01-24 22:50:02 +00:00
Timo Kreuzer 3210df5936 Merge 38960 from trunk
svn path=/branches/ros-amd64-bringup/; revision=39071
2009-01-24 22:34:39 +00:00
Samuel Serapion 4fd7607a1b Fix compilation on gcc 4.4.0
svn path=/branches/ros-amd64-bringup/; revision=39060
2009-01-24 11:05:13 +00:00
Samuel Serapion ed09d1bb98 Fix compilation for gcc 4.4.0 and 64bits
svn path=/branches/ros-amd64-bringup/; revision=39059
2009-01-24 11:04:21 +00:00
Timo Kreuzer 9d8a81b57d KD64: Use CURRENT_KD_SECONDARY_VERSION instead of default in KdVersionBlock. Use UseExceptionRecordTo64. add some dirty hacks, until either WinDbg gets proper addresses sent or we have SEH implemented.
svn path=/branches/ros-amd64-bringup/; revision=39056
2009-01-24 01:05:38 +00:00
Timo Kreuzer 5fde806e8b add ExceptionRecordTo64 macro that copies the exception excord on win64, and calls ExceptionRecord32To64 on win32
svn path=/branches/ros-amd64-bringup/; revision=39055
2009-01-24 00:59:37 +00:00
Timo Kreuzer b92e8a49aa Add property USERMODE, set it to 1 to compile usermode parts (base, dlls and mingw lib)
svn path=/branches/ros-amd64-bringup/; revision=39053
2009-01-23 23:37:51 +00:00
Timo Kreuzer af71294b61 NDK: fix and update LDR_DATA_TABLE_ENTRY
svn path=/branches/ros-amd64-bringup/; revision=39052
2009-01-23 22:13:08 +00:00
Timo Kreuzer da3e5b3190 add mingw lib back to build
svn path=/branches/ros-amd64-bringup/; revision=39043
2009-01-23 12:51:43 +00:00
Timo Kreuzer 11412f0a26 ks64: Don't truncate the Thread pointer. Silence a warning.
svn path=/branches/ros-amd64-bringup/; revision=39019
2009-01-22 15:55:21 +00:00
Timo Kreuzer fbdecd3e79 kd64: KdpReadControlSpace works a bit different on x64, u.ReadMemory.TargetBaseAddress is not used as an offset, it's rather an index. On 1 a pointer to the prcb is returned, on 2 ProcessorState.SpecialRegisters is copied. Fix usage of IN and OUT.
svn path=/branches/ros-amd64-bringup/; revision=39005
2009-01-21 22:21:19 +00:00
Timo Kreuzer 145902626f Merge 38961 from trunk
svn path=/branches/ros-amd64-bringup/; revision=39003
2009-01-21 18:32:33 +00:00
Timo Kreuzer 5f4c3a7d19 kdcom: If a MessageData pointer is passed to KdReceivePacket, fill in Size member. Some cleanup. Now we pass the former assertion, but crash in KdpReadVirtualMemory. This lloks more like a bug in the x64 version of KdpReadControlSpace. Vista64 returns a kernel pointer that used in the following ReadMemory packet. Ros returns some crap.
svn path=/branches/ros-amd64-bringup/; revision=39002
2009-01-21 18:19:52 +00:00
Timo Kreuzer d740961aa2 kdcom: Implement KdpReceivePacketLeader that tries to get a packet leader and starts over as soon as a single byte is wrong. Use it instead of the old code in KdReceivePacket. Implement more of KdReceivePacket, handling the actual packets. Make use of CurrentPacketId that gets xored with 1 when sending acks and initialized on a reset. Not handling this correctly made WinDbg wait for more packets, although it sent an ack packet already.
Only return KdPacketReceived on an ack packet, when we requested one. Stuff starts to work now. WinDbg connects then reports "Assertion 'Data->Length == 0' failed at ntoskrnl\kd64\kdapi.c line 310".

svn path=/branches/ros-amd64-bringup/; revision=38985
2009-01-21 02:53:48 +00:00
Timo Kreuzer bb91a6f44a rsym64: only compare lower 16 bits of checksum
svn path=/branches/ros-amd64-bringup/; revision=38973
2009-01-20 13:46:24 +00:00
Timo Kreuzer 7ad31d2719 kdcom: implement KdpSendControlPacket and use it to respond with a reset packet to a reset packet. WindDbg expects this and will now finally except the resent packet and respond with a DBGKD_MANIPULATE_STATE64
svn path=/branches/ros-amd64-bringup/; revision=38971
2009-01-20 10:05:21 +00:00
Timo Kreuzer eabd9536dd kdcom: partly handle control packets, now we resend our data on reset packets, but WinDbg still doesn't like them.
svn path=/branches/ros-amd64-bringup/; revision=38967
2009-01-20 03:17:31 +00:00
Timo Kreuzer b03befb720 kdcom: initial implementation of KdSendPacket() and KdReceivePacket(). Based on info in ms windbgkd.h and http://www.nynaeve.net/?p=169
Now we start exchanging packets, but still not good enough to get things going.

svn path=/branches/ros-amd64-bringup/; revision=38966
2009-01-20 02:57:14 +00:00
Timo Kreuzer 2aa87f6dc5 kdcom: add a debug hack to use com2 for WinDbg, while com1 stays for FrLdrDbgPrint. Also mark the Port as initialized in KdDebuggerInitialize0. Remove the KD_RECV_CODE enum, use the KDSTATUS enum that already exist. Implement PACKET_TYPE_KD_POLL_BREAKIN case for KdReceivePacket as described in http://www.nynaeve.net/?p=169 Now we return from KdPollBreakIn().
svn path=/branches/ros-amd64-bringup/; revision=38965
2009-01-20 01:50:13 +00:00
Timo Kreuzer 9313950dd3 kdcom: Add KD_RECEIVE_CODE enum, implement KdpReceiveBuffer, HACK: misuse KdDebuggerInitialize1 to set a pointer to FrLdrDbgPrint
svn path=/branches/ros-amd64-bringup/; revision=38964
2009-01-20 01:05:07 +00:00
Timo Kreuzer 727c68db9e Implement KdpSendBuffer, KdpCalculateChecksum,
reference: http://www.vista-xp.co.uk/forums/technical-reference-library/2540-basics-debugging.html

svn path=/branches/ros-amd64-bringup/; revision=38963
2009-01-20 00:42:10 +00:00
Timo Kreuzer 89bebbd18c go back to no debugging channels in freeldr
svn path=/branches/ros-amd64-bringup/; revision=38959
2009-01-19 23:02:13 +00:00
Timo Kreuzer eb53e42811 crt update:
- initial implementation of secure crt functions for vista compatibility (implement _get_invalid_parameter_handler, _set_invalid_parameter_handler, _invalid_parameter)
- rewrite time apis, add TLS support, add 64bit time functions and secure crt function support

svn path=/branches/ros-amd64-bringup/; revision=38956
2009-01-19 22:05:27 +00:00
Timo Kreuzer a6ccd8981a time.h: add asctime_s and localtime_s, remove sec_api include
wchar.h: fix WTIME definitions

svn path=/branches/ros-amd64-bringup/; revision=38955
2009-01-19 21:53:26 +00:00
Timo Kreuzer da6a9dbfe5 Remove double brackets, I missed. Add a DPRINT1 if kernel is not loaded.
svn path=/branches/ros-amd64-bringup/; revision=38951
2009-01-19 18:50:19 +00:00
Timo Kreuzer 74bcfdb123 Fix return value of FrLdrReadAndMapImage when image is already loaded.
svn path=/branches/ros-amd64-bringup/; revision=38950
2009-01-19 18:45:26 +00:00
Timo Kreuzer 03c5f702be Fix rsym a bit, so that it properly calculates the section start. Now reactos boots again.
svn path=/branches/ros-amd64-bringup/; revision=38947
2009-01-19 18:05:27 +00:00
Timo Kreuzer 4915884a37 improve freeldr debug prints:
- include reactos/debug.h
- rename DebugPrint to DbgPrintMask
- use DbgPrint to DPRINTM, add file and line and get rid of the ugly double brackets

svn path=/branches/ros-amd64-bringup/; revision=38942
2009-01-19 16:29:02 +00:00
Timo Kreuzer b0c158cf99 ok, better test changes before comitting them ;-)
svn path=/branches/ros-amd64-bringup/; revision=38921
2009-01-18 22:35:17 +00:00
Timo Kreuzer 2a568fccdc 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
2009-01-18 21:55:59 +00:00
Samuel Serapion 865a88e5b0 Re: 38126
- Sorry, but this hack cannot go away at this time.

svn path=/branches/ros-amd64-bringup/; revision=38878
2009-01-18 10:03:47 +00:00
Samuel Serapion f07877a8c6 Remove unnecessary dependency, fix build a bit.
svn path=/branches/ros-amd64-bringup/; revision=38877
2009-01-18 09:44:36 +00:00
Samuel Serapion 6e949303bb - Don't go SIZE_T crazy.
svn path=/branches/ros-amd64-bringup/; revision=38593
2009-01-06 00:35:05 +00:00