Commit graph

24042 commits

Author SHA1 Message Date
Magnus Olsen e48040833f adding a small debugprint to detect if pseh going into a endless loop, if we see same msg from it repate it self whole time, we known then pseh have gone into endless loop.
svn path=/trunk/; revision=25953
2007-03-02 17:49:47 +00:00
Maarten Bosma 6a00d9d64a Lester Kortenhoeven (lester(at)kortenhoeven(dot)de): Implement scripting.
svn path=/trunk/; revision=25952
2007-03-02 17:27:39 +00:00
Alex Ionescu 794a97e498 - More MSVC fixes.
svn path=/trunk/; revision=25948
2007-03-02 16:28:34 +00:00
Alex Ionescu 9efff39376 - Fix multiple WDK compatibilities issues.
- Fix MSVC warnings and incompatibilities.

svn path=/trunk/; revision=25947
2007-03-02 16:26:45 +00:00
Christoph von Wittich 7270b49222 fix mkhive on x86_64 hosts
svn path=/trunk/; revision=25946
2007-03-02 15:57:34 +00:00
Alex Ionescu b15fa5308e - Rewrite a dirty, reverse-engineered function written by dwelch (David Welch) 7.1 years ago in revision 965. We must agressively continue to hunt down such reversed code by previously tainted ReactOS developers who have thankfully left/been kicked out since then.
svn path=/trunk/; revision=25945
2007-03-02 07:37:45 +00:00
Alex Ionescu 5ba38d0494 - Don't depend on LD variables anymore for Mm.
- Update KrnlFun.c
- Make pushlock.c compile with msvc/wdk.
- Fix definition of HIGH_LEVEL_ENTRIES which was way too small (and thus always 0) which caused frees/allocates in the 3rd-level table not to work properly. MSVC statically detected this, it's unlikely we were hitting this in ROS at the moment but it would've been a bad bug to catch later, yay msvc.

svn path=/trunk/; revision=25944
2007-03-02 07:23:19 +00:00
Alex Ionescu ba689f332a - Fix some rtl warnings on /W3.
svn path=/trunk/; revision=25943
2007-03-02 07:21:33 +00:00
Alex Ionescu a0a19e46ae - Merge from KD-branch:
- Remove double implementation of DebugPrint with a single correct implementation which calls DebugService, and moved DebugPrint to rtl since it can now be shared properly.

svn path=/trunk/; revision=25942
2007-03-02 06:11:27 +00:00
Alex Ionescu 2e20ca1f14 - Create PDE/PTE entries for KUSER_SHARED_DATA in FreeLDR, so that MmInit1 isn't needed to access it.
- This allows us to access SharedUserData much earlier in the kernel, as well as in kdcom, which means the Windows/TinyKRNL version should now work without modification.

svn path=/trunk/; revision=25941
2007-03-02 06:01:07 +00:00
Alex Ionescu d89145a431 - Fix a bug in HalEnableSystemInterrupt which was causing us to read invalid port data instead of the PCI edge/level registers.
- Fix an offset bug which was causing us to read/write to DR7 in a completely random location (somewhere in side the _CONTEXT record).
- Fix a bug in DR save/restore which was making us save dr0,1,2 isntead of dr3,6,7.
- All bugs reported by Aleksey Bragin.

svn path=/trunk/; revision=25938
2007-03-01 20:27:33 +00:00
Alex Ionescu 5928240766 - Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception code, so that usermode/SEH filters get proper exception codes again.
- Fixes and compatible merges from KD Branch:
 - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll
 - Implement and export KeTryToAcquireSpinLockAtDpcLevel.
 - 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.
 - 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!
 - 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.
 - Only save/restore CR4 if KeFeatureBits indicates CR4 support exists.
 - Export KdDebuggerNotPresent since KDCOM needs it.
 - Add KCONTINUE_STATUS.
 - Add DBGKD_ANY_CONTROL_SET and X86/IA64/AMD64 control sets.
 - Add DBGKD_MANIPULATE_STATE64 and all sub-structures (READ_MEMORY, WRITE_MEMORY, etc).
 - 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.
 - 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.
 - 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.
 - KPROCESSOR_STATE is not 4-byte aligned.
 - Use DR_MASK and DR7_OVERRIDE_V in KiUpdateDr7, KiRecordDr7 instead of DR_ACTIVE_MASK.
 - Add ExceptionRecord32To64.
 - Fix generation of driver name for symbol load.

svn path=/trunk/; revision=25937
2007-03-01 19:51:20 +00:00
Magnus Olsen 94297234b4 NtGdiGetObject
1. fixed one BSD it does show bluescreen when the buffer are too small
2. fixed some bugs in calculation of different GdiObject sized

svn path=/trunk/; revision=25935
2007-03-01 19:13:29 +00:00
Ged Murphy eb28b183e5 - call undocumented functions directly when building with MSVC and the MS PSDK
- fixes building with MSVC

note, this can be removed when bulding ROS with MSVC isn't reliant on the MS PSDK

svn path=/trunk/; revision=25932
2007-02-28 23:43:12 +00:00
Eric Kohl c04b7173b2 Add code to support font size changes.
svn path=/trunk/; revision=25931
2007-02-28 22:49:34 +00:00
Eric Kohl c296041163 Use wsprintf() to convert an integer to a string instead of abusing a hidden edit control.
svn path=/trunk/; revision=25930
2007-02-28 20:44:47 +00:00
Alex Ionescu 045e38927e - Make usetup ""work"" on systems with ~28MB+ RAM. Due to an unknown bug (in usetup or Mm, file copies during setup don't get flushed until memory reaches about 42-47% remaining. At this point, if enough memory is available, no more memory will be allocated, even though more files are being copied. On systems with < 48MB, the system will not usually flush pages fast enough to keep the memory at ~42-47%. We ""fix"" this by adding a delay to each file copy as long as free memory is below 40%.
- Also added 3 progress bars during memory transfers to show the status of the memory.

svn path=/trunk/; revision=25929
2007-02-28 20:43:13 +00:00
Alex Ionescu a1ad43c2ee - More refactoring of FreeLDR/SetupLDR PE Loader Code to remove some hacks.
- Don't double-free some entries when failing to load a boot driver. This would cause a crash when pciide couldn't load (since we don't yet import drivers in FreeLDR, and pciide needs pciidex). Thanks to encoded for reporting it.
- We now free boot driver memory again since it's safe to do so again. This should reduce memory requirements even more.

svn path=/trunk/; revision=25928
2007-02-28 19:04:27 +00:00
Alex Ionescu 864da6c412 - Properly load drivers using new method describred previously (read from disk into temporary allocated buffer, then map into allocated memory, then free disk buffer).
- FreeLDR doesn't relocate nor map imports for drivers yet..still needs testing/fixes.

svn path=/trunk/; revision=25927
2007-02-28 17:48:44 +00:00
Sylvain Petreolle 257f23bf3b forget to add 2 files
svn path=/trunk/; revision=25926
2007-02-28 14:24:17 +00:00
Sylvain Petreolle ec2c82b6d5 french translations updates
svn path=/trunk/; revision=25925
2007-02-28 14:15:31 +00:00
Saveliy Tretiakov 93f907207b Update testapp
svn path=/trunk/; revision=25924
2007-02-28 13:25:50 +00:00
Saveliy Tretiakov 9eea1f6b20 WM_INPUTLANGCHANGE is sent not posted.
svn path=/trunk/; revision=25923
2007-02-28 13:23:51 +00:00
Saveliy Tretiakov 05d4dee367 Make ntuser locks use eresource instead of mutex.
Fix corresponding FIXME in class.c


svn path=/trunk/; revision=25922
2007-02-28 13:21:48 +00:00
Timo Kreuzer 4481a26504 EnumChildWindows:
- if hWndParent == NULL: call EnumWindows
- else use bChildren = TRUE

svn path=/trunk/; revision=25921
2007-02-28 13:21:09 +00:00
Timo Kreuzer 9cb8365d3f NtUserBuildHwndList:
- handle bChildren
- remove some code duplication

svn path=/trunk/; revision=25920
2007-02-28 13:19:00 +00:00
Saveliy Tretiakov a9d354b237 Andrey Janzen (virus126):
echo %date% on windows >=XP return '24.02.2007', not 'Sut 24.02.2007'
fix & implement dynamic buffer


svn path=/trunk/; revision=25919
2007-02-28 13:17:34 +00:00
Dominique Cote 4072d1c2a7 Added test functions for fsrtl lib
svn path=/trunk/; revision=25918
2007-02-28 04:09:16 +00:00
KJK::Hyperion f007c58ba9 modified include/reactos/libs/pseh/framebased.h
modified   lib/pseh/framebased.c
 - _SEH_ENABLE_TRACE now obsolete; _SEH_ENABLE_TRACE_LIB renamed to _SEH_ENABLE_TRACE now that the name is available again. Yay open source development model and yay me

svn path=/trunk/; revision=25917
2007-02-28 00:22:08 +00:00
KJK::Hyperion d04dfa5357 modified framebased.h
- don't enable a random tracing level when the library is built for tracing but an application is not. Fastest bugfix ever

svn path=/trunk/; revision=25916
2007-02-28 00:16:38 +00:00
KJK::Hyperion 53d575c73e modified include/reactos/libs/pseh/framebased.h
- final reformatting/cleanup fixes
 - fixed regression introduced in 25908

modified   include/reactos/libs/pseh/framebased.h
modified   include/reactos/libs/pseh/framebased/internal.h
modified   lib/pseh/framebased.c
 - per-frame tracing support for PSEH. Prints detailed debugging traces with DbgPrint when enabled. New defines _SEH_ENABLE_TRACE, _SEH_ENABLE_TRACE_LIB and _SEH_DO_DEFAULT_TRACING, new macros _SEH_EnableTracing() and _SEH_DisableTracing(), new constants _SEH_DO_TRACE_XXX. Please test it
See issue #2069 for more details.

svn path=/trunk/; revision=25915
2007-02-28 00:04:36 +00:00
Dmitry Gorbachev 86294c4aeb Undo 25911
svn path=/trunk/; revision=25913
2007-02-27 18:17:26 +00:00
Dmitry Gorbachev 2e29a8dbd8 Update Russian translations.
svn path=/trunk/; revision=25912
2007-02-27 16:51:19 +00:00
Dmitry Gorbachev 9713a955bb Indonesian translation by Zaenal Mutaqin
svn path=/trunk/; revision=25911
2007-02-27 00:04:43 +00:00
Dominique Cote 982855b6e3 Added:
FsRtlPrepareMdlWriteDev()
FsRtlMdlWriteCompleteDev()
FsRtlPrepareMdlWrite()
FsRtlMdlWriteComplete()

svn path=/trunk/; revision=25910
2007-02-26 20:22:55 +00:00
KJK::Hyperion 35f897c768 Reformatted, for real
svn path=/trunk/; revision=25909
2007-02-26 15:55:43 +00:00
KJK::Hyperion 97f61ad508 modified include/reactos/libs/pseh/framebased.h
Removed some bad optimization ideas that never worked anyway. If you want optimization, use the uglier _SEHX macros. If you enjoy several huge, non-optimizable nested loops in all of your functions, just keep using the _SEH form

deleted    include/reactos/libs/pseh/native.h
deleted    include/reactos/libs/pseh/prettybased.h
   Deleted some really bad ideas that nobody used or maintained anyway

All and all else
   Reformatted. Goodbye one-space indentation, hello tabs

svn path=/trunk/; revision=25908
2007-02-26 15:32:19 +00:00
Dmitry Gorbachev 65792010fe Indonesian translation (Zaenal Mutaqin)
svn path=/trunk/; revision=25907
2007-02-26 14:37:09 +00:00
Dmitry Gorbachev 5aa7f19d62 Indonesian translation (Zaenal Mutaqin)
svn path=/trunk/; revision=25906
2007-02-25 22:45:32 +00:00
Eric Kohl 9f48caa207 - Sort font names alphabetically.
- Enable the user to choose fonts.

svn path=/trunk/; revision=25905
2007-02-25 21:58:20 +00:00
Saveliy Tretiakov 3a94758ff5 Fix installname
svn path=/trunk/; revision=25902
2007-02-24 18:16:50 +00:00
Magnus Olsen fbf5933eb6 adding -dump as param to dumping out all struct and data
svn path=/trunk/; revision=25901
2007-02-24 13:58:25 +00:00
Magnus Olsen da00b2ed98 adding more testcase for NtGdiDdQueryDirectDrawObject
svn path=/trunk/; revision=25900
2007-02-24 13:32:09 +00:00
Magnus Olsen a640e4e2d6 adding more testcase for NtGdiDdQueryDirectDrawObject
svn path=/trunk/; revision=25899
2007-02-24 12:24:31 +00:00
Saveliy Tretiakov 54c6bf6cfa kbdse.dll -> kbdsw.dll
svn path=/trunk/; revision=25898
2007-02-24 12:00:43 +00:00
Saveliy Tretiakov 54cf74f087 Andrey Janzen (virus126):
- Fix warning when using FEATURE_UNIX_FILENAME_COMPLETION.
- Make unix-style completion work correctly.
- Make %time% return milliseconds/10.


svn path=/trunk/; revision=25896
2007-02-23 20:05:39 +00:00
Saveliy Tretiakov 658c2a1911 Andrey Janzen (virus126):
Replace numbers by constants in all translations.
Fixes bug 2065.


svn path=/trunk/; revision=25895
2007-02-23 19:52:00 +00:00
Alex Ionescu 9969d07b68 - Update FreeLDR PE Loading to actually use its Mm routines to allocate a buffer to read an image file into, then to allocate the actual load base and use the same code as in sysldr.c right now to PE-load the image into memory, then free the original read buffer. Not yet enabled for drivers!
- This means that:
  - 1) FreeLDR now keeps memory accounting information for the image files it loads, instead of us randomly writing to memory.
  - 2) We now skip sections marked as NO_LOAD. The kernel already re-mapped drivers doing this, but it didn't remap the kernel/hal, plus we still had to map the drivers once in FreeLDR, so we're saving a meg+ of kernel memory.

svn path=/trunk/; revision=25894
2007-02-23 19:48:25 +00:00
Saveliy Tretiakov 8ccd7405b6 Update keyboard layout names. Add "Layout Id" key for Us-Dvorak. Rename kbdse.dll to kbdsw.dll
svn path=/trunk/; revision=25893
2007-02-23 18:41:48 +00:00
Alex Ionescu 7c1178da04 - Load the driver image file with OBJ_KERNEL_HANDLE, and don't use FILE_SYNCHRONOUSIO_NONALERT, since we can use async access since the data is now being mapped instead of read.
svn path=/trunk/; revision=25892
2007-02-23 15:35:14 +00:00