- Only update the System Page Directory when expanding the paged pool. Fixes the PointerPde asserts.
On paged pool expansion, the system page directory and the process page directory of the calling process were updated.
When updating the process page directory, an assert made sure the PDE that got written was invalid.
In case of the System process, both page directories are located on the same physical page.
So when this process expanded the paged pool, the system page directory update automagically
updated the process page directory too. The assert therefore triggered.
Not explicitly updating the process page directory will result in a page fault later on, which is
handled by copying the required PDE from the system page directory to the process page directory.
Rumour has it this fix is incorrect because "something's wrong with the System PDE stuff". The lack
of any further info however leads to this change and explanation.
svn path=/trunk/; revision=50475
Check if the whole pipe name fits into the return buffer. Return STATUS_BUFFER_OVERFLOW if it does not fit and copy only a part of the file name in this case.
svn path=/trunk/; revision=50474
- Implement CMP_WaitServicesAvailable().
- CM_Get_First_Log_Conf_Ex(): Create a LOG_CONF_INFO struct only if plcLogConf is not NULL.
svn path=/trunk/; revision=50461
MiAddressToPte translates a virtual address to the corresponding PTE, MiAddressToPde to the corresponding PDE. MiPteToAddress is the inverse of MiAddressToPte and translates from a PTE to the virtual address. MiPdeToAddress broke this scheme and didn't calculate the corresponding virtual adress, but the adress of the page table. Fix this inconsistency by renaming the macro to MiPdeToPte and adding a fixed MiPdeToAddress. All references fixed accordingly.
svn path=/trunk/; revision=50458
- Implement _mm_sfence, _mm_lfence, __faststorefence (for amd64)
- Don't use __sync_synchronize() for _ReadWriteBarrier, as it issues an mfence instruction and this is not what we want
- Remove "BUGBUG" comment, because the fact that _ReadBarrier and _WriteBarrier are full (compiler) barriers isn't critical.
svn path=/trunk/; revision=50456
Initialize only the required parts of the return buffer. This will enable the driver to return information about multiple pipes in a single request.
svn path=/trunk/; revision=50452
Fix CreateIcon and CreateIconIndirect. Fixes user32_winetest:cursoricon. (Yes we execute less tests, but that is correct! wine probably only passes these tests by chance)
svn path=/trunk/; revision=50408
- Remove conditional redefine of DPRINT. Wine debug channels at this point, and we have NDEBUG.
- Use TRACE instead of DbgPrint. Gets rid of the "Status 2" spam when no static nameserver is in the registry.
svn path=/trunk/; revision=50384