- Add cmconfig.c and implement a helper routine that converts from ARC CONFIGURATION_COMPONENT_DATA to a Hardware Description entry and resource descriptor.
- Fix outdated _CONFIGURATION_TYPE definition in our DDK.
svn path=/trunk/; revision=26677
- This doesn't do much but clean up some of our code to make it easier to see what the critical parts are and reduce bug surface exposure.
- Move and slightly reformat (without touching any of the actual code) registry callback/notification code to cmhook.c.
svn path=/trunk/; revision=26671
- Remove all NTLDR-style profile code from cmsysini.c, since ReactOS doesn't support it, and there's no use lugging that code around.
- Rename CmpCreateCurrentControlSetLink to CmpCreateControlSet.
- Get rid of CmiCreateCuttenControlSetLink and use the new version instead, which also supports setting the right current Hardware Profile ID.
svn path=/trunk/; revision=26670
- No actual code/implementation changes per-se, simply moved code into new routines, deleted old routines, renamed some routines and added more error-checking.
- Also performed registry initialization in an order more analogous to Windows.
- Added cmsysini.c from the branch, but it's not used at the moment.
svn path=/trunk/; revision=26669
- New code uses cmlib from Filip Navara without any modification, and is fully compatible with reading Windows hives as well except XP's "Big value cells" (cells with > 2GB data) which aren't supported.
- Create /config directory where the new Configuration Manager code lies.
svn path=/trunk/; revision=26666
2) Make KeRosDumpStrackFrames use KiPcToFileHeader instead of KiRosPrintAddress. The end result is the same but we don't recursively bugcheck anymore during Phase 0 bugchecks :)
svn path=/trunk/; revision=26665
- We now print out error messages at each SESSIONX_INITIALIZATION_FAILURE directly on the screen.
- Build CmNtCSDVersion to include SP1 and our SVN Revision number.
- Build CmNtSpBuildNumber with the actual SP1 build number.
- Detect Headless Terminal usage.
- Build and create the CmVersionString.
- Display a startup banner similar to Windows based on the CmVersionString, also indicating the SVN revision.
- Fix some bugs in the timezone code.
- Display a second startup banner like Windows's, displaying memory and CPU counts.
- Add calls to initialize RANGE_LISTs, the Prefetecher, XIP Support and Phase 2 Executive Initialization.
- Parse the command line to detect /SAFEBOOT: switch and which type of safe mode boot this is.
- Display an optional third startup banner showing which safemode boot type this is.
- Detect /BOOTLOG switch and display a fourth startup banner if it's enabled, but don't initialize boot logging yet.
- Don't allow driver loading to push the progress bar beyond 75%.
- Write safe-boot type to registry, detect AlternateShell mode and validate that one is configured.
- Write MININT key to registry if booting in WinPE (LiveCD) mode.
- Don't leak smss environment and parameters anymore.
- Cleanup and reformat some code, use VER_ constants instead of magic numbers.
svn path=/trunk/; revision=26659
- Add hdlsterm.c for Headless Terminal Support and a stub function to detect if anyone is trying to do this.
- Add xipdisp.c for eXecute-In-Place Support and add a stub function to detect if anyone is trying this, as well as get various supported command line settings.
- Try to find XIP Memory Descriptor if one was given.
- Get Power Event callback from Win32k in PsEstablishWin32Callouts.
- Notifiy System Time Change callback with PoNotifySystemTimeSet.
- Add safemode and bootlog Message IDs.
svn path=/trunk/; revision=26658
- Use cleaner, inlined definitions for ExAcquire/ReleaseResourceLock.
- Convert ERESOURCE code to use a Queued In-Stack Spinlock instead of a regular spinlock.
- Force usage of the spinlock instead of cli/sti for DBG builds, and enable strict sanity checks.
- Fix incorrect check in ExpCheckForApcsDisabled.
- Properly handle memory starvation in the contended path.
- Make sure to allocate a semaphore if needed during ExAcquireSharedStarveExclusive.
- Fix multiple bugs in ExIsResourceAcquiredSharedLite.
- ExReleaseResourceForThreadLite didn't always properly set the ResourceOwnedExclusive flag, and didn't validate ownership.
- ExSetResourceOwnerPointer wouldn't set the owner if there wasn't one already.
svn path=/trunk/; revision=26654
- Add common headers to all xCB structures.
- All development is being done according to Rajeev Nagar's book and some parts are inspired by its accompanying FSD sample.
svn path=/trunk/; revision=26636