- Change some infinite loops to ASSERTs since bugchecks now work and we can better differentiate stubs versus loops versus unimplemented code.
- Add back the system call debug prints -- total hack to make the stack work.
- Add support for the ARC Disk Information/Signature in FreeLDR.
- We've reached a major, major milestone here folks -- the kernel bugchecks because no boot device was found (since we don't have any working drivers yet).
- We have a lot of stuff to fix before continuing, and code review will take some time.
svn path=/trunk/; revision=34121
- Implement KiSaveProcessorControlState and make the appropriate changes to KPROCESSOR_STATE and KSPECIAL_REGISTERS on ARM to support this, as well as moving the ARM Register definitions from ntos to NDK.
- Implement RtlCaptureContext.
- With these changes, BSODs now work, but because of missing palette code, they are actually R(Red)SODs, which is awesome.
- Remove debug prints from system call code -- this ends up somehow corrupting the return values *sigh*. More work to be done there, defintely. We have now regressed but we have an RSOD.
svn path=/trunk/; revision=34120
- Rewrite Path handle support and reordered path.c.
- Wine Sync/Port PATH_WidenPath and PATH_DoArcPart. Wine Path test results: 151 tests executed (0 marked as todo, 24 failures). 3 skipped.
- Found where the use of SelectObject in DC_InitDC, placed nulls into hbrush and hpen, I comment out and used StockObject and now default drawing works.
- Implemented AngleArc and most of Arc. This is very experimental and it does draw and does not crash.
- Cleaned up some files with extra <CR> at the end of lines.
- Fully tested: Taskmgr, FF 1.5, Abiword, drawing programs, and all.
- Note: Path drawing is majorly misaligned. Fill path will draw in one area and Stroke path will draw in another.
- Note: Trunk: Gdi wine DC test: dc.c:89 Failed to lock hDC, sometimes locking up the system. See bug 3333.
svn path=/trunk/; revision=34119
- Properly set dwFirstChance member EXCEPTION_DEBUG_INFO structure returned by WaitForDebugEvent function.
- Properly handle dwContinueStatus parameter of ContinueDebugEvent function.
See issue #3393 for more details.
svn path=/trunk/; revision=34111
- Fix a major problem in pushlock implementation: if there are 2 or more
threads waiting for a lock, only one of them ever gets woken. ExfWakePushLock
is missing a break in its loop so it removes all the WaitBlocks instead of just
the last one.
- This fixes all "weird" hangs happening, including FF1.5 installer hang, VMWare Video Driver Installer hang, taskmgr tabs hang, and other similar problems.
See issue #3141 for more details.
svn path=/trunk/; revision=34092
- Fix a bug in FreeLDR-ARM, we forgot to set the RegistryLength, resulting in a corrupted registry. We can now load the system registry.
- Enable code to handle DPC, Timer and Deferred Ready cleanup (portable code that's already written).
- Enable code to handle quantum end.
- We now load all the way to IoInitSystem!IopInitializeBootDrivers.
svn path=/trunk/; revision=34091
- We use this in the clock ISR, that can now actually send the trap frame to KeUpdateSystemTime.
- Implement KeUpdateRunTime to handle time accounting and DPC rescheduling as well as Quantum End.
- Ignore quantum end for now.
- We now have a working timebase, and we're back to our earlier checkpoint around CmInitSystem1!.
svn path=/trunk/; revision=34088
- We do not yet handle all cases, most notably, timer expiration.
- There may still be some bugs to work out in the code, but it's a start.
- This regresses progress, but does not ignore time anymore.
svn path=/trunk/; revision=34084
- add support for preventing all commands to be run on the channel by default. Now TechBot only answers some of the commands in PM
- add back the error Command
svn path=/trunk/; revision=34079
- Fix a race condition in msgina, which occasionally led to hangs at "Loading your personal settings"
See issue #3384 for more details.
svn path=/trunk/; revision=34077
- Fix a bug in MmDeletePageTable.
- Use MmCreateVirtualMappingForKernel when we are already in the right process context, and allow it to be used for addresses < KSEG0_BASE as well.
- We now have full memory mapped file support, and get all the way to CmInitSystem1.
svn path=/trunk/; revision=34072