Timo Kreuzer
b59c53ef27
#if out x86 specific inline code for other archictectures
...
svn path=/branches/ros-amd64-bringup/; revision=39298
2009-02-03 03:51:15 +00:00
Timo Kreuzer
f0497fd9c5
kd64: Add KdpSysGetVersion to internal header
...
svn path=/branches/ros-amd64-bringup/; revision=39297
2009-02-03 01:08:26 +00:00
Timo Kreuzer
2a2d68b378
Fix LDR_DATA_TABLE_ENTRY member names
...
svn path=/branches/ros-amd64-bringup/; revision=39296
2009-02-03 01:07:37 +00:00
Timo Kreuzer
3d3f2049c4
Fix KiInitGdtEntry
...
svn path=/branches/ros-amd64-bringup/; revision=39278
2009-02-01 22:08:01 +00:00
Timo Kreuzer
61f5b1e0b2
Add a comment, remove a comment
...
svn path=/branches/ros-amd64-bringup/; revision=39199
2009-01-29 16:00:22 +00:00
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