- 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
[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
[HAL]: Piggyback on V8086 handler (don't restore kernel GPF handler) during an NMI, so that we don't enter another fault context during a recursive NMI after display reset. If another NMI does happen, the V8086 GPF handler will just spin.
svn path=/trunk/; revision=44862
[NTOS]: Improve UNHANDLED_PATH macro with a new "Reason" parameter which displays why the path is unhandled (ie: what the unexpected/unlikely/untested scenario is). This is better than just displaying the current PC which is typically useless.
[NTOS]: Separate UNHANDLED_PATH from UNHANDLED_V86_PATH which is specifically for paths that are unimplemented due to lack of VDM support.
[HAL]: Update to new macros in V8086 support, and handle invalid opcode errors with a debug print (I encountered these when the NMI TSS was being used, since the IOPM was invalid).
[HAL]: If the V8086 GPF handler is called outside of V8086 mode, assume an NMI happened around the BIOS Call and just spin forever. We'll piggyback on the V8086 GPF handler during an NMI, in order to avoid the kernel's GPF handler which would attempt to panic/reset the display again (and cause endless NMI recursion/corruption).
svn path=/trunk/; revision=44861
[HAL]: Use Mm headers to support PTE/PDE address translation instead of a hardcoded, homegrown macro. WARNING: The current HAL code is not PAE compatible (as it already wasn't).
[NTOS]: Define an inline function to set and query an interrupt handler associated with a given IDT vector. This results in much cleaner code as the uglyness of manually setting up an IDT handler isn't duplicated 10 times. Additionally, it fixes some callers which had not been using HalVectorToIDTEntry to make the initial translation.
svn path=/trunk/; revision=44855
- Add missing string resources and translate the german ones.
- Set the focus to the combobox when the details page is opened.
- Don't display an error message when a property is not set for the selected device.
- Display 'Capabilities' and 'Config Flags' as DWORD values.
Ooops! These should have been committed as well.
svn path=/trunk/; revision=44854
- Add missing string resources and translate the german ones.
- Set the focus to the combobox when the details page is opened.
- Don't display an error message when a property is not set for the selected device.
- Display 'Capabilities' and 'Config Flags' as DWORD values.
svn path=/trunk/; revision=44853