reactos.git
17 years agoMove unmaintained stuff (cis, os2, rosky, vms, and msvc6) to a respective branch...
Aleksey Bragin [Fri, 13 Oct 2006 09:03:51 +0000 (09:03 +0000)]
Move unmaintained stuff (cis, os2, rosky, vms, and msvc6) to a respective branch [02/02]

svn path=/trunk/; revision=24497

17 years agoFixen. Delete is still broken.
Art Yerkes [Fri, 13 Oct 2006 07:02:04 +0000 (07:02 +0000)]
Fixen.  Delete is still broken.
We now use BalancedRoot->Parent as the nil element and distinguish it from
the embedded element.
Fix null and root macros, assert macro and some other stuff.

svn path=/trunk/; revision=24495

17 years ago- Fix a mistake in low memory pages allocation algorithm (commit-reviewers, where...
Aleksey Bragin [Thu, 12 Oct 2006 20:46:07 +0000 (20:46 +0000)]
- Fix a mistake in low memory pages allocation algorithm (commit-reviewers, where are you? :))

svn path=/trunk/; revision=24494

17 years agoRead object security descriptors from .inf file. Apply them for registry keys and...
Hervé Poussineau [Thu, 12 Oct 2006 09:01:16 +0000 (09:01 +0000)]
Read object security descriptors from .inf file. Apply them for registry keys and services and display a message for files

svn path=/trunk/; revision=24493

17 years agoBetter stubs for RpcImpersonateClient and RpcRevertToSelf (taken from Wine)
Hervé Poussineau [Thu, 12 Oct 2006 08:57:21 +0000 (08:57 +0000)]
Better stubs for RpcImpersonateClient and RpcRevertToSelf (taken from Wine)

svn path=/trunk/; revision=24492

17 years agoSend right security descriptor to InitializeObjectAttributes, so ntoskrnl won't fail
Hervé Poussineau [Wed, 11 Oct 2006 23:11:59 +0000 (23:11 +0000)]
Send right security descriptor to InitializeObjectAttributes, so ntoskrnl won't fail
The code was working because we never tried to call RegCreateKeyEx with a security descriptor...

svn path=/trunk/; revision=24491

17 years agoReplace incomplete and broken implementations of ConvertStringSecurityDescriptorToSec...
Hervé Poussineau [Wed, 11 Oct 2006 22:14:05 +0000 (22:14 +0000)]
Replace incomplete and broken implementations of ConvertStringSecurityDescriptorToSecurityDescriptorW and ConvertStringSidToSidW by new ones

svn path=/trunk/; revision=24490

17 years agoAdd some definitions
Hervé Poussineau [Wed, 11 Oct 2006 21:57:22 +0000 (21:57 +0000)]
Add some definitions

svn path=/trunk/; revision=24489

17 years agoDon't try to signal init event, as it has been removed in r24413/24414
Hervé Poussineau [Wed, 11 Oct 2006 18:25:22 +0000 (18:25 +0000)]
Don't try to signal init event, as it has been removed in r24413/24414

svn path=/trunk/; revision=24488

17 years agoFixed InterlockedExchangeAdd
Thomas Bluemel [Wed, 11 Oct 2006 17:41:42 +0000 (17:41 +0000)]
Fixed InterlockedExchangeAdd

svn path=/trunk/; revision=24487

17 years agoHow could so much be so wrong in so little code is something future generations will...
KJK::Hyperion [Wed, 11 Oct 2006 16:07:45 +0000 (16:07 +0000)]
How could so much be so wrong in so little code is something future generations will forever ponder in vain. Fixed constraints on inline asm outputs for compare-exchange intrinsics

svn path=/trunk/; revision=24486

17 years agoSome header upgrades
Thomas Bluemel [Wed, 11 Oct 2006 11:44:40 +0000 (11:44 +0000)]
Some header upgrades

svn path=/trunk/; revision=24485

17 years agoFix polling of ShutdownNotify
Thomas Bluemel [Wed, 11 Oct 2006 10:34:36 +0000 (10:34 +0000)]
Fix polling of ShutdownNotify

svn path=/trunk/; revision=24484

17 years ago- Add global var for keeping size of NLS data in pages
Aleksey Bragin [Tue, 10 Oct 2006 15:20:03 +0000 (15:20 +0000)]
- Add global var for keeping size of NLS data in pages
- Restructure memory-map building loop to create special descriptor for NLS data
- Fix a bug in memory-map building loop which lead to not covering last XXX pages of memory

svn path=/trunk/; revision=24483

17 years agoAdded 'austin' AVL implementation and provide a binding for the AVL functions
Art Yerkes [Tue, 10 Oct 2006 12:31:16 +0000 (12:31 +0000)]
Added 'austin' AVL implementation and provide a binding for the AVL functions
in generictable.

Not tested, (but nothing relies on it yet).

Austin is
 Copyright (C) 2000 Kaz Kylheku <kaz@ashi.footprints.net>
 Copyright (C) 2000 Carl van Tast <vanTast@netway.at>

Copying, reuse and modification are permitted on liberal terms.

svn path=/trunk/; revision=24482

17 years agoAdd a stub to peloader.c
Aleksey Bragin [Tue, 10 Oct 2006 10:42:07 +0000 (10:42 +0000)]
Add a stub to peloader.c

svn path=/trunk/; revision=24481

17 years ago- Implement WinLdrLoadBootDrivers() / WinLdrLoadDeviceDriver() - to be able to load...
Aleksey Bragin [Tue, 10 Oct 2006 10:38:45 +0000 (10:38 +0000)]
- Implement WinLdrLoadBootDrivers() / WinLdrLoadDeviceDriver() - to be able to load boot-time drivers
- Perform hardware detection in the beginning (I had to insert RegInitializeRegistry() hack because MachHwDetect initializes certain stuff in registry)
- Convert info from hwdetect to suitable form in LPB (code by Alex Ionescu, just moved/adapted). Debug routine added to output its contents.
- Move allocation memory for NlsData into "phase 0" (AllocateAndInitLPB)
- Fixed SystemRoot to be of a correct form (later will be autogenerated of course, now just for reference)

svn path=/trunk/; revision=24480

17 years agoFix setting of SystemBootDevice and SystemStartOptions in registry.
Filip Navara [Tue, 10 Oct 2006 00:22:04 +0000 (00:22 +0000)]
Fix setting of SystemBootDevice and SystemStartOptions in registry.
Fix detection of MiniNT systems.

svn path=/trunk/; revision=24479

17 years agoSort the key indexes in CM.
Filip Navara [Mon, 9 Oct 2006 23:43:06 +0000 (23:43 +0000)]
Sort the key indexes in CM.

svn path=/trunk/; revision=24478

17 years ago- Start NetLogon service (lsass.exe)
Hervé Poussineau [Mon, 9 Oct 2006 19:19:28 +0000 (19:19 +0000)]
- Start NetLogon service (lsass.exe)
- Fix lots of problems in error handling
- Some general cleanup

svn path=/trunk/; revision=24477

17 years agoFormatting and add a call to StartServiceCtrlDispatcher
Hervé Poussineau [Mon, 9 Oct 2006 19:16:47 +0000 (19:16 +0000)]
Formatting and add a call to StartServiceCtrlDispatcher

svn path=/trunk/; revision=24476

17 years agomake our msvcrt bit more windows nt4/2000 compatible
Magnus Olsen [Mon, 9 Oct 2006 18:42:24 +0000 (18:42 +0000)]
make our msvcrt bit more windows nt4/2000 compatible
do not link _i64toa and _i64tow to ntdll they are missing in windows nt4/windows 2000 ntdll.

svn path=/trunk/; revision=24475

17 years agofixed so our taskmgr works in windows 2000
Magnus Olsen [Mon, 9 Oct 2006 18:01:56 +0000 (18:01 +0000)]
fixed so our taskmgr works in windows 2000

svn path=/trunk/; revision=24474

17 years agoMake sure the compiler doesn't optimize away writes to video memory
Thomas Bluemel [Mon, 9 Oct 2006 16:37:27 +0000 (16:37 +0000)]
Make sure the compiler doesn't optimize away writes to video memory

svn path=/trunk/; revision=24473

17 years agoSome portability fixes that address possible alignment issues. Read R. Chen's blog...
Thomas Bluemel [Mon, 9 Oct 2006 15:09:50 +0000 (15:09 +0000)]
Some portability fixes that address possible alignment issues. Read R. Chen's blog 10/06/06 for more information.

svn path=/trunk/; revision=24472

17 years agoRevert r24430 changes (by Magnus Olsen) since they are incorrect (additionally confir...
Aleksey Bragin [Mon, 9 Oct 2006 15:02:33 +0000 (15:02 +0000)]
Revert r24430 changes (by Magnus Olsen) since they are incorrect (additionally confirmed by Filip Navara)

svn path=/trunk/; revision=24471

17 years agoFix compilation with GCC4
Thomas Bluemel [Mon, 9 Oct 2006 14:59:10 +0000 (14:59 +0000)]
Fix compilation with GCC4

svn path=/trunk/; revision=24470

17 years agoStrings should be const char *. Fixes compilation with GCC4
Thomas Bluemel [Mon, 9 Oct 2006 14:54:40 +0000 (14:54 +0000)]
Strings should be const char *. Fixes compilation with GCC4

svn path=/trunk/; revision=24469

17 years agoStrings should be const char *. Fixes compilation with GCC4
Thomas Bluemel [Mon, 9 Oct 2006 14:43:16 +0000 (14:43 +0000)]
Strings should be const char *. Fixes compilation with GCC4

svn path=/trunk/; revision=24468

17 years agoChange copyright to 1996-2006, because
Mindflyer [Mon, 9 Oct 2006 12:37:03 +0000 (12:37 +0000)]
Change copyright to 1996-2006, because
a) our earliest version records show 1996
b) we are now in 2006

svn path=/trunk/; revision=24467

17 years agoFix mkhive compiling by adding _NTSYSTEM_ define. This is needed after Thomas' fixes...
Aleksey Bragin [Mon, 9 Oct 2006 08:07:19 +0000 (08:07 +0000)]
Fix mkhive compiling by adding _NTSYSTEM_ define. This is needed after Thomas' fixes to headers.

svn path=/trunk/; revision=24466

17 years ago- Some misc changes to fix some of the 250+ warnings in the MSVC build.
Alex Ionescu [Mon, 9 Oct 2006 05:59:18 +0000 (05:59 +0000)]
- Some misc changes to fix some of the 250+ warnings in the MSVC build.

svn path=/trunk/; revision=24465

17 years ago- Bootvid rewrite by Filip Navara (with some fixes by myself)
Alex Ionescu [Mon, 9 Oct 2006 04:00:34 +0000 (04:00 +0000)]
- Bootvid rewrite by Filip Navara (with some fixes by myself)
- HAL DMA enhancements by Filip Navara.
- CSRSS Console enhancements by Filip Navara.
- Win32k Primitive Queue/Input/Painting/Focus enhancements by Filip Navara.
- Other misc win32k/CSR bug fixes by Filip Navara.
- The new bootvid code has some bugs, but try out a GUI Boot!

svn path=/trunk/; revision=24464

17 years ago- Initialize the registry in one shot, and allow it to fail and do the associated...
Alex Ionescu [Mon, 9 Oct 2006 01:16:28 +0000 (01:16 +0000)]
- Initialize the registry in one shot, and allow it to fail and do the associated CONFIG_INIT_FAILED bugcheck.
- Initialize Io in one shot, with IoInitSystem.
- Locate the system DLL a bit later, since on the boot CD this creates a small incompatibility due to the wrong path being in use.

svn path=/trunk/; revision=24463

17 years ago- Add RtlInitEmptyAnsiString to DDK.
Alex Ionescu [Sun, 8 Oct 2006 23:46:26 +0000 (23:46 +0000)]
- Add RtlInitEmptyAnsiString to DDK.
- Fix a pretty bad stack/memory corruption bug related to IoReassignSystemRoot.
- Combine IoInit2 and IoInit3 into IoInitSystem, and make it return a BOOLEAN, and handle error with the appropriate IO1_INIT_FAILED bugcheck. Will combine IoInit1 soon.

svn path=/trunk/; revision=24462

17 years ago- Remove InitSharedUserDataPage since this entire function is not needed anymore...
Alex Ionescu [Sun, 8 Oct 2006 22:50:26 +0000 (22:50 +0000)]
- Remove InitSharedUserDataPage since this entire function is not needed anymore due to the recent ARC improvements.
- Call IoAssignDriverLetters with the proper parameters, and give it a chance to update the SystemRoot path (although our version doesn't yet do this).

svn path=/trunk/; revision=24461

17 years ago- Finalize ARC Boot changes:
Alex Ionescu [Sun, 8 Oct 2006 21:38:45 +0000 (21:38 +0000)]
- Finalize ARC Boot changes:
  * Rename IoCreateArcNames to IopCreateArcNames and set it to NTAPI, as well as pass the loader block as a parameter.
  * Reduce buffers to 128 bytes, since ARC Paths don't get longer then that.
  * Optimize stack usage by using a single ANSI_STRING instead of 3 or 4.
  * Optimize stack usage by using a single ansi buffer, not 2 or more.

svn path=/trunk/; revision=24458

17 years ago- Optimize IopApplyRosCdromArcHack by not searching for the second copy of ntoskrnl...
Alex Ionescu [Sun, 8 Oct 2006 21:16:20 +0000 (21:16 +0000)]
- Optimize IopApplyRosCdromArcHack by not searching for the second copy of ntoskrnl if we already found the first.
- Also optimize stack usage by only using an ANSI buffer instead of having another Unicode buffer and unicode strings. Saves 530 bytes of stack.

svn path=/trunk/; revision=24457

17 years ago- Part 2.5 of ARC Boot changes. Re-factor IoCreateArcNames not to use a list-entry...
Alex Ionescu [Sun, 8 Oct 2006 21:09:00 +0000 (21:09 +0000)]
- Part 2.5 of ARC Boot changes. Re-factor IoCreateArcNames not to use a list-entry of detected disk from pool that gets looped and de-referenced, but instead use a simple loop which calls a function that gets disk information one-by-one (IopGetDiskInformation), so that it's used on the spot instead of allocated, linked, and retrieved later.
- Inline IopAssignArcNamesToDisk to reduce some stack size abuse and too much parameter shuffling.
- Stack use is still very inefficient, will fix next.

svn path=/trunk/; revision=24456

17 years agoSome header fixes
Thomas Bluemel [Sun, 8 Oct 2006 20:28:03 +0000 (20:28 +0000)]
Some header fixes

svn path=/trunk/; revision=24454

17 years ago- Greatly simplify and optimize IoCreateArcNames by using ARC data from FreeLDR/NTLDR...
Alex Ionescu [Sun, 8 Oct 2006 19:59:53 +0000 (19:59 +0000)]
- Greatly simplify and optimize IoCreateArcNames by using ARC data from FreeLDR/NTLDR (now nearly 100% compatible!) instead of querying registry data (which FreeLdr had already set up, so we cached those values like ntldr does).
- Last step is to stop using a list of drives and pool allocated entries, to optimize memory usage and re-factor the code.

svn path=/trunk/; revision=24453

17 years ago- Have FreeLDR fill out ARC_DISK_SIGNATURE information for each detected disk, as...
Alex Ionescu [Sun, 8 Oct 2006 19:34:16 +0000 (19:34 +0000)]
- Have FreeLDR fill out ARC_DISK_SIGNATURE information for each detected disk, as it's filling the registry.
- Add code to KiRosFrldrLpbToLpb to convert this array to the official ARC_DISK_INFORMATION structure that contains LIST_ENTRYies for each ARC_DISK_SIGNATURE, and initialize the ArcDiskSignatureListHead.
- The end result will be that in the next patch we can remove a bunch of registry-reading code in IoCreateArcNames.

svn path=/trunk/; revision=24452

17 years ago- Part 2 of ARC boot changes: Major modifications done to the existing code, as well...
Alex Ionescu [Sun, 8 Oct 2006 16:58:03 +0000 (16:58 +0000)]
- Part 2 of ARC boot changes: Major modifications done to the existing code, as well as re-formatting and cleanup. Floppy ARC names are not created anymore (they don't exist), and CD-ROM ARC name is only created 1) when there is a boot CD and 2) only for the boot CD. This mimics NT functionality.
- Optimize some code paths, mostly by not querying the whole GET_DRIVE_GEOMETRY IRP twice and reducing some buffer usage. Also re-factor some code better into smaller functions.
- Document and work around currently FreeLDR incompatibility (lack of ARC_DISK_INFORMATION) data in LoaderBlock.

svn path=/trunk/; revision=24451

17 years ago- Add dumping boot drivers list, remove unneded comment
Aleksey Bragin [Sun, 8 Oct 2006 10:06:06 +0000 (10:06 +0000)]
- Add dumping boot drivers list, remove unneded comment
- Implement WinLdrScanRegistry() (based on freeldr's already existing implementation) which searches for boot-loading drivers
- Implement WinLdrAddDriverToList() - it correctly fills an entry in the BootDriversList in LoaderParameterBlock

svn path=/trunk/; revision=24444

17 years ago- Add simple support functions to be able to use more RTL in FreeLdr
Aleksey Bragin [Sun, 8 Oct 2006 08:54:44 +0000 (08:54 +0000)]
- Add simple support functions to be able to use more RTL in FreeLdr

svn path=/trunk/; revision=24442

17 years ago- Whoops, don't call IopReassignSystemRoot twice.
Alex Ionescu [Sun, 8 Oct 2006 07:59:30 +0000 (07:59 +0000)]
- Whoops, don't call IopReassignSystemRoot twice.

svn path=/trunk/; revision=24441

17 years ago- Part 1 of ARC boot cleanups/changes: Create a valid \\SystemRoot symbolic link...
Alex Ionescu [Sun, 8 Oct 2006 07:53:37 +0000 (07:53 +0000)]
- Part 1 of ARC boot cleanups/changes: Create a valid \\SystemRoot symbolic link as the system is booting, which points to the ARC name, then, once drivers have loaded, re-assign it to the proper NT Device name. Added proper security descriptors and flags to symbolic links, as well as proper bugchecks when required.
- Kept and cleaned up the ROS hack for CD-ROM boot.

svn path=/trunk/; revision=24440

17 years ago- More re-shuffling of initialization calls, including enabling access to the blue...
Alex Ionescu [Sun, 8 Oct 2006 04:47:26 +0000 (04:47 +0000)]
- More re-shuffling of initialization calls, including enabling access to the blue screen much much earlier (no point in doing it so late, but this change is not that useful since soon we'll have bootvid).
- Split Po init in two, so the early Po init (which we'll need to do eventually) doesn't depent on the later Po init (which uses a PnP notification which depends on the Io system).
- Make I/O initialize quite a bit later.

svn path=/trunk/; revision=24439

17 years ago- Inline and make some slight correctiions to KiInitailizeSystemClock, since it's...
Alex Ionescu [Sun, 8 Oct 2006 04:05:27 +0000 (04:05 +0000)]
- Inline and make some slight correctiions to KiInitailizeSystemClock, since it's based on the Ex subsystem, not Ke. Add code for boot-time timezone bias, but currently disabled because I need to implement a function to read configuration registry data at startup.
- Improve Init bugchecks to give the exact module that failed. Add Kd initilization in the same block as the other subsystems.
- Rename and re-arrange some initlization calls.

svn path=/trunk/; revision=24438

17 years ago- Stub LdrVerifyMappedImageMatchesChecksum.
Alex Ionescu [Sun, 8 Oct 2006 02:10:34 +0000 (02:10 +0000)]
- Stub LdrVerifyMappedImageMatchesChecksum.
- Separate locating the system DLL from initializing it.
- Implement split-phase PsInitSystem for Phase 0 and 1, and make system dll initialization as part of phase 1.
- Add MmVerifyImageIsOkForMpUse and MmCheckSystemImage to validate the system DLL.
- Add a separate bugcheck for each failure in PsLocateSystemDll, matching with the NT bugchecks that would occur.

svn path=/trunk/; revision=24437

17 years ago- In NTLDR boot, try to get the first kernel physical address from the loader entries.
Alex Ionescu [Sun, 8 Oct 2006 00:04:03 +0000 (00:04 +0000)]
- In NTLDR boot, try to get the first kernel physical address from the loader entries.
- Fixup HAL's image base in the loader parameter block, since we load it at a different place then freeldr tells us.
- We've reached a dead end in NTLDR compatibility. Out memory manager initialization code makes some assumptions which are totally incompatible with the page table state that NTLDR gives us.

svn path=/trunk/; revision=24436

17 years ago- FreeLDR: Create the loader entry for ntoskrnl now that FreeLDR PE-loads it since...
Alex Ionescu [Sat, 7 Oct 2006 22:23:35 +0000 (22:23 +0000)]
- FreeLDR: Create the loader entry for ntoskrnl now that FreeLDR PE-loads it since last year. This lets us remove a large hack in ntoskrnl which was manually creating the entry and filling it in.
- Rename some LastKrnl... addresses into MmFreeLdr to easily identify them, and remove the need to use MmFreeLdrMemLower and MmFreeLdrPageDirectoryStart.
- Remove the static KERNEL_BASE definition based on a GCC-specific external. Everything now uses the actual module entry's saved base address.
- Fix a Ps Initialization hack and properly set the boot PDE.
- Add a hack for NTLDR's lack of MmFreeLdrMemHigher and MmFreeLdrPageDirectoryEnd.

svn path=/trunk/; revision=24435

17 years agomove the string parsing routine into it's own function so it can be used with DeviceP...
Ged Murphy [Sat, 7 Oct 2006 15:02:43 +0000 (15:02 +0000)]
move the string parsing routine into it's own function so it can be used with DeviceProblemWizard_RunDLL when required.

svn path=/trunk/; revision=24434

17 years agotesting ros-diffs
Ged Murphy [Sat, 7 Oct 2006 14:35:22 +0000 (14:35 +0000)]
testing ros-diffs

svn path=/trunk/; revision=24433

17 years ago- Add structure for describing boot-loaded drivers
Aleksey Bragin [Sat, 7 Oct 2006 13:07:25 +0000 (13:07 +0000)]
- Add structure for describing boot-loaded drivers

svn path=/trunk/; revision=24432

17 years ago- Fix calls to HvInitializeHive
Alex Ionescu [Fri, 6 Oct 2006 23:11:49 +0000 (23:11 +0000)]
- Fix calls to HvInitializeHive

svn path=/trunk/; revision=24431

17 years agoFixed control apps windows, Let me known if it create any regress.
Magnus Olsen [Fri, 6 Oct 2006 21:59:42 +0000 (21:59 +0000)]
Fixed control apps windows, Let me known if it create any regress.

svn path=/trunk/; revision=24430

17 years ago- Load and initialize in-memory registry
Aleksey Bragin [Fri, 6 Oct 2006 21:20:36 +0000 (21:20 +0000)]
- Load and initialize in-memory registry
- Query NLS file names from registry instead of hardcoding
- Move loading of NLS data to WinLdrLoadAndScanSystemHive()

svn path=/trunk/; revision=24429

17 years ago- Fix calls to HvInitializeHive due to my last patch. Proof that Fireball doesn't...
Alex Ionescu [Fri, 6 Oct 2006 20:52:50 +0000 (20:52 +0000)]
- Fix calls to HvInitializeHive due to my last patch. Proof that Fireball doesn't properly test his commits... I broke Freeldr building before his commit, yet he commited it anyway even though freeldr couldn't build ;). Just kidding.

svn path=/trunk/; revision=24428

17 years ago- Make arc-path passed to the kernel look a bit more correct (still a hack of course)
Aleksey Bragin [Fri, 6 Oct 2006 20:28:55 +0000 (20:28 +0000)]
- Make arc-path passed to the kernel look a bit more correct (still a hack of course)
- Add KdCom.dll loading along with ntoskrnl.exe and hal.dll
- Move registry-related code to a new file wlregistry.c
- WinLdrLoadAndScanSystemHive() is going to combine loading, initializing and parsing registry. NLS / OEM font data loading is marked with FIXMEs now, since it needs going into that routine (because registry tells the file names, not hardcoding them)

svn path=/trunk/; revision=24427

17 years ago- Add PROFILE_ACPI_DOCKING_STATE.
Alex Ionescu [Fri, 6 Oct 2006 19:29:25 +0000 (19:29 +0000)]
- Add PROFILE_ACPI_DOCKING_STATE.
- Fix HvInitialize definition to match more closely NT's since I need some of the extra parameters for the cm rewrite.
- Implement ExInitializePushLock and ExConvertPushLockSharedToExclusive macros.

svn path=/trunk/; revision=24426

17 years agofix a TCHAR brain lapse...
Ged Murphy [Fri, 6 Oct 2006 17:10:57 +0000 (17:10 +0000)]
fix a TCHAR brain lapse...

svn path=/trunk/; revision=24425

17 years agoimplemented DeviceProperties_RunDLLW and DeviceProperties_RunDLLA
Ged Murphy [Fri, 6 Oct 2006 16:08:54 +0000 (16:08 +0000)]
implemented DeviceProperties_RunDLLW and DeviceProperties_RunDLLA

svn path=/trunk/; revision=24424

17 years ago- Add internal EX_CALLBACK Object to NDK. (Callback blocks are a new NT 5.2 kernel...
Alex Ionescu [Fri, 6 Oct 2006 06:36:35 +0000 (06:36 +0000)]
- Add internal EX_CALLBACK Object to NDK. (Callback blocks are a new NT 5.2 kernel mechanism much like RunOncs blocks in Vista user-mode). They're managed by rundown protection and fast-referencing through interlocked calls to push/pop/sychrnonize system callbacks.
- Add ObOpenObjectByName to NDK, since this API is not documented in official headers.

svn path=/trunk/; revision=24422

17 years ago- Guard some current cmlib includes against new cm branch
Alex Ionescu [Thu, 5 Oct 2006 23:01:38 +0000 (23:01 +0000)]
- Guard some current cmlib includes against new cm branch
- Remove NTSYSAPI from NtBuildNumber definition in NDK.

svn path=/trunk/; revision=24416

17 years ago- Remove SMSS's code for signaling the "init" event.
Alex Ionescu [Thu, 5 Oct 2006 16:38:58 +0000 (16:38 +0000)]
- Remove SMSS's code for signaling the "init" event.
- Make ExpInitNls responsible for NLS initialization in Phase 0 as well, to clean up the code in ExpInitailizeExecutive a bit.
- Initialize the system time/clock in Phase 1, not in Phase 0.
- Do HAL Phase1 initialization as the first step in Phase 1 initialization, then initialize the system clock (since the HAL's RTC is now configured).
- Do Ob Phase 1 init in Phase 1 initialization, not in phase 0.
- Do Ke Phase 1 init after HAL, Ob and Ex phase 1 inits.
- Initialize NLS for Phase 1 after Ke Phase 1, instead of much later.

svn path=/trunk/; revision=24414

17 years ago- Get rid of the completely convoluted way that Phase 1 initialization was being...
Alex Ionescu [Thu, 5 Oct 2006 16:14:28 +0000 (16:14 +0000)]
- Get rid of the completely convoluted way that Phase 1 initialization was being ended, with umpteen events and waits and timeouts all synchronized from user-mode and do a simple 5-second wait to determine if smss started OK or not.
- Promote the Phase 1 initialization thread by jumping directly into the zero-page thread, and remove manual zero-page thread initialization code since we simply jump into its main routine.
- 100 less lines of code :)

svn path=/trunk/; revision=24413

17 years ago- Put all Phase 1 Ex* Initialization in ExpInitSystemPhase1 and clean up associated...
Alex Ionescu [Thu, 5 Oct 2006 15:13:59 +0000 (15:13 +0000)]
- Put all Phase 1 Ex* Initialization in ExpInitSystemPhase1 and clean up associated deprecated calls.
- Call ExpInitializePushLocks since we weren't doing this before.

svn path=/trunk/; revision=24412

17 years ago- Rewrite ExpLoadInitialProcess by inlining and simplifying what the call to RtlCreat...
Alex Ionescu [Thu, 5 Oct 2006 14:49:20 +0000 (14:49 +0000)]
- Rewrite ExpLoadInitialProcess by inlining and simplifying what the call to RtlCreateProcsesParameters should do, and also create our own custom environment with the same arguments that NT's smss gets.
- This optimizes booting as well as gets use the differnet SESSIONY_INITIALIZATION_FAILED, where Y is a number representing which step of the process parameter/envieonment creation failed.

svn path=/trunk/; revision=24411

17 years ago- Add #ifdef DEBUG / #endif to fix compile. FreeLdr's debug macros needs some improve...
Aleksey Bragin [Thu, 5 Oct 2006 09:15:44 +0000 (09:15 +0000)]
- Add #ifdef DEBUG / #endif to fix compile. FreeLdr's debug macros needs some improvement in the future...

svn path=/trunk/; revision=24410

17 years ago- Use KeLoaderBlock for registry hive loading.
Alex Ionescu [Thu, 5 Oct 2006 02:02:27 +0000 (02:02 +0000)]
- Use KeLoaderBlock for registry hive loading.
- Get rid of the CACHED_MODULE array and associated structures and stop using them, get rid of ParseAndCacheLoadedModules. Stop using KeLoadedModules and KeLoadedModuleCount outside of freeldr.c.
- Except for MmInit1, the kernel should now be totally isolated from FreeLDR-specific data.

svn path=/trunk/; revision=24409

17 years ago- Implement ExpInitNls to initialize the NLS Section using the new semantics recently...
Alex Ionescu [Thu, 5 Oct 2006 01:44:54 +0000 (01:44 +0000)]
- Implement ExpInitNls to initialize the NLS Section using the new semantics recently implemented. Works pretty much like the previous code in rtl/nls.c except it uses the new variable names as well as maps a view of the NLS Table into the system process.c
- Delete rtl/nls.c and all the associated deprecated code.
- Do MmInit1 and SharedUserData stuff *after* initializing the initial thread, to avoid an ASSERT during bootup.

svn path=/trunk/; revision=24408

17 years agoadd a few more icons to the device imagelist
Ged Murphy [Wed, 4 Oct 2006 22:29:18 +0000 (22:29 +0000)]
add a few more icons to the device imagelist

svn path=/trunk/; revision=24407

17 years ago-removed unused var
Christoph von Wittich [Wed, 4 Oct 2006 22:06:00 +0000 (22:06 +0000)]
-removed unused var

svn path=/trunk/; revision=24406

17 years ago- Add most needed memory-manipulating functions. Some places are really crappy (like...
Aleksey Bragin [Wed, 4 Oct 2006 21:58:36 +0000 (21:58 +0000)]
- Add most needed memory-manipulating functions. Some places are really crappy (like WinLdrSetProcessorContext's IDT filling), will be fixed soon.
- FIXME: Since FreeLdr doesn't really keep track of which memory is of which type, this code has a massive hack for guessing the memory type, which is incorrect for future usage

svn path=/trunk/; revision=24405

17 years ago-support debugging of control panel applets
Christoph von Wittich [Wed, 4 Oct 2006 21:47:43 +0000 (21:47 +0000)]
-support debugging of control panel applets

svn path=/trunk/; revision=24404

17 years ago-don't use GetLastError with Reg* functions
Christoph von Wittich [Wed, 4 Oct 2006 21:47:08 +0000 (21:47 +0000)]
-don't use GetLastError with Reg* functions
-remove @16 from def file (msvc doesn't like it)

svn path=/trunk/; revision=24403

17 years ago- Fix warning in winldr.c
Aleksey Bragin [Wed, 4 Oct 2006 21:36:56 +0000 (21:36 +0000)]
- Fix warning in winldr.c
- Implement WinLdrAllocateDataTableEntry() used for allocating and initializing the DTE
- Implement WinLdrLoadImage(), which uses LdrRelocateImageWithBias() from RTL, calling it with loader name "FLx86" (RTL should treat it differently -- ROS/WinLdr-specific behavior)

svn path=/trunk/; revision=24402

17 years ago- Remove some crap from the LoadAndBootWindows()
Aleksey Bragin [Wed, 4 Oct 2006 21:11:16 +0000 (21:11 +0000)]
- Remove some crap from the LoadAndBootWindows()
- Change debugging checkpoint to online-asm (all this is temporary), since any code after while(1){}; seems to be just optimized away by gcc
- Uncomment NDEBUG for now

svn path=/trunk/; revision=24401

17 years agoFix broken resources
Thomas Bluemel [Wed, 4 Oct 2006 19:55:53 +0000 (19:55 +0000)]
Fix broken resources

svn path=/trunk/; revision=24400

17 years agoadd some overlay icons needed for devmgmt
Ged Murphy [Wed, 4 Oct 2006 19:04:16 +0000 (19:04 +0000)]
add some overlay icons needed for devmgmt

svn path=/trunk/; revision=24399

17 years agoFix almost the same bug in LdrGetProcedureAddress as in r24397
Thomas Bluemel [Wed, 4 Oct 2006 18:46:57 +0000 (18:46 +0000)]
Fix almost the same bug in LdrGetProcedureAddress as in r24397

svn path=/trunk/; revision=24398

17 years ago- Fix binary search algorithm in LdrGetProcedureAddress
Thomas Bluemel [Wed, 4 Oct 2006 16:51:51 +0000 (16:51 +0000)]
- Fix binary search algorithm in LdrGetProcedureAddress
- Fix temporary ntdll export hack (r24395)

svn path=/trunk/; revision=24397

17 years ago- Open the device propsheet for child items (not parents as there isn't much point)
Ged Murphy [Wed, 4 Oct 2006 16:39:45 +0000 (16:39 +0000)]
- Open the device propsheet for child items (not parents as there isn't much point)
- Tag the Device ID onto the treeview items and provide functionality to tear it down
- Remove/change some code which wasn't needed to speed up opening time3
- We now have a pretty functional device manager. However it's heavily reliant on devmgr.dll, therefore functionality per device will rely on how complete this lib is.

svn path=/trunk/; revision=24396

17 years ago- Implement XPSP2+ syscall stub that uses indirect pointer instead of executable...
Alex Ionescu [Wed, 4 Oct 2006 16:00:36 +0000 (16:00 +0000)]
- Implement XPSP2+ syscall stub that uses indirect pointer instead of executable code inside KUSER_SHARED_DATA.
- Someone (FILIP!) please fix LdrGetProcedureAddress. It's broken and I had to rename an ntdll export to make it work (see comments).
- Make sure you REBUILD CLEAN. This commit changes NCITool!!!
- Setup some NPX-related CPU features in SharedUserData during KiInitializeKernel.
- Remove some now-deprecated initialization functions.

svn path=/trunk/; revision=24395

17 years agoDon't compile with -Wconversion since we have function callbacks that have parameters...
Thomas Bluemel [Wed, 4 Oct 2006 15:19:23 +0000 (15:19 +0000)]
Don't compile with -Wconversion since we have function callbacks that have parameters with sizes different from int without forward declarations. Fixes superfluous warnings.

svn path=/trunk/; revision=24394

17 years ago- Format code of InstallFatBootcodeToPartition(), changing from tabs+spaces mix to...
Aleksey Bragin [Wed, 4 Oct 2006 12:26:12 +0000 (12:26 +0000)]
- Format code of InstallFatBootcodeToPartition(), changing from tabs+spaces mix to tabs only (use "ignore whitespaces" settings to view other changes)
- Change installation logic when installing to a NTLDR's boot.ini: Firstly freeldr.ini is checked for existence, and either created or updated, then boot.ini is checked for having a proper entry, and if needed - entry is added. Fixes related bugs (having more and more ReactOS entries, no entry added if freeldr.ini already exists in the root folder)

svn path=/trunk/; revision=24392

17 years agothis file some have forget set eol-style native
Magnus Olsen [Wed, 4 Oct 2006 10:59:01 +0000 (10:59 +0000)]
this file some have forget set eol-style native
fixed

svn path=/trunk/; revision=24391

17 years ago1. move all languages file to own folder
Magnus Olsen [Wed, 4 Oct 2006 06:58:03 +0000 (06:58 +0000)]
1. move all languages file to own folder
2. fixed sub languages on allot languages rc files
3. add LMH1 Norwegian translations.

See issue #1698 for more details.

svn path=/trunk/; revision=24389

17 years ago- Fix boot crash due to last patch, forgot that SharedUserDAta wasn't available yet.
Alex Ionescu [Wed, 4 Oct 2006 05:59:56 +0000 (05:59 +0000)]
- Fix boot crash due to last patch, forgot that SharedUserDAta wasn't available yet.

svn path=/trunk/; revision=24388

17 years ago- Fix KUSER_SHARED_DATA in winddk.h
Alex Ionescu [Wed, 4 Oct 2006 05:48:46 +0000 (05:48 +0000)]
- Fix KUSER_SHARED_DATA in winddk.h
- Scanfor NOEXECUTE/EXECUTE/OPTIN/OPTOUT/ALWAYSON/ALWAYSOFF load strings and set the appropriate NX policy in KUSER_SHARED_DATA as well as kernel CPU Feature flags.

svn path=/trunk/; revision=24387

17 years ago- Add KF_XMMI64 feature flag for SSE2 and detect it.
Alex Ionescu [Wed, 4 Oct 2006 05:29:30 +0000 (05:29 +0000)]
- Add KF_XMMI64 feature flag for SSE2 and detect it.
- Detect Hyper-Threading and set Local APIC ID (put back Thomas's code that he added in an old revision and that I had accidentally removed and forgotten to re-convert into the new KiGetFeatureBits function).
- Add code to set the kernel MX Csr Mask in the FX Save Area.
- Startup the sysenter handler on the DPC stack.
- Detect and notify users with broken Pentiums.
- Do some NPX checks to forcefully disable any FPU flags that might be set (SSE, MMX, 3DNOW) if the NPX is disabled.

svn path=/trunk/; revision=24386

17 years ago- Make Kernel initialization (KeInit2) portable/more complete. KeInit2 becomes KeInit...
Alex Ionescu [Wed, 4 Oct 2006 03:37:11 +0000 (03:37 +0000)]
- Make Kernel initialization (KeInit2) portable/more complete. KeInit2 becomes KeInitSystem, the portable part, with a call to KiInitMachineDependent, the arch-specific part.
- Do all CPU configuration through IPIs and synchronize with potential multiple CPUs.
- Add mtrr.c and patpge.c for future support of MTRR, AMD K6 MTRR, PGE and PAT support, with initilization calls in each of them (which only print out a "Sorry" message).
- Add some stubbed code for extra initizliation to do later once some detection things are fixed.

svn path=/trunk/; revision=24385

17 years agoupdate comctl32 to Wine-0.9.22 to get the new imagelist code.
Ged Murphy [Tue, 3 Oct 2006 22:46:26 +0000 (22:46 +0000)]
update comctl32 to Wine-0.9.22 to get the new imagelist code.

svn path=/trunk/; revision=24384

17 years agoadd LPCDLGTEMPLATE definition
Ged Murphy [Tue, 3 Oct 2006 22:43:46 +0000 (22:43 +0000)]
add LPCDLGTEMPLATE definition

svn path=/trunk/; revision=24383

17 years agofix processor display
Ged Murphy [Tue, 3 Oct 2006 20:51:35 +0000 (20:51 +0000)]
fix processor display

svn path=/trunk/; revision=24382

17 years agoFix warning
Thomas Bluemel [Tue, 3 Oct 2006 20:04:39 +0000 (20:04 +0000)]
Fix warning

svn path=/trunk/; revision=24381

17 years ago- Implement the context menu (mouse only at the moment) makeing it accessable when...
Ged Murphy [Tue, 3 Oct 2006 19:55:15 +0000 (19:55 +0000)]
- Implement the context menu (mouse only at the moment) makeing it accessable when the cursor over the item only
- open the propsheet when double clicking child items
- make 'properties' bold

svn path=/trunk/; revision=24380

17 years agoCopy i8042prt driver from 0.3.1 branch to trunk. Try #2
Hervé Poussineau [Tue, 3 Oct 2006 18:04:03 +0000 (18:04 +0000)]
Copy i8042prt driver from 0.3.1 branch to trunk. Try #2

svn path=/trunk/; revision=24379

17 years agoOf course, I've added one level in directory structure in 24377. Delete the whole...
Hervé Poussineau [Tue, 3 Oct 2006 18:03:28 +0000 (18:03 +0000)]
Of course, I've added one level in directory structure in 24377. Delete the whole i8042prt driver and retry
(Sorry, this revision won't build)

svn path=/trunk/; revision=24378