Eric Kohl [Sat, 3 Mar 2007 21:03:22 +0000 (21:03 +0000)]
Users can now set bold or italic fonts.
svn path=/trunk/; revision=25978
Magnus Olsen [Sat, 3 Mar 2007 20:19:56 +0000 (20:19 +0000)]
partly implement NtGdiDdReenableDirectDrawObject
this give us bit more closer getting hardware accalertions working.
svn path=/trunk/; revision=25977
Alex Ionescu [Sat, 3 Mar 2007 19:49:36 +0000 (19:49 +0000)]
- Fix another typo in CommonDispatchException (with yet another critical flaw as a result). Sometimes, exceptions would incorrectly be detected as coming from user-mode even though CS was kernel mode. When creating the KTRAP_FRAME, the kernel would then add the Ring 3 RPL_MASK (3) (because it believed we're in usermode) to the kernel-mode CS, creating the invalid CS of 0xB, which would lead into a GPF during the iretd.
- Re-enable DebugPrint since this now works.
svn path=/trunk/; revision=25976
Alex Ionescu [Sat, 3 Mar 2007 17:24:58 +0000 (17:24 +0000)]
- Fix critical bugs in DR_TRAP_FIXUP, TRAP_PROLOG and TRAP_EPILOG which would either cause infinite loops during exceptions or corruption of the correct code path when dealing with debug registers.
- Fix a bug in KiRecordDr7 setting the new DR7 mask.
- Make KiEspToTrapFrame thread-safe by raising to APC_LEVEL to make sure a thread/set context doesn't corrupt the state.
- Fix thread-safe IRQL Code in KeContexToTrapFrame/KeTrapFrameToContext.
- Fix KiDispatchException to properly handle KI_EXCEPTION_ACCESS_VIOLATION and convert it back to STATUS_ACCESS_VIOLATION which is what the system expects.
- Also fix the way we do bugchecks so the the trapframe gets properly put as a parameter.
- Make KiDebugService call into KiTrap3 to share code (merge from kd-branch).
- Changes to the KdpEnterDebuggerException hack we have to handle this change.
- Temporarily disable DebugPrint functionality (sorry, I'm onto a big bug here!)
svn path=/trunk/; revision=25975
Magnus Olsen [Sat, 3 Mar 2007 16:31:28 +0000 (16:31 +0000)]
NtGdiDdQueryDirectDrawObject
1. fixed some return code it get right.
svn path=/trunk/; revision=25973
Eric Kohl [Sat, 3 Mar 2007 12:44:09 +0000 (12:44 +0000)]
- Let the user edit the font size directly.
- Remove the useless "NOT CBS_SIMPLE" window style from the font size combobox.
svn path=/trunk/; revision=25970
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
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
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
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
Sylvain Petreolle [Fri, 2 Mar 2007 22:04:21 +0000 (22:04 +0000)]
fix build
svn path=/trunk/; revision=25964
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
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
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
Alex Ionescu [Fri, 2 Mar 2007 20:40:48 +0000 (20:40 +0000)]
-Fix build
svn path=/trunk/; revision=25958
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
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
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
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
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
Alex Ionescu [Fri, 2 Mar 2007 16:28:34 +0000 (16:28 +0000)]
- More MSVC fixes.
svn path=/trunk/; revision=25948
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
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
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
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
Alex Ionescu [Fri, 2 Mar 2007 07:21:33 +0000 (07:21 +0000)]
- Fix some rtl warnings on /W3.
svn path=/trunk/; revision=25943
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
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
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
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
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
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
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
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
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
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
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
Sylvain Petreolle [Wed, 28 Feb 2007 14:24:17 +0000 (14:24 +0000)]
forget to add 2 files
svn path=/trunk/; revision=25926
Sylvain Petreolle [Wed, 28 Feb 2007 14:15:31 +0000 (14:15 +0000)]
french translations updates
svn path=/trunk/; revision=25925
Saveliy Tretiakov [Wed, 28 Feb 2007 13:25:50 +0000 (13:25 +0000)]
Update testapp
svn path=/trunk/; revision=25924
Saveliy Tretiakov [Wed, 28 Feb 2007 13:23:51 +0000 (13:23 +0000)]
WM_INPUTLANGCHANGE is sent not posted.
svn path=/trunk/; revision=25923
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
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
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
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
Dominique Cote [Wed, 28 Feb 2007 04:09:16 +0000 (04:09 +0000)]
Added test functions for fsrtl lib
svn path=/trunk/; revision=25918
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
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
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
Dmitry Gorbachev [Tue, 27 Feb 2007 18:17:26 +0000 (18:17 +0000)]
Undo 25911
svn path=/trunk/; revision=25913
Dmitry Gorbachev [Tue, 27 Feb 2007 16:51:19 +0000 (16:51 +0000)]
Update Russian translations.
svn path=/trunk/; revision=25912
Dmitry Gorbachev [Tue, 27 Feb 2007 00:04:43 +0000 (00:04 +0000)]
Indonesian translation by Zaenal Mutaqin
svn path=/trunk/; revision=25911
Dominique Cote [Mon, 26 Feb 2007 20:22:55 +0000 (20:22 +0000)]
Added:
FsRtlPrepareMdlWriteDev()
FsRtlMdlWriteCompleteDev()
FsRtlPrepareMdlWrite()
FsRtlMdlWriteComplete()
svn path=/trunk/; revision=25910
KJK::Hyperion [Mon, 26 Feb 2007 15:55:43 +0000 (15:55 +0000)]
Reformatted, for real
svn path=/trunk/; revision=25909
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
Dmitry Gorbachev [Mon, 26 Feb 2007 14:37:09 +0000 (14:37 +0000)]
Indonesian translation (Zaenal Mutaqin)
svn path=/trunk/; revision=25907
Dmitry Gorbachev [Sun, 25 Feb 2007 22:45:32 +0000 (22:45 +0000)]
Indonesian translation (Zaenal Mutaqin)
svn path=/trunk/; revision=25906
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
Saveliy Tretiakov [Sat, 24 Feb 2007 18:16:50 +0000 (18:16 +0000)]
Fix installname
svn path=/trunk/; revision=25902
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
Magnus Olsen [Sat, 24 Feb 2007 13:32:09 +0000 (13:32 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject
svn path=/trunk/; revision=25900
Magnus Olsen [Sat, 24 Feb 2007 12:24:31 +0000 (12:24 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject
svn path=/trunk/; revision=25899
Saveliy Tretiakov [Sat, 24 Feb 2007 12:00:43 +0000 (12:00 +0000)]
kbdse.dll -> kbdsw.dll
svn path=/trunk/; revision=25898
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
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
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
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
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
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
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
Saveliy Tretiakov [Fri, 23 Feb 2007 08:56:32 +0000 (08:56 +0000)]
Update testapp
svn path=/trunk/; revision=25889
Saveliy Tretiakov [Fri, 23 Feb 2007 08:21:29 +0000 (08:21 +0000)]
Add KLF_SHIFTLOCK and KLF_RESET
svn path=/trunk/; revision=25888
Saveliy Tretiakov [Fri, 23 Feb 2007 08:20:33 +0000 (08:20 +0000)]
Fix warnings.
svn path=/trunk/; revision=25887
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
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
Alex Ionescu [Fri, 23 Feb 2007 06:59:10 +0000 (06:59 +0000)]
- Fix build.
svn path=/trunk/; revision=25884
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
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
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
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
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
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
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
Sylvain Petreolle [Thu, 22 Feb 2007 18:48:01 +0000 (18:48 +0000)]
fix build
svn path=/trunk/; revision=25876
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
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
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
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
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
Timo Kreuzer [Wed, 21 Feb 2007 22:04:59 +0000 (22:04 +0000)]
Silence some warnings
svn path=/trunk/; revision=25869
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
Dmitry Gorbachev [Wed, 21 Feb 2007 18:23:59 +0000 (18:23 +0000)]
Thai translation (Sumath Aowsakulsutthi)
svn path=/trunk/; revision=25867
Dmitry Gorbachev [Wed, 21 Feb 2007 18:22:30 +0000 (18:22 +0000)]
Thai translation (Sumath Aowsakulsutthi)
svn path=/trunk/; revision=25866
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
Dmitry Gorbachev [Wed, 21 Feb 2007 11:41:17 +0000 (11:41 +0000)]
Fix Italian resource file
svn path=/trunk/; revision=25863
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
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
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
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
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