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
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
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
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
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
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
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
Hervé Poussineau [Wed, 11 Oct 2006 21:57:22 +0000 (21:57 +0000)]
Add some definitions
svn path=/trunk/; revision=24489
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
Thomas Bluemel [Wed, 11 Oct 2006 17:41:42 +0000 (17:41 +0000)]
Fixed InterlockedExchangeAdd
svn path=/trunk/; revision=24487
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
Thomas Bluemel [Wed, 11 Oct 2006 11:44:40 +0000 (11:44 +0000)]
Some header upgrades
svn path=/trunk/; revision=24485
Thomas Bluemel [Wed, 11 Oct 2006 10:34:36 +0000 (10:34 +0000)]
Fix polling of ShutdownNotify
svn path=/trunk/; revision=24484
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
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
Aleksey Bragin [Tue, 10 Oct 2006 10:42:07 +0000 (10:42 +0000)]
Add a stub to peloader.c
svn path=/trunk/; revision=24481
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
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
Filip Navara [Mon, 9 Oct 2006 23:43:06 +0000 (23:43 +0000)]
Sort the key indexes in CM.
svn path=/trunk/; revision=24478
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
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
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
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
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
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
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
Thomas Bluemel [Mon, 9 Oct 2006 14:59:10 +0000 (14:59 +0000)]
Fix compilation with GCC4
svn path=/trunk/; revision=24470
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
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
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
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
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
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
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
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
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
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
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
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
Thomas Bluemel [Sun, 8 Oct 2006 20:28:03 +0000 (20:28 +0000)]
Some header fixes
svn path=/trunk/; revision=24454
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
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
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
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
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
Alex Ionescu [Sun, 8 Oct 2006 07:59:30 +0000 (07:59 +0000)]
- Whoops, don't call IopReassignSystemRoot twice.
svn path=/trunk/; revision=24441
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
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
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
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
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
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
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
Ged Murphy [Sat, 7 Oct 2006 14:35:22 +0000 (14:35 +0000)]
testing ros-diffs
svn path=/trunk/; revision=24433
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
Alex Ionescu [Fri, 6 Oct 2006 23:11:49 +0000 (23:11 +0000)]
- Fix calls to HvInitializeHive
svn path=/trunk/; revision=24431
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
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
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
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
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
Ged Murphy [Fri, 6 Oct 2006 17:10:57 +0000 (17:10 +0000)]
fix a TCHAR brain lapse...
svn path=/trunk/; revision=24425
Ged Murphy [Fri, 6 Oct 2006 16:08:54 +0000 (16:08 +0000)]
implemented DeviceProperties_RunDLLW and DeviceProperties_RunDLLA
svn path=/trunk/; revision=24424
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
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
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
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
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
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
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
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
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
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
Christoph von Wittich [Wed, 4 Oct 2006 22:06:00 +0000 (22:06 +0000)]
-removed unused var
svn path=/trunk/; revision=24406
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
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
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
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
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
Thomas Bluemel [Wed, 4 Oct 2006 19:55:53 +0000 (19:55 +0000)]
Fix broken resources
svn path=/trunk/; revision=24400
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ged Murphy [Tue, 3 Oct 2006 22:43:46 +0000 (22:43 +0000)]
add LPCDLGTEMPLATE definition
svn path=/trunk/; revision=24383
Ged Murphy [Tue, 3 Oct 2006 20:51:35 +0000 (20:51 +0000)]
fix processor display
svn path=/trunk/; revision=24382
Thomas Bluemel [Tue, 3 Oct 2006 20:04:39 +0000 (20:04 +0000)]
Fix warning
svn path=/trunk/; revision=24381
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
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
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