Commit graph

24172 commits

Author SHA1 Message Date
Magnus Olsen 6751f1721e adding a helper intEnableDriver it will be use for enable the dx driver for the graphice card.
rewrote NtGdiDdQueryDirectDrawObject so it only copy the cache data only. This will speed up allot. we only need call on NtGdiDdCreateDirectDrawObject yo setup the whole cache and enable the drv with the helper functions. the NtGdiDdQueryDirectDrawObject will be faster like this. using RtlCopyMemory insted for RtlMemMove  and allot other change in it. adding _SEH to NtGdiDdQueryDirectDrawObject so user can not crash it any longer. 

svn path=/trunk/; revision=25870
2007-02-21 22:19:31 +00:00
Timo Kreuzer b43aa6554f Silence some warnings
svn path=/trunk/; revision=25869
2007-02-21 22:04:59 +00:00
Alex Ionescu 012009365d - Implement ExpQueryModuleInformation to handle SystemModuleInformation, instead of LdrpQueryModleInformation. This version properly fills out all the data required and also supports (but doesn't yet handle) user-mode modules.
- Start work on supporting NT-compatible System Loader that properly fills out LDR_DATA_TABLE_ENTRY and handles imports correctly. Modified LdpPEProcessModule to properly build the data table entry and create the base name and directory name.
- Add stub for MiResolveImageRefernces.

svn path=/trunk/; revision=25868
2007-02-21 18:43:57 +00:00
Dmitry Gorbachev af1995f6f1 Thai translation (Sumath Aowsakulsutthi)
svn path=/trunk/; revision=25867
2007-02-21 18:23:59 +00:00
Dmitry Gorbachev 8f0b7ce68c Thai translation (Sumath Aowsakulsutthi)
svn path=/trunk/; revision=25866
2007-02-21 18:22:30 +00:00
Dmitry Gorbachev 4d0c6f3b50 Thai translation by Sumath Aowsakulsutthi (punth1 at gmail dot com)
svn path=/trunk/; revision=25865
2007-02-21 18:22:11 +00:00
Dmitry Gorbachev d6122e01fa Fix Italian resource file
svn path=/trunk/; revision=25863
2007-02-21 11:41:17 +00:00
Alex Ionescu 828eda9888 - Properly implement SystemLoadGdiDriverInformation.
- Properly implement SystemExtendServiceTableInformation, except that the SE_LOAD_DRIVER_PRIVILEGE check is currently disabled since our smss doesn't acquire it (and we should therefore ban it from loading win32k.sys...).
- Delete LdrpLoadImage, LdrpUnlaodImage, LdrpLoadAndCallImage.

svn path=/trunk/; revision=25862
2007-02-21 02:46:30 +00:00
Alex Ionescu effa3a52ef - Cleanup loader.c and comment some public routines (no code change).
- Temporarily remove routines to set per-page protection (this doesn't really break anything, just makes the OS less secure).

svn path=/trunk/; revision=25861
2007-02-21 01:57:02 +00:00
Alex Ionescu 226a94773d - Get rid of a bunch of multiboot crap FreeLDR was still doing for ReactOS.
- Remove some of the sixtuplicated routines to load a PE file. We're now down to a single function which takes an ImageType parameter for DLL/EXE/SYS, but even this is still temporary as the parameter will soon go away.
- We now load drivers in the same nice way that we load the kernel and DLLs, but we don't yet process their imports and relocate them in FreeLDR, because FreeLDR doesn't handle forwarders yet.
- We don't need a large hack in KiRosPrepareForSystemStartup anymore since the driver base addresses are now proper.
- Don't free boot-drivers anymore, since we'll load them in place soon.
- Don't load bootvid twice.
- Remove PAE stuff in FreeLDR since we don't support PAE anyway in the kernel and when we do, might as well implement it cleanly instead of relying on the broken FreeLDR stuff.

svn path=/trunk/; revision=25860
2007-02-20 20:02:52 +00:00
Alex Ionescu 8bac7fc287 - Don't load .SYM in freeldr anymore.
- Fix generation of driver name for symbol load.

svn path=/branches/alex-kd-branch/; revision=25859
2007-02-20 16:39:31 +00:00
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