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
- give GDI_OBJECT_TYPE_EXTPEN a sizeof(GDIBRUSHOBJ) and EXTPEN_Cleanup function in GDI_OBJ_INFO table
- define PENOBJ_AllocExtPen, PENOBJ_FreeExtPen, PENOBJ_LockExtPen needed by IntGdiExtCreatePen
- create A Tag for extpen for tagged pool that holds style dwords
- implement IntGdiExtCreatePen
- implement EXTPEN_Cleanup, freeing the stylebuffer
- implement NtGdiExtCreatePen
- make CreateStockObjects, NtGdiCreatePen(Indirect) call IntGdiExtCreatePen
- remove IntGdiCreatePenIndirect
svn path=/trunk/; revision=26619