Commit graph

23886 commits

Author SHA1 Message Date
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
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
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
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
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
Eric Kohl 9d58eb743e - Enable/disable the size updown control when another window item is selected.
- Remove the text when the size edit control gets disabled.
- Disable the secondary color for the window item.

svn path=/trunk/; revision=25804
2007-02-15 14:12:36 +00:00
Dmitry Gorbachev 9645a00e53 - fix "keyboard does not respond" bug on Biostar board (thanks to Peter Krawies)
- fix printf()

svn path=/trunk/; revision=25803
2007-02-15 10:57:38 +00:00
Alex Ionescu eaa061328d - You all s^H^H^H^H^H^H^H^H^H Fix build error.
svn path=/trunk/; revision=25802
2007-02-14 20:50:46 +00:00
Alex Ionescu 48d44183ec - Linux sucks
svn path=/trunk/; revision=25801
2007-02-14 20:47:43 +00:00
Alex Ionescu d006bab906 - Fixup and enable my new HAL IRQL implementation from a couple of months ago, and remove the temporary Mm hacks from Dmitry Gorbachev, since DPCs don't interrupt DISPATCH_LEVEL Code anymore.
- This fixes a critical system malfunction and architectural bug, as well as speeds up ReactOS incredibly -- setup takes seconds again, and boot is almost instantenous (except the Explorer loading bug).
- Proper fix for bootvid regression that Aleksey "Fixed". Video mode is now properly setup wether in setup or non-setup mode, so bootvid works again.
- Enable bootvid in freeldr.ini, currently using only /SOS mode since full-screen logo isn't implemented yet.

svn path=/trunk/; revision=25800
2007-02-14 20:30:33 +00:00
Alex Ionescu e542b2c634 Object Manager fixes based on bug reports from Aleksey Bragin:
- ObpReferenceProcessObjectByHandle:
  - Remove PAGED_CODE
  - Use InterlockedIncrement instead of InterlockedExchangeAdd.
- ObpInsertHandleCount: Fix calculation of the handle database size, fixing potential pool corruption/overwrite situations.
- ObpChargeQuotaForObject: Write proper code for charging the quota.
- ObpDecrementHandleCount:
  - Get ObjectType from caller instead of doing the extra operation.
  - If there's no handle database, then don't setup a handle entry.
- ObpIncrementHandleCount is PAGED_CODE.
- ObpCloseHandle: Do proper logic for determining if we should raise an exception, fail, or bugcheck the system when an invalid handle is being closed.
- ObpSetHandleAttributes:
  - Not PAGED_CODE.
  - Allow operations on kernel objects.
  - Use the Access Protect Close Bit in the GrantedAccess instead of an OBJ_PROTECT flag in the ObAttributes.
- ObpCloseHandleCallback: Sweep/Enumerate Routines are BOOLEAN, not VOID.
- ObDuplicateObject:
  - Clear the audit mask if auditing isn't set.
  - Always duplicate OBJ_AUDIT_OBJECT_CLOSE if it's set.
  - Clear the handle entry before writing it.
  - Always propagate ACCESS_SYSTEM_SECURITY as a desired access.
- ObFindHandleForObject: Use ObReferenceProcessHandleTable instead of directly accessing the pointer.
- ObInsertObject: Dereference symbolic links when they collide during an insert, since a reference was already added.
- NtDuplicateObject: Clear out the TargetHandle to assume failure.
- ObpCaptureObjectName: Use RtlCopyMemory which is faster.
- ObpAllocateObject: Fix check for quota usage.
- ObCreateObjectType:
  - Make sure that the object type name is wchar-aligned.
  - Add support for LPC Waitable Ports.
  - Initialize Object Locks.

svn path=/trunk/; revision=25799
2007-02-14 17:51:48 +00:00
Saveliy Tretiakov 1102b7a6e9 Post WM_INPUTLANGCHANGE to thread's focus windows when keyboard layout is changed.
svn path=/trunk/; revision=25798
2007-02-14 13:00:38 +00:00
Saveliy Tretiakov 4db9f2ba75 - Make NtUserLoadKeyboardLayoutEx accept 6 params
- Always get default locale from ntoskrnl
- Fix some small bugs


svn path=/trunk/; revision=25797
2007-02-13 19:50:06 +00:00
Magnus Olsen 26b059ca40 small prepare for rished20 sync for wine. so the sync goes allot easy
update richedit.h 
adding tom.h  <- from wine cvs 11/2-2007 the tom.idl does not exists in windows ?

svn path=/trunk/; revision=25796
2007-02-12 21:23:32 +00:00
Magnus Olsen d6866b6242 patch from Physicus, implement TOOLTIPS_NotifyFormat, it now retrurn the type of the string if it unicode or ansi.
before it did not return any type at all. it did a heap crash from downloader mangers when it try figout what type
of sting the toolstips use. it is tested in 0.3.1 and not whole implemnent is tested yet. it should be right for all
case.

svn path=/trunk/; revision=25794
2007-02-12 18:37:05 +00:00
Timo Kreuzer 9cead0e330 -check wich control send the WM_NOTIFY
-don't include ProcessID 0 two times

svn path=/trunk/; revision=25792
2007-02-12 04:42:53 +00:00
Timo Kreuzer 9ae5b19fde - Implement appearance page of desk.cpl
- update and cleanup resources
See issue #1732 for more details.

svn path=/trunk/; revision=25791
2007-02-12 03:32:40 +00:00
Magnus Olsen d10a481476 Implement test for NtGdiDdCreateDirectDrawObject works in windows 2000 sp4, only if u remove __REACTOS__ or using the vs project file. have not tested in reactos yet. but it should work.
svn path=/trunk/; revision=25790
2007-02-11 16:57:31 +00:00
Johannes Anderwald 519d3fe7fc - fix warning
svn path=/trunk/; revision=25789
2007-02-11 16:27:08 +00:00
Johannes Anderwald e7889591ae - Fix a bug in NtUserOpenDesktop and simply the code
- Fix bug in NtUserEnumDisplayDevices

svn path=/trunk/; revision=25788
2007-02-11 15:32:54 +00:00
Johannes Anderwald 55ffc321dc - Fix a few warnings
svn path=/trunk/; revision=25787
2007-02-11 15:23:48 +00:00
Magnus Olsen 70f870bb70 adding some comment after review how it works in windows. I doing my own syscall in windows 2000 to see how it act and base my knowledges of that to correct some part of win32k dx handling.
svn path=/trunk/; revision=25786
2007-02-11 15:19:22 +00:00
Johannes Anderwald 31ba4573a4 fix svn properties
svn path=/trunk/; revision=25785
2007-02-11 15:14:04 +00:00
Johannes Anderwald 743b9588a7 - remove stdcall decoration
svn path=/trunk/; revision=25784
2007-02-11 15:12:49 +00:00
Aleksey Bragin 16572ed8bb Right now, it's not enough to just set the bios video mode to 0x12, other stuff like choosing correct font is needed.
Fixes "no text output in 1st stage setup" bug (and it still sets the videomode to 0x12, so it's not a hack).

svn path=/trunk/; revision=25783
2007-02-11 13:37:39 +00:00
Aleksey Bragin e1e4c0d0ca 25763 was an example of how to NEVER do in ReactOS repository.
Besides reverting a good implementation, it also introduced unwanted hidden changes into cmd/console.c and videoprt.h.

Don't forget to make win32k_clean / user32_clean / videoprt_clean

svn path=/trunk/; revision=25782
2007-02-11 13:05:50 +00:00
Sylvain Petreolle 3fa9b4f5fb move from branch
svn path=/trunk/; revision=25781
2007-02-11 11:21:14 +00:00
Sylvain Petreolle 03332d70a1 delete empty dir
svn path=/trunk/; revision=25780
2007-02-11 11:17:27 +00:00
Magnus Olsen b93110af03 adding winetest from the vendor drop for usp10.dll
svn path=/branches/ros-branch-0_3_1/; revision=25779
2007-02-11 10:44:31 +00:00
Magnus Olsen 497f28112f adding winetest from the vendor drop for usp10.dll
svn path=/trunk/; revision=25779
2007-02-11 10:44:31 +00:00