- Check for some untested pool calculations.
- Handle paging-in the page tables when needed.
- Setup paging colors based on L2 cache size/associativity.
- Setup system PTE size earlier.
svn path=/trunk/; revision=44903
- Patch by Dan Kegel: Fix minor read buffer overrun in CombineRgn. http://bugs.winehq.org/show_bug.cgi?id=20851
- When locking and unlocking regions, use probe to check attribute space first before read or write access.
svn path=/trunk/; revision=44902
- KxAcquireSpinLock: check for already owned lock only on debug builds, fix check in inner loop, don't call Kii386SpinOnSpinLock inside the inner loop, but instead of it, simplify the code
- stubplement Kii386SpinOnSpinLock in C
svn path=/branches/ros-amd64-bringup/; revision=44886
[BOOTDATA]: Add NMIDEBUG.SYS to the BOM and registry hive.
This is the last patch for NMI support. It is up to you to leverage this feature as needed through the NMIDEBUG.SYS driver.
svn path=/trunk/; revision=44879
[NMIDEBUG]: Add new NMI Debug driver. It registers an NMI callback on startup. The callback does nothing useful at the moment, but you can enhance it to add all sorts of debugging information that would otherwise be unavailable in situations such as an interrupt storm, IRQL hang, etc. When you send an NMI, such as by using QEMU, you should see the driver print a string.
svn path=/trunk/; revision=44878
[NTOS]: Implement KeRegisterNMICallback.
[NTOS]: Call and implement KiHandleNMI to call all registered NMI callbacks and potentially resume from the NMI if handled.
svn path=/trunk/; revision=44877
- Implement registering hardware events (volume / mute control changes)
- Fix a bug when querying a source mixer line. The wrong line id was passed which caused the call to fail.
svn path=/trunk/; revision=44872
[NTOS]: Write barebones NMI Trap handler which does a TSS context switch to the NMI TSS and then calls the HAL NMI handler.
[NTOS]: Implement KiSaveProcessorState for doing a PRCB context save/restore.
You should now be able to test the new NMI functionality by either building the circuit referenced in my e-mail and attaching it to your PCI bus, or by using "nmi 0" in the QEMU stdio console.
svn path=/trunk/; revision=44871
[NTOS]: Implement a GNU Assembler version of the Windows SDK ASM calling convention macros. Only stdCall and its helpers have been written -- feel free to write the rest. Based on callconv.inc from Microsoft). SUGGESTION: Slowly start rewriting current code to use calling convention macros as it is much cleaner.
svn path=/trunk/; revision=44868