- Improve definition of ExInterlockedCompareExchange64 and interlocked SList functions and improve some annotations based on native header
- Update processor feature constants
svn path=/trunk/; revision=67521
[BUILD]
msvc.cmake: Disable thread-local static initialization.
CMakeLists.txt: Disable PCH for VS2015.
configure.cmd: Make it aware of cl.exe version 19.x
[CPPRT]
Add alias for the new variants of the delete operators.
[BROWSEUI]
[MFIFS]
[FRAMEDYN]
[NDIS]
[DDK]
[PSDK]
[STLPORT]
Add explicit declarations of the new delete operators for those modules that don't use the WITH_RUNTIME option.
[WIDL]
[WPP]
Do not alias the snprintf family of functions to the _snprintf variants, since VS14 already declares them internally.
svn path=/trunk/; revision=67483
Fix the Interlocked function mess. Implement all Interlocked functions in xdk/interlocked.h as they exist in native. Use this header to generate wdm.h and winnt.h. Remove Interlocked definitions from winbase.h. Fix definition of ExInterlockedAddLargeInteger.
svn path=/trunk/; revision=67173
- Add missing KeMemoryBarrierWithoutFence, NUMBER_POOL_LOOKASIDE_LISTS, MM_SHARED_USER_DATA_VA, MM_EMPTY_PTE_LIST, MM_EMPTY_LIST, P*E_PER_PAGE, SESSION_POOL_LOOKASIDES, MiPdeToPte for ARM
- Fix KI_USER_SHARED_DATA for ARM based on native DDK
svn path=/trunk/; revision=67168
Implement parsing of SMBIOS tables to be able to apply hardware specific hacks. First hack fix attempt is on Microsoft VirtualMachine.
svn path=/trunk/; revision=66823
- Add mising wmiguid.h
- Fix parameter of IoWMIOpenBlock based on latest WDK
- Add a few missing constants to wmistr.h
svn path=/trunk/; revision=66813
- Move the VDD memory handler API prototypes to the corresponding DDK header.
- Fix few function arguments types and add few more comments :)
- Move all NTVDM-memory related functions to memory.c
- Prefer checking for !IsListEmpty(&list) instead of doing list.Flink != &list (ehh! NTVDM is not win32k!!)
svn path=/trunk/; revision=66669
- kernelspecs.h: Add IRQL level defines, remove a duplicate annotation and make some definitions more consistent
- concurrencysal.h: Add missing annotations (only dummies so far)
- driverspecs.h: Add some missing annotations
- sal_old.h: remove __inner_callback, which is in sal.h
svn path=/trunk/; revision=66654
- Make NT_ASSERT() give the MSVC static analyzer a hint that the condition can now be excpected to be true. This adds __analysis_unreachable(), which uses __assume(0) on _PREFAST_ builds. This is neccessary, since it seems impossible to make MSVC respect __analysis_noreturn / __declspec(noreturn) on an intrinsic prototype like __int2c().
svn path=/trunk/; revision=66642
- Add additional list entry checks that can be optionally enabled by defining EXTRA_KERNEL_LIST_ENTRY_CHECKS. These checks warn against attempts to remove items from an empty list, which can easily be an error (and is trivial to avoid where it's not).
- Enable these checks by default for ReactOS code
CORE-8419 #resolve
svn path=/trunk/; revision=66208
- Add list entry security checks equivalent to those in current WDKs. This is useful for ROS because it detects memory corruption very quickly.
CORE-8419
svn path=/trunk/; revision=66206
Add few VDD API prototypes:
- VDDReserve/ReleaseIrqLine to get a "lock" on an IRQ line (so that VDDs can check whether some IRQs are free or not).
- Add DMA services.
svn path=/trunk/; revision=65436
- Move FsRtl functions to fsrtlfuncs.h
- Improve formatting of a few macros
- Add missing NTKERNELAPI
- Add a "special" kind of "ASSERT" to ListEntry64To32
svn path=/trunk/; revision=64513
- Addendum to r64151
Complain on IRC, then complain on ros-dev, then steal fixes from your peers, then do as if nothing happened.
svn path=/trunk/; revision=64155
* Work around what looks like a bug in GCC's handling of #pragma redefine_extname. Its behavior regarding additional underscore prefixes depends on the order of pragma and symbol declaration with GCC, while it's consistent with Clang. Brought to you by Thomas Faber, reviewed by Timo Kreuzer.
CORE-8516
svn path=/trunk/; revision=64148
- Remove useless inline definition of InterlockedBitTestAnd(Re)Set, which was not used anyway.
- Update template for ntdef.h
svn path=/trunk/; revision=64046
Fix incompatible definition of a number of NTOSKRNL data imports. These imports are declared in MS DDK in a way that is usually not how you would declare data imports. The proper way of doing it is using _DECLSPEC_INTRIN_TYPE(dllimport) or in this case NTKERNELAPI, which will cause the compiler to directly dereference the __imp__FooBar symbol. MS has declared some of these variables directly as pointers without using dllimport. This works with MS DDK, since it's import libraries contain aliases (like _FooBar) to the import symbols (__imp__FooBar). Neither MS LINK nor DLLTOOL create these aliases in the import libs, which is good, since hacks like these are dangerous. To make the original declarations work without using macros (which can conflict with other things, like for example the KdDebuggerEnabled member in KUSER_SHARED_DATA) these aliases have to be generated differently. Luckily both MSVC and GCC support a pragma that does exactly this. Fix the incompatible use in our drivers and the broen(!) use of KdDebuggerEnabled in kdcom (which was writing a PBOOLEAN value (FALSE == 0 == NULL, so no warning) into the location that is really a BOOLEAN, possibly overwriting other data. Finally get rid of a number of hacks in ntoskrnl, where prefixed versions were used to not conflict with the DDK definitions.
svn path=/trunk/; revision=63247
[WMILIB] Don't put it in a cab file, so we can use it in first stage
[DDK/VDDSVC.H] use the 16 bit interface only on MIPS
[WINE/PORT.H] WIN32 -> _WIN32
[NTOSKRNL] KfAcquire/ReleaseSpinLock -> KeAcquire/ReleaseSpinLock
[NTOSKRNL] Make sure KeUpdateSystemTime returns properly on non-x86 builds
svn path=/trunk/; revision=63220
Merge the NTVDM branch back to trunk. New/changed components are: ntvdm, fast486, basesrv,
ntdll, kernel32 and csrsrv.
svn path=/trunk/; revision=63177
- Add missing _KEY_USER_FLAGS_INFORMATION
- Fix some FSCTL_* constants, add Win7/8 ones
- Sync DDK/XDK (just a reminder, you are supposed to fix XDK headers and simply regenerate the DDK headers from them)
svn path=/trunk/; revision=61567