Commit graph

24111 commits

Author SHA1 Message Date
Alex Ionescu d4d61262dc - Fix loading of boot symbols.
- Fix bug in KdpLoadSymbolsStateChange, we were never actually copying the pathname.
- Output of lm:
kd> lm
start    end        module name
80000000 80283000   nt         (export symbols)       ntoskrnl.exe
80283000 8029d000   hal        (export symbols)       halup.dll

svn path=/branches/alex-kd-branch/; revision=25858
2007-02-20 06:51:16 +00:00
Alex Ionescu b4c37fe1c4 - Add ExceptionRecord32To64.
- Implement KdpReportExceptionStateChange and fully support KdpReport.
- We now properly break inside HAL (with /BREAK) and WinDBG shows a nice stack trace, and disassembly, and I can step through the HAL initialization code!

svn path=/branches/alex-kd-branch/; revision=25857
2007-02-20 06:25:58 +00:00
Alex Ionescu 08b99faedd - Properly sign-extend a couple more pointers. WinDBG is still complaining about two of them though.
svn path=/branches/alex-kd-branch/; revision=25856
2007-02-20 05:02:52 +00:00
Alex Ionescu 86bcfc31af - Implement KdpGetStateChange.
- Implement DbgKdContinueApi and DbgKdContinueApi2 cases.
- Remove several while (TRUE);s which started being hit since our code is working fine.
- WinDBG gets notifications for all the drivers/symbols being loaded and ROS now boots to bootvid logo, but we don't yet break-in.

svn path=/branches/alex-kd-branch/; revision=25855
2007-02-20 04:57:43 +00:00
Alex Ionescu 69a6af0124 - Implement KdpWriteControlSpace.
- Fix a bug in KdpSetContext.
- Use DR_MASK and DR7_OVERRIDE_V in KiUpdateDr7, KiRecordDr7 instead of DR_ACTIVE_MASK.
- We now get DbgKdContinueApi2 from WinDBG meaning that the first phase of KD communication is almost over!

svn path=/branches/alex-kd-branch/; revision=25854
2007-02-20 04:38:01 +00:00
Alex Ionescu bf616180df - Implement KdpSetContext.
- Fix KdpReport, it was totally out of whack.

svn path=/branches/alex-kd-branch/; revision=25853
2007-02-20 03:45:11 +00:00
Alex Ionescu 3006d54080 - KPROCESSOR_STATE is not 4-byte aligned.
- Fail physical memory reads for now.
- Use the right kernel load address.
- Generate image name when loading boot symbols. Now WinDBG sees "ntoskrnl.exe".
- Fix KiSaveProcessorControlState and KiRestoreProcessorControlSate. The latter doesn't freeze the CPU anymore so it's enabled, and the former doesn't cause WinDBG to panic anymore and display weird data.

svn path=/branches/alex-kd-branch/; revision=25852
2007-02-20 03:22:30 +00:00
Alex Ionescu b9b5323515 - Implement DbgKdClearAllInternalBreakpointsApi
- Implement KdpGetContext for DbgKdGetContextApi.
- WinDBG now goes to Phase 2 connection and prints out:
Windows Server 2003 Kernel Version 3790 UP Checked x86 compatible
Built by: 20070215-r25797
Kernel base = 0x80100000 PsLoadedModuleList = 0x80112230

svn path=/branches/alex-kd-branch/; revision=25851
2007-02-20 02:12:39 +00:00
Alex Ionescu f3488993eb - Add kdbreak.c with the following APIs: KdpLowWriteContent, KdpLowRestoreBreakpoint, KdpDeleteBreakpoint, KdpDeleteBreakpointRange, KdpRestoreAllBreakpoints. Adding breakpoints not yet supported.
- Enable kdinit.c call to KdpRestoreAllBreakpoints.
- Add breakpoint table and data.
- Support DbgKdRestoreBreakpointApi. Now we get DbgKdClearAllInternalBreakpointsApi.

svn path=/branches/alex-kd-branch/; revision=25850
2007-02-20 02:00:01 +00:00
Alex Ionescu 24f9e136e6 - Add a bunch of hacks to KdpReadVirtualMemory to make it work for now.
- Fix bugs in KdpGetVersion, KdpReadVirtualMemory.
- Implement KdpReadControlSpace.
- Fix setting kernel range address instead of kernel image load address.
- WinDBG is slowly trying to talk with us. Now it wants to restore breakpoints since it thinks this is the same machine I was debugging last night.

svn path=/branches/alex-kd-branch/; revision=25849
2007-02-20 01:13:22 +00:00
Ged Murphy b4f7cf3523 add chars to the edit box when either double clicked or the select button is hit
svn path=/trunk/; revision=25848
2007-02-19 23:56:16 +00:00
Alex Ionescu f42e752565 - Create ntverp.h and common.ver files. These are the standard files used by the NT/DDK build systems and we should try to support them as well instead of re-defining everything our own way (especially if we want to build ddk-compatible drivers later on).
- Made init.c use version data from ntverp.h instead of hard-coding.
- Defined NT 5.2.3790.1830 as the version we report.
- Fixed up .rc file to be correct and match DDK-sytnax/style.
- For now only the kernel uses this new versionning scheme, but we should change the build system later to use this for every component.

svn path=/branches/alex-kd-branch/; revision=25847
2007-02-19 22:28:50 +00:00
Alex Ionescu 1654674e55 - Implement KdpSysGetVersion, KdpGetVersion, KdpReadVirtualMemory.
- Fix bugs in KdInitSystem; some 64-bit pointers must be sign-extneded, not zero-extended (thanks Myria!)
- Properly read kernel base instead of kernel stack.
- Fix compile issue due to incorrect KiBugCheckData definition.
- WinDBG reports: "Connected to Windows Vista 16199 x86 compatible target, ptr64 FALSE. Kernel Debugger connection established.  (Initial Breakpoint requested)"

svn path=/branches/alex-kd-branch/; revision=25846
2007-02-19 21:30:26 +00:00
Alex Ionescu b9cd3f2d9d - Create GCC_ULONG64 type to hack around a bug in GCC which is incapable of creating entries for externals at compile-time for 64-bit pointers.
- Rename NameSpaceRoot to ObpRootDirectoryObject, IopLogListHead to IopErrorLogListHead, BugcheckCallbackListHead to KeBugcheckCallbackListHead, BugcheckReasonCallbackListHead to KeBugcheckReasonCallbackListHead, ObTypeObjectType to ObpTypeObjectType.
- Fill out KdDebuggerDataBlock with the variables that ROS currently supports. Most Mm variables we don't have yet -- it's unknown how much this will hurt WinDBG compatibility/functionality.
- Add KdPrint circular buffer and buffer location/data variables.

svn path=/branches/alex-kd-branch/; revision=25845
2007-02-19 18:52:23 +00:00
Eric Kohl d8e1e7bba4 Enable the user to set the size of captions, caption buttons, menu bars and croll bars.
svn path=/trunk/; revision=25844
2007-02-19 16:12:38 +00:00
Alex Ionescu f1f1afaa74 - We now tell WinDBG to load kernel symbols and WinDBG replies (!) with DbgKdGetVersionApi to find out who we are (he's in for a surprise ;)):
- Implement KdpSetCommonState (except code to clear breakpoints).
  - Implement KdpSetContextState (for x86).
  - Implement KdpReportLoadSymbolsStateChange.
  - Implement skeleton of KdpSendWaitContinue, the main KD API Loop.
  - Add KCONTINUE_STATUS.
  - Redefine KdReceivePacket's return value to KDSTATUS and define possibile values.
  - Add DBGKD_ANY_CONTROL_SET and X86/IA64/AMD64 control sets.
  - Add DBGKD_MANIPULATE_STATE64 and all sub-structures (READ_MEMORY, WRITE_MEMORY, etc).
  - Fix definition of KdpSymbol.

svn path=/branches/alex-kd-branch/; revision=25843
2007-02-19 15:02:39 +00:00
Dmitry Gorbachev f49c3528f3 Fix a bug
svn path=/trunk/; revision=25842
2007-02-19 13:20:09 +00:00
Thomas Bluemel 5c7f9d04ce Minor fixes, thanks Ged
svn path=/trunk/; revision=25841
2007-02-19 13:15:28 +00:00
Alex Ionescu 53c4c13732 - Dummy commit for documentation purposes:
"The KD64 6.0 implementation is based on information from the VSJ article located at: http://www.vsj.co.uk/articles/display.asp?id=265 by Albert Alameida. Although Windows 2000 shipped with KD64 5.0, much of the implementation details have not changed. Additionally, the Windows 2000 DDK (accidentally?) shipped with a file called windbgkd.h which contains internal KD64 information and documentation. WinDBG's SDK ships with wdbgexts.h which contains more internal information on some portable structures. Other information was gathered through people such as Skywing."

svn path=/branches/alex-kd-branch/; revision=25840
2007-02-18 22:46:01 +00:00
Alex Ionescu 75497d0898 - KdDebuggerNotPresent should be FALSE by default.
- KdpTimeSlipPending should be 1 by defalt.
- Enable KdInitSystem; don't touch SharedUserData yet because our loader doesn't map it properly until we hit MmInit1, so disable this code for now.
- Implement KdpPollBreakInWithPortLock.
- Add calls to KdpPrint, KdpSymbol since KdpTrap now gets activated. Implement KdpPrint and KdpPrintString, but not KdLogDbgPrint (so debug messages before WinDBG connects are currently lost).
- Implement KdpSymbol but not essential call to KdpReportLoadSymbolsStateChange.
- Only save/restore CR4 if KeFeatureBits indicates CR4 support exists.
- Export KdDebuggerNotPresent since KDCOM needs it.

svn path=/branches/alex-kd-branch/; revision=25839
2007-02-18 22:32:32 +00:00
Alex Ionescu 929844ef2a - Add kd64 folder for KD64 6.0 implementation.
- Implement KdEnterDebugger, KdExitDebugger, KdEnableDebuggerWithLock, KdEnableDebugger.
- Add KD Version Block, KD Component Masks, and KD Configuration Options.
- Implement KdInitSystem and KdRegisterDebuggerDataBlock.
- Implement KdPollBreakIn, KdpLockPort, KdpUnlockPort.
- Implement KdpStub and KdpReport. Implement logic of KdpTrap but not helper calls (KdpTrap is only enabled after KD connects).
- Implement KD Time Slip support, KdpSwitchProcessor, KdpQueryPerformanceCounter.

svn path=/branches/alex-kd-branch/; revision=25838
2007-02-18 20:51:30 +00:00
Alex Ionescu e126eb3077 - Add KdDebuggerInitialize1 and enable call to it.
- Fix KD_SYMBOLS_INFO definition and DbgLoadImageSymbols prototype.
- Implement DbgUnLoadImageSymbols.
- Fix some small bugs in KeBugCheckWithTf and add various debugger calls/checks where needed.
- Fix bugcheck recursion code which was incorrect.

svn path=/branches/alex-kd-branch/; revision=25837
2007-02-18 20:47:04 +00:00
Alex Ionescu ee1892a1a9 - Fix KiDebugService to load EDX from KTRAP_FRAME_EDX, not KTRAP_FRAME_EAX!.
- Fix CommonDispatchException to check for the argument count in ECX, not EAX. Previously we were ignoring parameter counts and never filling out exception records!
- Fix DebugPrint to be the same in user-mode and kernel-mode by using DebugService. This now works because the bugs above were fixed.

svn path=/branches/alex-kd-branch/; revision=25836
2007-02-18 19:30:33 +00:00
Alex Ionescu ff6bd309f3 - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll
- Implement and export KeTryToAcquireSpinLockAtDpcLevel.

svn path=/branches/alex-kd-branch/; revision=25835
2007-02-18 16:50:37 +00:00
Saveliy Tretiakov 148aa8601e Patch from Preston:
fix bug 1918 "Keyboard config unavailable".


svn path=/trunk/; revision=25834
2007-02-18 16:35:09 +00:00
Alex Ionescu 59caa79d63 - Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6.
- Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h.
- Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock.
- Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it.
- Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header.
- Add kddll.h for KDCOM/1394/USB2.DLL prototypes.
- Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos.

svn path=/branches/alex-kd-branch/; revision=25833
2007-02-18 07:21:03 +00:00
Eric Kohl b6dc9d8a3d Reenable the preview control notification. The user can now select the GUI item clicking it in the preview control.
svn path=/trunk/; revision=25832
2007-02-17 21:40:39 +00:00
Saveliy Tretiakov abf9c6e638 Patch by Alexey Zavyalov (Generex).
Implement SetLocaleInfoA, SetLocaleInfoW.


svn path=/trunk/; revision=25831
2007-02-17 15:46:25 +00:00
Saveliy Tretiakov 4ea3e26092 Patch by Andrey Janzen (virus126).
Fix copy\paste bug in calc.


svn path=/trunk/; revision=25830
2007-02-17 15:33:57 +00:00
Magnus Olsen e565b89550 adding file dump.c it contain printf stuff to dump some struct to the screen it can make debuging more easy. but if u build reactos with DBG=0 you will not see the dump of the stuct I mabe will add a option to it when u start this tools so it dump data when u use the options.
svn path=/trunk/; revision=25829
2007-02-17 15:01:01 +00:00
Thomas Bluemel 316942e612 - Move around definitions to make the code a bit more modular
- Use an about menu instead of an button

svn path=/trunk/; revision=25828
2007-02-17 09:32:33 +00:00
Ged Murphy 15b0d2660f add to bootcd to highlight the paint issue
svn path=/trunk/; revision=25827
2007-02-17 00:23:53 +00:00
Ged Murphy aed1c8ece5 add to build
svn path=/trunk/; revision=25826
2007-02-17 00:22:21 +00:00
Ged Murphy 8cc6eff6ae - halfplement charmap.exe
- tested in ROS, by no means perfect but we cant least see the various glyphs within a font
- this app highlights an issue with our paint code (not yet investigated)

svn path=/trunk/; revision=25825
2007-02-17 00:13:35 +00:00
Magnus Olsen 77c7470539 adding more test case for test_NtGdiDdQueryDirectDrawObject not complete yet
svn path=/trunk/; revision=25824
2007-02-16 20:14:24 +00:00
Alex Ionescu c9a0a6228b - Delete KD/KDBG directories.
svn path=/branches/alex-kd-branch/; revision=25823
2007-02-16 18:44:32 +00:00
Alex Ionescu 55c1c01e88 - Disable i8042prt debugger hack.
- Remove HAL kd routines.
- Do INT3 in DebugService calls since the KiDebugService increases EIP by one.
- Stub NtQuery/SetDebugFilterState.
- Remove all KDBG symbol/process/thread callouts. Remove GDB hacks.
- Stub out KdInitSystem and KdPollBreakI.
- Stub KdpEnterDebuggerException.
- Disable DebugPrint.
- Optimize KiDebugService by having it jump into the INT3 trap handler.

svn path=/branches/alex-kd-branch/; revision=25822
2007-02-16 18:43:16 +00:00
Alex Ionescu e9a91dd3fa - Create KD branch. All debugging support is removed in this branch (no symbols, kd, kdbg, dbg) in hopes of cleanly implementing some of the low-level exception facilities, to remove potential sources of bugs, and to properly implement KD64 so that WinDBG can be used to debug ReactOS.
svn path=/branches/alex-kd-branch/; revision=25821
2007-02-16 18:37:34 +00:00
Alex Ionescu 3bb4d7e63f - KD Branch
svn path=/branches/alex-kd-branch/; revision=25820
2007-02-16 18:37:15 +00:00
Alex Ionescu 8bb09e57fd - KD Branch
svn path=/branches/alex-kd-branch/; revision=25819
2007-02-16 18:36:17 +00:00
Alex Ionescu 6f6f2fec56 - KD Branch
svn path=/branches/alex-kd-branch/; revision=25818
2007-02-16 18:35:38 +00:00
Sylvain Petreolle 0273f0c479 fix include file case
svn path=/trunk/; revision=25817
2007-02-16 16:57:09 +00:00
Magnus Olsen a20e414f6a fixed all dam warings before some start nag on me
svn path=/trunk/; revision=25816
2007-02-16 16:48:54 +00:00
Magnus Olsen 11e0777755 adding a NULL test for NtGdiDdQueryDirectDrawObject
svn path=/trunk/; revision=25815
2007-02-16 16:43:27 +00:00
Magnus Olsen 9e44309042 -- Rewrite how we should do syscall now we define the syscall number in a include files. if we getting syscall table for another windows version and sp we can simple adding it to a another include file and use that file to run other that windows. rember the syscall table is diffent in all version of windows and reactos. if u compile this version in vs u will only be avail run it in windows 2000 sp4 and not under any windows version.
-- add one more testcase (NtGdiDdDeleteDirectDrawObject)
-- start adding thrid testcase (NtGdiDdQueryDirectDrawObject), this one will take bit longer to completed but I add a stub for it for now. 

svn path=/trunk/; revision=25814
2007-02-16 16:27:46 +00:00
Maarten Bosma eab0f7c139 Lester Kortenhoeven (lester(at)kortenhoeven(dot)de):
* CP_ACP changed into CP_UTF8
* removed unnecessary code in xml.c
* fix memory leak
* add more programs

svn path=/trunk/; revision=25812
2007-02-16 11:07:28 +00:00
Hervé Poussineau 0470f1582d Set correct value for Characteristics (tested by Colin_Finck on IRC)
svn path=/trunk/; revision=25810
2007-02-15 20:39:33 +00:00
Eric Kohl 4101f39dc4 - Declare local functions static and get rid of prototypes by moving functions around.
- Clean up the code. No changes to the functionality.

svn path=/trunk/; revision=25809
2007-02-15 20:24:38 +00:00
Alex Ionescu c731ec2a5a - Small placeholder change for future Cm code:
- Added newcm.c which will contain some new Cm code part of the Cm Rewrite but not in the rewrite branch (used solely for supporting CmGetSystemControlValues).
  - Added System Control Vector which supports all the registry flags that Windows 2003 SP1 supports as well.
- The most important part of this support, at least for us, is to get boot-time time zone support working properly. We can worry about the other options later.
- Update KrnlFun for previous DPC/HAL fixes.

svn path=/trunk/; revision=25806
2007-02-15 17:44:04 +00:00
Hervé Poussineau 973093ca7b Add missing 'Characterists' registry key for netcards. Fixes part of bug 2034
svn path=/trunk/; revision=25805
2007-02-15 17:34:26 +00:00