Commit Graph
8918 Commits
Author SHA1 Message Date
Thomas Faber d0fb55f564 [CMAKE]
- Enable C4189 (local variable initialized but not referenced) on MSVC builds and make it an error.
CORE-9676 #resolve

svn path=/trunk/; revision=67607
2015-05-09 22:44:52 +00:00
Aleksandar Andrejevic 6cba38d854 [FAST486]
If the executable bit of a segment descriptor is set, it's never a grow-down segment.


svn path=/trunk/; revision=67606
2015-05-09 21:56:40 +00:00
Aleksandar Andrejevic 93b0b74399 [FAST486]
Fix the order of operatins in RETF.


svn path=/trunk/; revision=67598
2015-05-08 03:43:31 +00:00
Aleksandar Andrejevic 7dbe9e8e67 [FAST486]
The "Call" parameter should be true for calls.


svn path=/trunk/; revision=67597
2015-05-08 02:30:28 +00:00
Aleksandar Andrejevic d28f0fd901 [FAST486]
Don't forget to check for gates in 16-bit protected mode too.


svn path=/trunk/; revision=67596
2015-05-08 01:34:18 +00:00
Aleksandar Andrejevic e37ae6f6bd [FAST486]
Support legacy (286) Task State Segments in Fast486InterruptInternal and Fast486CallGate.


svn path=/trunk/; revision=67593
2015-05-07 13:38:29 +00:00
Aleksandar Andrejevic 26ba3ae4f6 [FAST486]
The NULL selector is valid in the LDT.


svn path=/trunk/; revision=67592
2015-05-07 12:18:41 +00:00
Aleksandar Andrejevic dfb9b0ea42 [FAST486]
Add support for legacy (286) Task State Segments.


svn path=/trunk/; revision=67591
2015-05-07 03:22:18 +00:00
Ged Murphy 3dd1331f2c [ATL]
Add support for assigning CAtlString to WCHAR

svn path=/trunk/; revision=67581
2015-05-06 21:56:24 +00:00
Ged Murphy 41044145e2 [ATL]
Add skeleton support for CAtlStringW

svn path=/trunk/; revision=67579
2015-05-06 21:31:40 +00:00
Timo Kreuzer 1112c00ae0 [CPPRT]
Add some symbol aliases for ARM

svn path=/trunk/; revision=67564
2015-05-05 20:14:28 +00:00
Thomas Faber 6e72d71daa [C++]
- Add nothrow versions of new/delete operators
- Add <cassert>
- Fix a TODO and add missing dependency to <exception> header

svn path=/trunk/; revision=67555
2015-05-05 02:44:17 +00:00
Aleksandar Andrejevic 772a8d3918 [FAST486]
The parameter count is not pushed onto the stack for call gates.


svn path=/trunk/; revision=67547
2015-05-04 22:16:20 +00:00
Aleksandar Andrejevic ac4f5ac401 [FAST486]
- Implement call gates.
- Fix Fast486InterruptInternal and get rid of ugly hacks.
- Fix IRET (CS loaded too early).
- Add a structure definition for the 16-bit TSS (not supported yet).


svn path=/trunk/; revision=67545
2015-05-04 19:14:23 +00:00
Timo Kreuzer 344e771eb2 [CRT]
- Implement portable fabsf.c
- Move some ARM stubs to a better location
- Add stubs for __dtoi64, __i64tos, __u64tos, _clearfp

svn path=/trunk/; revision=67537
2015-05-03 18:15:19 +00:00
Timo Kreuzer 11a3512389 [ATL]
- Handle failure to allocate VM for thunk code
- Factor out the assembly thumk code, fix amd64 code and implement ARM code

svn path=/trunk/; revision=67535
2015-05-03 18:03:31 +00:00
Timo Kreuzer a1bc58aee7 [ATL]
- Convert tabs to spaces
- Remove excessive local variable indentation for alignment, since that doesn't help to improve readability
- No code changes

svn path=/trunk/; revision=67534
2015-05-03 15:10:09 +00:00
Aleksandar Andrejevic 1317139297 [FAST486]
Don't overwrite the masked flags in IRET.


svn path=/trunk/; revision=67533
2015-05-03 13:14:53 +00:00
Aleksandar Andrejevic 923efbbc4e [FAST486]
Properly check the limit for "expand down" segments.


svn path=/trunk/; revision=67528
2015-05-03 03:37:06 +00:00
Aleksandar Andrejevic a1e439008e [FAST486]
Update the copyright year (better late than never).
Push the error code inside Fast486InterruptInternal, to make the size of the
pushed value on the stack correct.
Update the CPL in Fast486TaskSwitch.


svn path=/trunk/; revision=67526
2015-05-03 01:45:57 +00:00
Timo Kreuzer 0100d8de0c [NTOSKRNL] Handle some more KeFeatureFlags in amd64/cpu.c and set RtlpUse16ByteSLists
[NTDLL] Set RtlpUse16ByteSLists
[RTL] Make use of RtlpUse16ByteSLists in x64 Interlocked SList functions

svn path=/trunk/; revision=67523
2015-05-02 22:20:59 +00:00
Timo Kreuzer e31acf630c [RTL]
- Implement C versions of RtlInterlockedPushEntrySList, RtlInterlockedPushListSList, RtlInterlockedPopEntrySList and RtlInterlockedFlushSList.
- RtlInterlockedPushListSList is fastcall, not stdcall

svn path=/trunk/; revision=67522
2015-05-02 22:20:38 +00:00
Timo Kreuzer 6223a53eb1 [CRT] Fix MSVC warnings
svn path=/trunk/; revision=67519
2015-05-02 22:19:31 +00:00
Aleksandar Andrejevic a4901dfae5 [FAST486]
When storing a segment selector, the operand size attribute is only ignored when
writing to memory (where it's treated as if it's always 16-bit).


svn path=/trunk/; revision=67512
2015-05-02 16:09:00 +00:00
Timo Kreuzer 9806b6c055 [CRT]
Implement _setjmp / longjmp on ARM

svn path=/trunk/; revision=67511
2015-05-02 14:07:28 +00:00
Timo Kreuzer dbdef0de20 [CRT]
Add stub for __i64tod and C++ wrappers for ARM

svn path=/trunk/; revision=67510
2015-05-02 12:48:50 +00:00
David Quintana fd81042a22 Note to self: review diffs and remove temporary changes BEFORE commiting (not after).
svn path=/trunk/; revision=67484
2015-04-30 22:09:11 +00:00
David Quintana 3933ca6bce This commit brings support for compiling ReactOS with Visual Studio 2015 RC (and possibly the final release).
[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
2015-04-30 21:48:26 +00:00
Timo Kreuzer a4df06a55c [CRT/KERNEL32]
Add some more ARM stubs

svn path=/trunk/; revision=67482
2015-04-30 21:07:08 +00:00
Timo Kreuzer 3a25ca3b5c [CRT]
Add a number of ARM 

svn path=/trunk/; revision=67481
2015-04-30 21:04:29 +00:00
Aleksandar Andrejevic 1160180478 [FAST486]
When a segment isn't present, the exception should always be #NP (unless
it was the stack segment, in which case the exception should be #SS).


svn path=/trunk/; revision=67479
2015-04-29 20:41:41 +00:00
Christoph von Wittich 68e04b629e spelling fixes
no code changes

svn path=/trunk/; revision=67465
2015-04-28 19:22:43 +00:00
Aleksandar Andrejevic 12c22c7748 [FAST486]
The segment loading/storing MOV is always 16-bit and ignores OPSIZE.


svn path=/trunk/; revision=67463
2015-04-28 00:56:56 +00:00
Christoph von Wittich a3d2dff6bc [CRT]
add ARM stub for chkstk_ms (Timo please review)

svn path=/trunk/; revision=67368
2015-04-23 12:27:08 +00:00
Aleksandar Andrejevic 3ced4390c5 [FAST486]
Fix compilation when FAST486_NO_PREFETCH is set.


svn path=/trunk/; revision=67341
2015-04-22 03:11:03 +00:00
Aleksandar Andrejevic 53abec3cb5 [FAST486]
Fix ENTER and LEAVE in the same way I fixed PUSH and POP in the previous 2 commits.


svn path=/trunk/; revision=67322
2015-04-20 02:22:56 +00:00
Aleksandar Andrejevic 399547ef48 [FAST486]
(Addendum to r67320) ... and that goes for POP too...


svn path=/trunk/; revision=67321
2015-04-20 01:25:04 +00:00
Aleksandar Andrejevic 08077d0820 [FAST486]
Whether stack operations use ESP or SP depends on the size of the stack segment.


svn path=/trunk/; revision=67320
2015-04-20 00:36:46 +00:00
Aleksandar Andrejevic 9eca3cf90b [FAST486]
Implement the 287-only instructions FSETPM and FRSTPM as nops. (This is how the 487
is supposed to treat them.)


svn path=/trunk/; revision=67317
2015-04-19 23:11:07 +00:00
Aleksandar Andrejevic 8083610a98 [FAST486]
Clear the CF and OF flags in AND, OR and XOR.


svn path=/trunk/; revision=67315
2015-04-19 22:34:12 +00:00
Timo Kreuzer 8d7d45ce07 [CRT]
Add ARM stubs for _abnormal_termination, _except_handler2, _except_handler3, _global_unwind2, _local_unwind2, __C_specific_handler, __CxxFrameHandler, __rt_srsh

[RTL]
Add ARM stubs for RtlGetCallersAddress, RtlDispatchException, RtlUnwind, RtlInitializeContext

[NTOSKRNL]
Add ARM stubs for READ/WRITE_REGISTER_*

svn path=/trunk/; revision=67294
2015-04-19 10:03:21 +00:00
Daniel Reimer e675ab0cb6 Fixing some incorrectly written Reactos -> ReactOS
CORE-7524 #comment Some less of these now.

svn path=/trunk/; revision=67239
2015-04-18 09:01:23 +00:00
Thomas Faber 22d1251dbc [LIBUSB]
- Make some compilers and static analyzers happy by removing a no-op condition. Patch by Samuel Serapion.
CORE-7214 #resolve

svn path=/trunk/; revision=67230
2015-04-17 18:27:16 +00:00
Timo Kreuzer 2ff3ef05ad [CRT]
Refactor the code for __rt_div to allow reusing it for __rt_sdiv64 and __rt_udiv64 and implement those as asm wrappers around worker functions (due to the calling convention they cannot be implemented fully in C)

svn path=/trunk/; revision=67195
2015-04-14 18:42:28 +00:00
Timo Kreuzer 0e17cbc7b8 [CRT]
Implement __rt_sdiv as a wrapper around the unsigned divide (now factored out into an inline worker function)

svn path=/trunk/; revision=67179
2015-04-12 18:07:19 +00:00
Timo Kreuzer 59f40e274f [CRT]
Implement __rt_udiv in C.

svn path=/trunk/; revision=67178
2015-04-12 17:08:11 +00:00
Timo Kreuzer c45766ee82 [REACTOS]
Fix usage of interlocked[Compare]ExchangePointer. These functions take a PVOID* as first parameter and nothing else. In native headers they are inline functions, not macros.

svn path=/trunk/; revision=67171
2015-04-12 12:24:01 +00:00
Timo Kreuzer 89f99d7458 {RTL/ASM]
Fix ARM build

svn path=/trunk/; revision=67162
2015-04-11 12:47:29 +00:00
Timo Kreuzer 29552a8cd5 [CRT]
Add asm stubs for some ARM math functions

svn path=/trunk/; revision=67161
2015-04-11 12:44:55 +00:00
Timo Kreuzer 7410f3a036 [FAST486]
Fix MSVC warnings

svn path=/trunk/; revision=67146
2015-04-10 22:36:13 +00:00