On MSVC mark abs, labs and strcmp as intrinsics (needed when compiling with /O2+) and disable a warning that they are not intrinsics (when compiled with /O1)
svn path=/branches/cmake-bringup/; revision=50494
On MSVC builds, compile native SEH support into PSEH library.
This should be part of the crt, but our crt is too disorganized to handle that. The empty C file is for cmake to get the library right.
svn path=/branches/cmake-bringup/; revision=50486
Refactor IDL compilation:
- Move all macros to idl-support.cmake
- Make rpc proxy a static library, instead of fiddeling with SOURCE variable
- Merge client and server rpc libraries into one library
- Reorder global makelist file a little
- Improve configure script
- Improve naming, use add_* when a target is added, generate_* when only a file is generated
- Don't compile wbemcli.idl on MSVC (temp hack)
- Don't compile rossym on MSVC, we don't use it
- Use ml64 as assembler when compiling for amd64
- fix spec2def invocation
svn path=/branches/cmake-bringup/; revision=50478
- 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
- _mingw.h: Fix definition of _CRT_ALIGN for MSVC
- intrin.h: _InterlockedAddLargeStatistic is not an intrinsic on MSVC for x64
- intrin.h: Fix return type of _InterlockedOr64
- wdm.h: Fix warnings in KfRaiseIrql and RtlExtendedMagicDivide inline implementations
- winnt.h: Simplify definition of GetCurrentFiber
svn path=/branches/cmake-bringup/; revision=50470
- 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
The function dexec uses the varable p only in one location where its checked against nil, It neither initialized, not used anywhere else. This is probably a typo and b->p was meant. Yes I'm completely guessing, but this code doesn't give any other chance then guessing and it will probably not be worse then using an uninitialized variable...
@original author: please review.
svn path=/branches/cmake-bringup/; revision=50450