reactos.git
14 years agodownloader fixes:
Sylvain Petreolle [Sat, 3 Mar 2007 11:41:28 +0000 (11:41 +0000)]
downloader fixes:
remove downloader.xml from bootcd
fix paths in .rbuild

svn path=/trunk/; revision=25969

14 years ago- Remove DbgPrint committed in FreeLDR by accident.
Alex Ionescu [Sat, 3 Mar 2007 05:44:58 +0000 (05:44 +0000)]
- Remove DbgPrint committed in FreeLDR by accident.
- Fix a hack in DbgLoadImageSymbols.

svn path=/trunk/; revision=25967

14 years ago- Copy the entire drivers in memory, not just their mappable sections, since WinDBG...
Alex Ionescu [Sat, 3 Mar 2007 05:41:14 +0000 (05:41 +0000)]
- Copy the entire drivers in memory, not just their mappable sections, since WinDBG (and probably other things) use "SizeOfImage" in the header to figure out when the image ends, but we map considerably less, creating overlaps.

svn path=/trunk/; revision=25966

14 years ago- Remove KD APIs from stub HAL, they've been in kdcom for a while (merge from kd...
Alex Ionescu [Sat, 3 Mar 2007 04:39:25 +0000 (04:39 +0000)]
- Remove KD APIs from stub HAL, they've been in kdcom for a while (merge from kd-branch).
- DebugPrint/DebugPrompt should have an int3 after the int2d, and the int2d handler should ++ the trap frame's EIP to compensate (merge from kd-branch).
- Remove KDB symbol hooks (merge from kd-branch).
- Make PSEH compialble in MSVC again after Greatlord's break.
- Fix KiSaveProcessorControlState/KiRestoreProcessorControlState (merge from kd-branch).
- Disable GDB hook/hacks (merge from kd-branch).
- Add KD64 directory from kd-branch with SharedUserData access enabled (no other code changed). It's not currently compiled though, just putting it here.

svn path=/trunk/; revision=25965

14 years agofix build
Sylvain Petreolle [Fri, 2 Mar 2007 22:04:21 +0000 (22:04 +0000)]
fix build

svn path=/trunk/; revision=25964

14 years agoDon't spam debug log with that message, it seems it's normal.
Aleksey Bragin [Fri, 2 Mar 2007 21:11:16 +0000 (21:11 +0000)]
Don't spam debug log with that message, it seems it's normal.

svn path=/trunk/; revision=25961

14 years agosome configuration changes for debug builds
Christoph von Wittich [Fri, 2 Mar 2007 21:04:41 +0000 (21:04 +0000)]
some configuration changes for debug builds

svn path=/trunk/; revision=25960

14 years agofix the msvc backend on linux hosts
Christoph von Wittich [Fri, 2 Mar 2007 20:53:41 +0000 (20:53 +0000)]
fix the msvc backend on linux hosts

svn path=/trunk/; revision=25959

14 years ago-Fix build
Alex Ionescu [Fri, 2 Mar 2007 20:40:48 +0000 (20:40 +0000)]
-Fix build

svn path=/trunk/; revision=25958

14 years agofix a crash in the msvc8 backend
Christoph von Wittich [Fri, 2 Mar 2007 20:30:12 +0000 (20:30 +0000)]
fix a crash in the msvc8 backend

svn path=/trunk/; revision=25957

14 years ago- Fix various ntoskrnl/wdk compilation issues in rossym, cmlib, kdcom, rtl.
Alex Ionescu [Fri, 2 Mar 2007 19:52:29 +0000 (19:52 +0000)]
- Fix various ntoskrnl/wdk compilation issues in rossym, cmlib, kdcom, rtl.
- Rename one more duplicated file in the kernel which wasn't caught previously.
- pseh, rossym, cmlib, kdcom, bootvid, rtl compile & link, and ntoskrnl is now down to only 23 linker errors.

svn path=/trunk/; revision=25956

14 years ago- Do massive renames in the ntoskrnl tree to make sure we don't have multiple files...
Alex Ionescu [Fri, 2 Mar 2007 18:25:23 +0000 (18:25 +0000)]
- Do massive renames in the ntoskrnl tree to make sure we don't have multiple files with the same name (this makes msvc very, very, sad).
- Add _IN_KERNEL_ define for WDK compatibility when using resstr.h
- The entire kernel can now be compiled with MSVC (read this sentence carefully before throwing out the champagne).

svn path=/trunk/; revision=25954

14 years agoadding a small debugprint to detect if pseh going into a endless loop, if we see...
Magnus Olsen [Fri, 2 Mar 2007 17:49:47 +0000 (17:49 +0000)]
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

14 years agoLester Kortenhoeven (lester(at)kortenhoeven(dot)de): Implement scripting.
Maarten Bosma [Fri, 2 Mar 2007 17:27:39 +0000 (17:27 +0000)]
Lester Kortenhoeven  (lester(at)kortenhoeven(dot)de): Implement scripting.

svn path=/trunk/; revision=25952

14 years ago- More MSVC fixes.
Alex Ionescu [Fri, 2 Mar 2007 16:28:34 +0000 (16:28 +0000)]
- More MSVC fixes.

svn path=/trunk/; revision=25948

14 years ago- Fix multiple WDK compatibilities issues.
Alex Ionescu [Fri, 2 Mar 2007 16:26:45 +0000 (16:26 +0000)]
- Fix multiple WDK compatibilities issues.
- Fix MSVC warnings and incompatibilities.

svn path=/trunk/; revision=25947

14 years agofix mkhive on x86_64 hosts
Christoph von Wittich [Fri, 2 Mar 2007 15:57:34 +0000 (15:57 +0000)]
fix mkhive on x86_64 hosts

svn path=/trunk/; revision=25946

14 years ago- Rewrite a dirty, reverse-engineered function written by dwelch (David Welch) 7...
Alex Ionescu [Fri, 2 Mar 2007 07:37:45 +0000 (07:37 +0000)]
- 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

14 years ago- Don't depend on LD variables anymore for Mm.
Alex Ionescu [Fri, 2 Mar 2007 07:23:19 +0000 (07:23 +0000)]
- 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

14 years ago- Fix some rtl warnings on /W3.
Alex Ionescu [Fri, 2 Mar 2007 07:21:33 +0000 (07:21 +0000)]
- Fix some rtl warnings on /W3.

svn path=/trunk/; revision=25943

14 years ago- Merge from KD-branch:
Alex Ionescu [Fri, 2 Mar 2007 06:11:27 +0000 (06:11 +0000)]
- 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

14 years ago- Create PDE/PTE entries for KUSER_SHARED_DATA in FreeLDR, so that MmInit1 isn't...
Alex Ionescu [Fri, 2 Mar 2007 06:01:07 +0000 (06:01 +0000)]
- 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

14 years ago- Fix a bug in HalEnableSystemInterrupt which was causing us to read invalid port...
Alex Ionescu [Thu, 1 Mar 2007 20:27:33 +0000 (20:27 +0000)]
- 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

14 years ago- Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception...
Alex Ionescu [Thu, 1 Mar 2007 19:51:20 +0000 (19:51 +0000)]
- 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

14 years agoNtGdiGetObject
Magnus Olsen [Thu, 1 Mar 2007 19:13:29 +0000 (19:13 +0000)]
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

14 years ago- call undocumented functions directly when building with MSVC and the MS PSDK
Ged Murphy [Wed, 28 Feb 2007 23:43:12 +0000 (23:43 +0000)]
- 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

14 years agoAdd code to support font size changes.
Eric Kohl [Wed, 28 Feb 2007 22:49:34 +0000 (22:49 +0000)]
Add code to support font size changes.

svn path=/trunk/; revision=25931

14 years agoUse wsprintf() to convert an integer to a string instead of abusing a hidden edit...
Eric Kohl [Wed, 28 Feb 2007 20:44:47 +0000 (20:44 +0000)]
Use wsprintf() to convert an integer to a string instead of abusing a hidden edit control.

svn path=/trunk/; revision=25930

14 years ago- Make usetup ""work"" on systems with ~28MB+ RAM. Due to an unknown bug (in usetup...
Alex Ionescu [Wed, 28 Feb 2007 20:43:13 +0000 (20:43 +0000)]
- 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

14 years ago- More refactoring of FreeLDR/SetupLDR PE Loader Code to remove some hacks.
Alex Ionescu [Wed, 28 Feb 2007 19:04:27 +0000 (19:04 +0000)]
- 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

14 years ago- Properly load drivers using new method describred previously (read from disk into...
Alex Ionescu [Wed, 28 Feb 2007 17:48:44 +0000 (17:48 +0000)]
- 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

14 years agoforget to add 2 files
Sylvain Petreolle [Wed, 28 Feb 2007 14:24:17 +0000 (14:24 +0000)]
forget to add 2 files

svn path=/trunk/; revision=25926

14 years agofrench translations updates
Sylvain Petreolle [Wed, 28 Feb 2007 14:15:31 +0000 (14:15 +0000)]
french translations updates

svn path=/trunk/; revision=25925

14 years agoUpdate testapp
Saveliy Tretiakov [Wed, 28 Feb 2007 13:25:50 +0000 (13:25 +0000)]
Update testapp

svn path=/trunk/; revision=25924

14 years agoWM_INPUTLANGCHANGE is sent not posted.
Saveliy Tretiakov [Wed, 28 Feb 2007 13:23:51 +0000 (13:23 +0000)]
WM_INPUTLANGCHANGE is sent not posted.

svn path=/trunk/; revision=25923

14 years agoMake ntuser locks use eresource instead of mutex.
Saveliy Tretiakov [Wed, 28 Feb 2007 13:21:48 +0000 (13:21 +0000)]
Make ntuser locks use eresource instead of mutex.
Fix corresponding FIXME in class.c

svn path=/trunk/; revision=25922

14 years agoEnumChildWindows:
Timo Kreuzer [Wed, 28 Feb 2007 13:21:09 +0000 (13:21 +0000)]
EnumChildWindows:
- if hWndParent == NULL: call EnumWindows
- else use bChildren = TRUE

svn path=/trunk/; revision=25921

14 years agoNtUserBuildHwndList:
Timo Kreuzer [Wed, 28 Feb 2007 13:19:00 +0000 (13:19 +0000)]
NtUserBuildHwndList:
- handle bChildren
- remove some code duplication

svn path=/trunk/; revision=25920

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Wed, 28 Feb 2007 13:17:34 +0000 (13:17 +0000)]
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

14 years agoAdded test functions for fsrtl lib
Dominique Cote [Wed, 28 Feb 2007 04:09:16 +0000 (04:09 +0000)]
Added test functions for fsrtl lib

svn path=/trunk/; revision=25918

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:22:08 +0000 (00:22 +0000)]
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

14 years agomodified framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:16:38 +0000 (00:16 +0000)]
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

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:04:36 +0000 (00:04 +0000)]
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

14 years agoUndo 25911
Dmitry Gorbachev [Tue, 27 Feb 2007 18:17:26 +0000 (18:17 +0000)]
Undo 25911

svn path=/trunk/; revision=25913

14 years agoUpdate Russian translations.
Dmitry Gorbachev [Tue, 27 Feb 2007 16:51:19 +0000 (16:51 +0000)]
Update Russian translations.

svn path=/trunk/; revision=25912

14 years agoIndonesian translation by Zaenal Mutaqin
Dmitry Gorbachev [Tue, 27 Feb 2007 00:04:43 +0000 (00:04 +0000)]
Indonesian translation by Zaenal Mutaqin

svn path=/trunk/; revision=25911

14 years agoAdded:
Dominique Cote [Mon, 26 Feb 2007 20:22:55 +0000 (20:22 +0000)]
Added:
FsRtlPrepareMdlWriteDev()
FsRtlMdlWriteCompleteDev()
FsRtlPrepareMdlWrite()
FsRtlMdlWriteComplete()

svn path=/trunk/; revision=25910

14 years agoReformatted, for real
KJK::Hyperion [Mon, 26 Feb 2007 15:55:43 +0000 (15:55 +0000)]
Reformatted, for real

svn path=/trunk/; revision=25909

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Mon, 26 Feb 2007 15:32:19 +0000 (15:32 +0000)]
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

14 years agoIndonesian translation (Zaenal Mutaqin)
Dmitry Gorbachev [Mon, 26 Feb 2007 14:37:09 +0000 (14:37 +0000)]
Indonesian translation (Zaenal Mutaqin)

svn path=/trunk/; revision=25907

14 years agoIndonesian translation (Zaenal Mutaqin)
Dmitry Gorbachev [Sun, 25 Feb 2007 22:45:32 +0000 (22:45 +0000)]
Indonesian translation (Zaenal Mutaqin)

svn path=/trunk/; revision=25906

14 years ago- Sort font names alphabetically.
Eric Kohl [Sun, 25 Feb 2007 21:58:20 +0000 (21:58 +0000)]
- Sort font names alphabetically.
- Enable the user to choose fonts.

svn path=/trunk/; revision=25905

14 years agoFix installname
Saveliy Tretiakov [Sat, 24 Feb 2007 18:16:50 +0000 (18:16 +0000)]
Fix installname

svn path=/trunk/; revision=25902

14 years agoadding -dump as param to dumping out all struct and data
Magnus Olsen [Sat, 24 Feb 2007 13:58:25 +0000 (13:58 +0000)]
adding -dump as param to dumping out all struct and data

svn path=/trunk/; revision=25901

14 years agoadding more testcase for NtGdiDdQueryDirectDrawObject
Magnus Olsen [Sat, 24 Feb 2007 13:32:09 +0000 (13:32 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject

svn path=/trunk/; revision=25900

14 years agoadding more testcase for NtGdiDdQueryDirectDrawObject
Magnus Olsen [Sat, 24 Feb 2007 12:24:31 +0000 (12:24 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject

svn path=/trunk/; revision=25899

14 years agokbdse.dll -> kbdsw.dll
Saveliy Tretiakov [Sat, 24 Feb 2007 12:00:43 +0000 (12:00 +0000)]
kbdse.dll -> kbdsw.dll

svn path=/trunk/; revision=25898

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Fri, 23 Feb 2007 20:05:39 +0000 (20:05 +0000)]
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

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Fri, 23 Feb 2007 19:52:00 +0000 (19:52 +0000)]
Andrey Janzen (virus126):
Replace numbers by constants in all translations.
Fixes bug 2065.

svn path=/trunk/; revision=25895

14 years ago- Update FreeLDR PE Loading to actually use its Mm routines to allocate a buffer...
Alex Ionescu [Fri, 23 Feb 2007 19:48:25 +0000 (19:48 +0000)]
- 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

14 years agoUpdate keyboard layout names. Add "Layout Id" key for Us-Dvorak. Rename kbdse.dll...
Saveliy Tretiakov [Fri, 23 Feb 2007 18:41:48 +0000 (18:41 +0000)]
Update keyboard layout names. Add "Layout Id" key for Us-Dvorak. Rename kbdse.dll to kbdsw.dll

svn path=/trunk/; revision=25893

14 years ago- Load the driver image file with OBJ_KERNEL_HANDLE, and don't use FILE_SYNCHRONOUSIO...
Alex Ionescu [Fri, 23 Feb 2007 15:35:14 +0000 (15:35 +0000)]
- 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

14 years ago- Add a new member to MM_IMAGE_SECTION_OBJECT to hold the size of the mapped image...
Alex Ionescu [Fri, 23 Feb 2007 15:31:45 +0000 (15:31 +0000)]
- Add a new member to MM_IMAGE_SECTION_OBJECT to hold the size of the mapped image file.
- Finally load driver images like human beings, as actual image section objects instead of random memory that we allocate and manually "load" using unsafe and crappy PE memory copies. We now use KJK's integer-safe and properly documented/implemented loader for image sections that is already used for processes and other user-mode images.
- Implement MiLoadImageSection for the task above and remove all the deprecated code that did the previous hackloading.

svn path=/trunk/; revision=25891

14 years agoMove primary language selection from Input Locale page to General page.
Saveliy Tretiakov [Fri, 23 Feb 2007 09:35:32 +0000 (09:35 +0000)]
Move primary language selection from Input Locale page to General page.

svn path=/trunk/; revision=25890

14 years agoUpdate testapp
Saveliy Tretiakov [Fri, 23 Feb 2007 08:56:32 +0000 (08:56 +0000)]
Update testapp

svn path=/trunk/; revision=25889

14 years agoAdd KLF_SHIFTLOCK and KLF_RESET
Saveliy Tretiakov [Fri, 23 Feb 2007 08:21:29 +0000 (08:21 +0000)]
Add KLF_SHIFTLOCK and KLF_RESET

svn path=/trunk/; revision=25888

14 years agoFix warnings.
Saveliy Tretiakov [Fri, 23 Feb 2007 08:20:33 +0000 (08:20 +0000)]
Fix warnings.

svn path=/trunk/; revision=25887

14 years ago- Get rid of LdrGetModuleObject, since MmLoadSystemImage will now return the existing...
Alex Ionescu [Fri, 23 Feb 2007 07:56:01 +0000 (07:56 +0000)]
- Get rid of LdrGetModuleObject, since MmLoadSystemImage will now return the existing module object in case it has already been loaded, get rid of LdrGetProcedureAddress, it doesn't belong in the kernel. Move MmGetSystemRoutineAddress from mm.c to sysldr.c and rewrite it to use MiFindExportedRoutineByName instead.
- Remove /ldr ntoskrnl directory, since this module is finally gone.
- Make PsInit code search for ntdll lookups using LookupEntryPoint internal function, instead of LdrGetProcedureAddress. Same code but done with recursion instead, and internal to this module (remove ANSI_STRINGs since we don't need them anymore).

svn path=/trunk/; revision=25886

14 years ago- Merge DbgUnLoadImageSymbols from KD branch.
Alex Ionescu [Fri, 23 Feb 2007 07:13:19 +0000 (07:13 +0000)]
- Merge DbgUnLoadImageSymbols from KD branch.
- Rename LdrUnloadModule to MmUnloadSystemImage and:
  - Use MmSystemLoadLock.
  - Take into consideration the import list.
  - Honour load count.
  - Unload symbols if really unloading the image.
  - Dereference and clear imports.
  - Do proper LdrEntry cleanup.
- Stub MiDereferenceImports and MmCallDllInitialize.
- Implement MiLocateExportName and MiClearImports.
- We don't yet fully support reference counting imports...this is still TBD.

svn path=/trunk/; revision=25885

14 years ago- Fix build.
Alex Ionescu [Fri, 23 Feb 2007 06:59:10 +0000 (06:59 +0000)]
- Fix build.

svn path=/trunk/; revision=25884

14 years ago- Fix MmCreateImageSection to use previous mode instead of hardcoding UserMode.
Alex Ionescu [Fri, 23 Feb 2007 05:39:42 +0000 (05:39 +0000)]
- Fix MmCreateImageSection to use previous mode instead of hardcoding UserMode.
- Implement MiProcessLoaderEntry for adding/removing entries on the PsLoadedModuleList.
- Move MmLoadSystemImage from loader.c to sysldr.c
- Update MmLoadSystemImage:
  - Use MmSystemLoadLock.
  - Support returning the entry for an already-loaded image, instead of loading it twice.
  - Use Section APIs to map the image... we're still doing a dirty ZwReadFile hack, but at least now we can depend on the PE code to validate the image (so removed the hardcoded validation).
  - Add more generic cleanup got so we can just jump to it.
  - Add more stub code and detection code for upcoming features.

svn path=/trunk/; revision=25883

14 years agoIndonesian translation by Zaenal Mutaqin (ade999 at gmail dot com)
Dmitry Gorbachev [Fri, 23 Feb 2007 01:42:52 +0000 (01:42 +0000)]
Indonesian translation by Zaenal Mutaqin (ade999 at gmail dot com)

svn path=/trunk/; revision=25882

14 years ago- Move some Mm routines from pe.c to sysldr.c where they belong.
Alex Ionescu [Thu, 22 Feb 2007 20:55:02 +0000 (20:55 +0000)]
- Move some Mm routines from pe.c to sysldr.c where they belong.
- Create and initialize Mm Loader lock.
- Re-arrange some code in MmLoadSystemImage, no code changes yet.
- Add new LDRP_ flags for LDR_DATA_TABLE_ENTRY to the NDK.

svn path=/trunk/; revision=25881

14 years agoHandle WM_INPUTLANGCHANGE and WM_INPUTLANGCHANGEREQUEST in DefWindowProc.
Saveliy Tretiakov [Thu, 22 Feb 2007 19:43:27 +0000 (19:43 +0000)]
Handle WM_INPUTLANGCHANGE and WM_INPUTLANGCHANGEREQUEST in DefWindowProc.

svn path=/trunk/; revision=25880

14 years agoNtUserLoadKeyboardLayoutEx: Support KLF_REORDER and KLF_ACTIVATE.
Saveliy Tretiakov [Thu, 22 Feb 2007 19:41:10 +0000 (19:41 +0000)]
NtUserLoadKeyboardLayoutEx: Support KLF_REORDER and KLF_ACTIVATE.
NtUserActivateKeyboardLayout: Support HKL_NEXT, HKL_PREV, KLF_REORDER.

svn path=/trunk/; revision=25879

14 years agowin32k dx test are now compatible with all Windows and ReactOS that got a d3d8thk...
Magnus Olsen [Thu, 22 Feb 2007 19:21:10 +0000 (19:21 +0000)]
win32k dx test are now compatible with all Windows and ReactOS that got a d3d8thk.dll file
rember that file are diffent for Windows 2000 and Windows XP/2003 ReactOS d38thk.dll are Windows XP/2003 compatible.

svn path=/trunk/; revision=25878

14 years agoMove d3d8thk.h for it being use for apps that need todo win32k syscall for directx...
Magnus Olsen [Thu, 22 Feb 2007 19:10:40 +0000 (19:10 +0000)]
Move d3d8thk.h for it being use for apps that need todo win32k syscall for directx graphice part

svn path=/trunk/; revision=25877

14 years agofix build
Sylvain Petreolle [Thu, 22 Feb 2007 18:48:01 +0000 (18:48 +0000)]
fix build

svn path=/trunk/; revision=25876

14 years ago- Rename LdrLoadModule to MmLoadSystemImage and change prototype. No code change...
Alex Ionescu [Thu, 22 Feb 2007 18:30:50 +0000 (18:30 +0000)]
- Rename LdrLoadModule to MmLoadSystemImage and change prototype. No code change except update callers and return ImageBaseAddress parameter when requested.

svn path=/trunk/; revision=25875

14 years ago- Improve LdrGetModuleObject (in FreeLDR) to handle partial names too, so NTOSKRNL...
Alex Ionescu [Thu, 22 Feb 2007 18:02:53 +0000 (18:02 +0000)]
- Improve LdrGetModuleObject (in FreeLDR) to handle partial names too, so NTOSKRNL will still match NTOSKRNL.EXE. This is needed for forwarder support.
- Implement LdrPEFixupForward in FreeLDR and update LdrPEGetExportByName to use it, so that FreeLDR can now parse import tables with forwarders.
- Add call to MmInitSystem for Phase 0 in ExpInitializeExecutive.
- Completely redesign the way boot drivers are handled. They're now re-mapped during Phase 0 MmInit (part of the re-mapping is a hack until FreeLDR 2.5 is ready) and the IoMgr only does I/O stuff, not PE loading anymore (this is only half-true, we still process imports until FreeLDR 2.5 is done).
- Also re-design the way the module list head is initialized and used. LdrInit1 is now gone, Phase 0 MmInit now handles initializing it and copying boot loader data to it.
- Some code is still missing and functions still need to be improved.
- When FreeLDR 2.5 is ready some of the hacks will go away, they're #ifed for now to make it easy to switch.

svn path=/trunk/; revision=25874

14 years agoFix build with gcc 4.1.2 backups/alex-kd-branch@25995
Hervé Poussineau [Thu, 22 Feb 2007 00:14:20 +0000 (00:14 +0000)]
Fix build with gcc 4.1.2

svn path=/branches/alex-kd-branch/; revision=25873

14 years ago- Rename ModuleListHead to PsLoadedModulesList.
Alex Ionescu [Thu, 22 Feb 2007 00:01:52 +0000 (00:01 +0000)]
- Rename ModuleListHead to PsLoadedModulesList.
- Start implementing some routines of the Mm SysLdr. Implemented MiSnapThunk and most of MiResolveImageReferences. The SysLdr has a lot of restrictions that the typical Ldr in user-mode doesn't, as well as manages imports and reference counts them, so the code can't be shared with ntdll's Ldr (this is also why real NT doesn't have an Ldr component, and this is in Mm).
- Fix some PE Header types that were wrong in our PSDK.

svn path=/trunk/; revision=25872

14 years agoadding a helper intEnableDriver it will be use for enable the dx driver for the graph...
Magnus Olsen [Wed, 21 Feb 2007 22:19:31 +0000 (22:19 +0000)]
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

14 years agoSilence some warnings
Timo Kreuzer [Wed, 21 Feb 2007 22:04:59 +0000 (22:04 +0000)]
Silence some warnings

svn path=/trunk/; revision=25869

14 years ago- Implement ExpQueryModuleInformation to handle SystemModuleInformation, instead...
Alex Ionescu [Wed, 21 Feb 2007 18:43:57 +0000 (18:43 +0000)]
- 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

14 years agoThai translation (Sumath Aowsakulsutthi)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:23:59 +0000 (18:23 +0000)]
Thai translation (Sumath Aowsakulsutthi)

svn path=/trunk/; revision=25867

14 years agoThai translation (Sumath Aowsakulsutthi)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:22:30 +0000 (18:22 +0000)]
Thai translation (Sumath Aowsakulsutthi)

svn path=/trunk/; revision=25866

14 years agoThai translation by Sumath Aowsakulsutthi (punth1 at gmail dot com)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:22:11 +0000 (18:22 +0000)]
Thai translation by Sumath Aowsakulsutthi (punth1 at gmail dot com)

svn path=/trunk/; revision=25865

14 years agoFix Italian resource file
Dmitry Gorbachev [Wed, 21 Feb 2007 11:41:17 +0000 (11:41 +0000)]
Fix Italian resource file

svn path=/trunk/; revision=25863

14 years ago- Properly implement SystemLoadGdiDriverInformation.
Alex Ionescu [Wed, 21 Feb 2007 02:46:30 +0000 (02:46 +0000)]
- 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

14 years ago- Cleanup loader.c and comment some public routines (no code change).
Alex Ionescu [Wed, 21 Feb 2007 01:57:02 +0000 (01:57 +0000)]
- 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

14 years ago- Get rid of a bunch of multiboot crap FreeLDR was still doing for ReactOS.
Alex Ionescu [Tue, 20 Feb 2007 20:02:52 +0000 (20:02 +0000)]
- 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

14 years ago- Don't load .SYM in freeldr anymore.
Alex Ionescu [Tue, 20 Feb 2007 16:39:31 +0000 (16:39 +0000)]
- Don't load .SYM in freeldr anymore.
- Fix generation of driver name for symbol load.

svn path=/branches/alex-kd-branch/; revision=25859

14 years ago- Fix loading of boot symbols.
Alex Ionescu [Tue, 20 Feb 2007 06:51:16 +0000 (06:51 +0000)]
- 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

14 years ago- Add ExceptionRecord32To64.
Alex Ionescu [Tue, 20 Feb 2007 06:25:58 +0000 (06:25 +0000)]
- 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

14 years ago- Properly sign-extend a couple more pointers. WinDBG is still complaining about...
Alex Ionescu [Tue, 20 Feb 2007 05:02:52 +0000 (05:02 +0000)]
- Properly sign-extend a couple more pointers. WinDBG is still complaining about two of them though.

svn path=/branches/alex-kd-branch/; revision=25856

14 years ago- Implement KdpGetStateChange.
Alex Ionescu [Tue, 20 Feb 2007 04:57:43 +0000 (04:57 +0000)]
- 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

14 years ago- Implement KdpWriteControlSpace.
Alex Ionescu [Tue, 20 Feb 2007 04:38:01 +0000 (04:38 +0000)]
- 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

14 years ago- Implement KdpSetContext.
Alex Ionescu [Tue, 20 Feb 2007 03:45:11 +0000 (03:45 +0000)]
- Implement KdpSetContext.
- Fix KdpReport, it was totally out of whack.

svn path=/branches/alex-kd-branch/; revision=25853

14 years ago- KPROCESSOR_STATE is not 4-byte aligned.
Alex Ionescu [Tue, 20 Feb 2007 03:22:30 +0000 (03:22 +0000)]
- 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