- Refactor some multiply used overly complex expressions into human readable variable names
- Output some useful debuginfo when an import could bot be resolved
svn path=/trunk/; revision=56247
- Fix implementations of AcpiOsWaitSemaphore and AcpiOsAcquireMutex to obey the caller's demands to not block if requested
svn path=/trunk/; revision=56245
- Fix a stupid string comparison mistake that lead to false positives in the duplicate device detection (1 and 10 detected as conflict)
svn path=/trunk/; revision=56243
- Add *PNP0A08
[ACPI]
- Handle the PNP0A08 in a couple of missed cases
- Finally, PCI should work on systems that use the new PNP0A08 ID for identifying a PCI Express root bus
svn path=/trunk/; revision=56242
- Set DN_DISABLEABLE if the device can be disabled
[NEWDEV]
- Remove a hack needed because DN_DISABLEABLE was never set
svn path=/trunk/; revision=56241
- Add PNP0A08 as an alias for the PCI bus (more commonly known as PNP0A03)
- Should fix numerous PCI regressions on various machines since switching to ACPI (and the further regression of breaking boot since VBE is now PnP)
svn path=/trunk/; revision=56238
- Rewrite coordinate transformation code to use XFORMOBJ apis instead of using floating point in kernel mode. As a small present fix 14 gdi32_winetests (5 mapping, 9 bitmap)
I disabled some RtoL code, since it didn't work anyway and caused more bugs than it fixed.
svn path=/trunk/; revision=56236
- It appears ros wasn't ready for properly handling page faults with interrupts disabled, disable bugcheck and warn and dump stack instead for now.
- Make KeRosDumpStackFrameArray and KdbSymPrintAddress safe to use at elavated IRQL -- don't use Unicode formats for DbgPrint at possible elavated IRQL/interrupts disabled as this may generate a page fault. Safely convert to ANSI instead before printing out the address.
svn path=/trunk/; revision=56235
- Fix a crazy bug in KiTrap0EHandler, it didn't enable interrupts unless it trapped when interrupts were already disabled (during a page fault during page fault handling, for example). This seems to have worked because the old non-newcc version of MiReadPage appears to rely on a page fault to bring the paged out page in. Thanks Timo.
svn path=/trunk/; revision=56234
[NTOS]: Expand system space view buckets when they are running low.
[NTOS]: Support SEC_BASED section creates and mappings, implement based VAD parsing.
[NTOS]: Support section mappings at a fixed base address and check for conflicts.
[NTOS]: Define 8 prioritized standyby lists and initialize them. Also define the modified page list.
[NTOS]: Support mapping with SEC_COMMIT less than the entire size of the section.
[NTOS]: Detect and assert if ARM3 sections are attempted to be unmapped, since this isn't supported yet.
[NTOS]: Clean up some DPRINTs and clarify ARM3 ASSERTs vs. Windows ASSERTs.
svn path=/trunk/; revision=56232
- Implement proper use of alternate resource requirement lists
- Implement the case to set DN_NO_SHOW_IN_DM
- Implement reporting more problem codes: CM_PROB_NEED_RESTART, CM_PROB_FAILED_DRIVER_ENTRY, CM_PROB_FAILED_DRIVER_ENTRY, CM_PROB_DRIVER_FAILED_LOAD, CM_PROB_WILL_BE_REMOVED, CM_PROB_HELD_FOR_EJECT, CM_PROB_TRANSLATION_FAILED, and CM_PROB_NORMAL_CONFLICT
svn path=/trunk/; revision=56231
- Fix running RtlGetFullPathName_UstrEx test from drive root
- Add a test for RtlGetFullPathName_U based on the same test cases
svn path=/trunk/; revision=56230
- Fix right-to-left support the new EngBitBlt code
- Remove an ASSERT that we don't support
- Fix clipping in IntEngBitBlt by bailing out when the target rect got empty
- Delete obsolete file
You can use the code now, but there is a bug in the clipping code somewhere, sometimes causing the taskbar to be overwritten
svn path=/trunk/; revision=56224
- Add support for pattern brushes and bottom-to-top blt in new EngBitblt
- implement a new much simpler EngCopyBits
- improve clip enumeration code
The code now generally works very well now, only has a few bugs left
svn path=/trunk/; revision=56219
- Implement support for bottom up bitblt
- Add solid pattern support in generic BitBlt function
- Make sure right-to-left is only used in the appropriate functions
- Fix 1bpp _NextPixel() macro
svn path=/trunk/; revision=56218
- Do not overflow the uncommitted range descriptor segment. Really fixes notepad.
- Free the correct region in failure case
- Some comment fixes
See issue #6966 for more details.
svn path=/trunk/; revision=56217
- Add a trivial XLATEOBJ as a global variable.
- Make sure the XLATEOBJ is not NULL, when calling the diblib code
- Remove the IntEngMaskBlt stub, its a very special function for font rendering, keep the old one
- Add more driver debug assertions
- Remove obsolete definition
svn path=/trunk/; revision=56216
- Implement spacial even more optimized versions of SRCCOPY on equal surfaces for 8,16,24 and 32bpp.
- Add the right-to-left versions to the function tables
- Add _CALCSHIFT macro(s) to calculate the shift in the dib functions, instead of precalculating it in EngBitBlt. This costs us a few bytes per function (yes, with so many functions, every byte counts!) but since it's only for 1 and 4 bpp and improves the code by keeping DIB specific code out of the Eng function, it's reasonable to do so.
- Add optional optimization pragmas
svn path=/trunk/; revision=56212
- Apply fixes from Wine 1.4. Fixes invalid free in notepad and other edit control users
See issue #6966 for more details.
svn path=/trunk/; revision=56210
- Once again require a reboot for driver replacement since this seems to cause new issues with devices being enumerated multiple times on vmware
svn path=/trunk/; revision=56206
[NTOSKRNL]
- Bugcheck if a driver reports a PDO with a non-unique instance ID
[ACPI]
- Check that we're not reporting the same device multiple times
svn path=/trunk/; revision=56204
- Create PnpRootRegisterDevice which is used to register a given PDO with the root device so it won't report it twice
- Listing devices by connection works with PCI HAL now but it seems that ACPI is detecting multiple ACPI\PNP0C0F\0 instances here in vbox which is causing the same infinite loop
svn path=/trunk/; revision=56200