Commit Graph
8842 Commits
Author SHA1 Message Date
Thomas Faber 5dfd2fc11e [CPPRT]
- Implement __CxxFrameHandler3 as a wrapper around __CxxFrameHandler that translates VC8-style function exception descriptions to VC7-style. This is necessary to make C++ exceptions work on Windows Server 2003, because msvcrt!__CxxFrameHandler does not support VC8 descriptors there.
CORE-9290 #resolve

svn path=/trunk/; revision=66503
2015-02-28 21:03:04 +00:00
Jérôme Gardou 52a5043b98 [RTL/DPH]
- Do not merge memory blocks if they don't belong to the same VM "region" (ie not allocated from the same NtAllocateVirtualMemory call)
Fixes failures of ZwProtectVirtualMemory calls.
Bugs see DPH rollin', they hatin'

svn path=/trunk/; revision=66336
2015-02-17 15:08:47 +00:00
Thomas Faber b3038d2a51 [TDILIB][IPHLPAPI][WSHTCPIP]
- Request only the access rights that are actually required in openTcpFile. Fixes many should-be access denied errors originating from netshell. While this doesn't fix the root cause of CORE-9172, it is a required step if we ever want netshell to work for non-Admin users.
CORE-9172

svn path=/trunk/; revision=66300
2015-02-15 17:57:34 +00:00
Timo Kreuzer ee423a157c [LIBS]
Fix some MSVC warnings (and potential bugs) regarding signed/unsigned comparison.

svn path=/trunk/; revision=66286
2015-02-15 11:24:52 +00:00
Thomas Faber a3e8496b8d [RTL]
- Implement RtlIpv4StringToAddressExW. Patch by Mark Jansen.
CORE-6490

svn path=/trunk/; revision=66270
2015-02-14 19:14:32 +00:00
Aleksandar Andrejevic 7ffd32d418 [FAST486]
Implement Fast486FpuMultiply properly.


svn path=/trunk/; revision=66216
2015-02-10 17:29:26 +00:00
Thomas Faber f3b718e042 [RTL]
- Implement RtlIpv4StringToAddressW. Dedicated to Jérôme. Thanks to the countless reviewers.
CORE-6490

svn path=/trunk/; revision=66189
2015-02-07 13:24:29 +00:00
Thomas Faber 16c8f0601d [RTL]
- Implement RtlIpv4StringToAddressA and RtlIpv4StringToAddressExA using their -W counterparts
CORE-6490

svn path=/trunk/; revision=66187
2015-02-07 10:07:24 +00:00
Aleksandar Andrejevic af6093b4a5 [FAST486]
Implement FRNDINT.


svn path=/trunk/; revision=66170
2015-02-05 01:03:09 +00:00
Aleksandar Andrejevic ec76f48f58 [FAST486]
Implement FDECSTP, FINCSTP and FXTRACT.


svn path=/trunk/; revision=66156
2015-02-04 03:22:48 +00:00
Hermès Bélusca-Maïto 6af8dff1f8 [FAST486]: Use a more "regular" syntax (i.e. understandable by other compilers than GCC).
svn path=/trunk/; revision=66155
2015-02-04 03:12:03 +00:00
Aleksandar Andrejevic 0027e5a95a [FAST486]
Implement FCHS, FABS, FTST, FXAM, FLD1, FLDL2T, FLDL2E, FLDPI, FLDLG2, FLDLN2 and FLDZ.


svn path=/trunk/; revision=66154
2015-02-04 02:47:13 +00:00
Aleksandar Andrejevic f0d5e95467 [FAST486]
Add stubs for the remaining FPU instructions. Implement FNOP.


svn path=/trunk/; revision=66151
2015-02-03 03:26:59 +00:00
Hermès Bélusca-Maïto 434111e8b0 [CMLIB]: Whitespace fixes only.
svn path=/trunk/; revision=66140
2015-02-01 14:39:35 +00:00
Hermès Bélusca-Maïto b799bbb859 [RTL]
- Whitespace files.
- Add missing PSEH inclusion (that can be detected if one comments the objbase.h include in rtl.h ...)

[MKHIVE]
Code cleanup + add a comment to explain what this ntoskrnl.h file is.

svn path=/trunk/; revision=66138
2015-02-01 13:33:06 +00:00
Aleksandar Andrejevic 6af9d3e24c [FAST486]
Implement FLDENV and FRSTOR.


svn path=/trunk/; revision=66134
2015-01-31 22:47:05 +00:00
Aleksandar Andrejevic 8c1b044a8c [FAST486]
Implement FSTENV and FSAVE. Keep track of the last FPU instruction and operand.


svn path=/trunk/; revision=66131
2015-01-31 21:34:56 +00:00
Aleksandar Andrejevic 73f35d3ca1 [FAST486]
Implement FST/FSTP for single reals.


svn path=/trunk/; revision=66126
2015-01-31 16:13:40 +00:00
Amine Khaldi 484fabea89 [CRT] Fix handling of TLS data. Found by the syzygy folks. CORE-9071
svn path=/trunk/; revision=66060
2015-01-19 12:29:18 +00:00
Amine Khaldi 549a3d8b04 [RTL] Apply Wine commit cffd86f by Qian Hong: Make RtlAddVectoredExceptionHandler hotpatchable.
svn path=/trunk/; revision=66058
2015-01-19 12:06:17 +00:00
Aleksandar Andrejevic fc8f7e53b2 [FAST486]
Fix FPU exceptions (again).


svn path=/trunk/; revision=65966
2015-01-03 22:24:40 +00:00
Aleksandar Andrejevic 44c816e20c [FAST486][NTVDM]
Use an external interrupt for the FPU when the NE bit of CR0 is cleared.


svn path=/trunk/; revision=65961
2015-01-03 15:16:41 +00:00
Aleksandar Andrejevic f122f72179 [FAST486]
Fix a bug in UnsignedDivMod128.


svn path=/trunk/; revision=65946
2015-01-03 03:52:50 +00:00
Aleksandar Andrejevic d8f89bc80c [FAST486]
Halfplement floating point division.
Halfplement opcode 0xD9.


svn path=/trunk/; revision=65945
2015-01-03 03:26:31 +00:00
Aleksandar Andrejevic 39d88ba65b [FAST486]
Implement the FWAIT instruction.
Fix FPU exception handling. Implement exception masking.
Fix several other bugs and wrong definitions.


svn path=/trunk/; revision=65942
2015-01-02 21:19:31 +00:00
Aleksandar Andrejevic 3e9c5864e7 [FAST486]
Split the D8/DC opcode handler into two handlers to eliminate the extra branch.
Implement opcode DF (New instructions: FBLD and FBSTP).


svn path=/trunk/; revision=65940
2015-01-02 18:29:30 +00:00
Aleksandar Andrejevic 19116d3a60 [FAST486]
Fix several serious bugs in Fast486FpuToInteger.
Halfplement opcode 0xDD (everything except FRSTOR and FSAVE).
Cleanup the code a little bit.


svn path=/trunk/; revision=65935
2015-01-01 22:51:21 +00:00
Aleksandar Andrejevic cc0c2313c3 [FAST486]
Implement opcode 0xDE (New instructions: FADDP, FMULP, FCOMPP, FSUBRP, FSUBP, FDIVRP and FDIVP).
Fix a bug in the 0xD8/0xDC opcode handler.


svn path=/trunk/; revision=65934
2015-01-01 19:20:44 +00:00
Aleksandar Andrejevic 62af7c6673 [FAST486]
Implement opcode 0xDA (FIADD, FIMUL, FICOM, FICOMP, FISUB, FISUBR, FIDIV, FIDIVR and FUCOMPP).


svn path=/trunk/; revision=65933
2015-01-01 18:05:45 +00:00
Aleksandar Andrejevic d89cf74100 [FAST486]
Finish implementing FPU opcode 0xDB (FILD, FIST, FISTP, FLD, FSTP).


svn path=/trunk/; revision=65927
2015-01-01 04:25:09 +00:00
Hermès Bélusca-Maïto 7dc70b785f Fix the fix of the fix (yes, really!) Also, Hervé, I'm not really convinced you need to upcase the first letter in the RtlPathTypeDriveAbsolute case. Can you recheck that (and if unneeded, remove the commented line)?
svn path=/trunk/; revision=65535
2014-11-30 12:06:58 +00:00
Hermès Bélusca-Maïto e077e546cd Fix the fix.
svn path=/trunk/; revision=65534
2014-11-30 11:56:36 +00:00
Hermès Bélusca-Maïto 20ac78114f [RTL]: RtlGetFullPathName_Ustr: Do not upcase the drive letter in the source string (that should not be modified), but use a temporary variable.
svn path=/trunk/; revision=65533
2014-11-30 11:53:19 +00:00
Hervé Poussineau a198ec0538 [RTL] Upcase drive letter in RtlGetFullPathName_Ustr
svn path=/trunk/; revision=65532
2014-11-29 21:56:14 +00:00
Hervé Poussineau 62f368b666 [RTL] Add some missing UNIMPLEMENTED
svn path=/trunk/; revision=65531
2014-11-29 21:44:11 +00:00
Amine Khaldi 3be4abc045 [RTL] Import Wine commit f87767b by Piotr Caban: Handle ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID flag when opening manifest in RtlCreateActivationContext.
svn path=/trunk/; revision=65511
2014-11-28 19:20:39 +00:00
Amine Khaldi 5c1a8109c8 * The Shell.. for a long time we dreamed of having a compatible, properly working rewrite, but it's easier said than done. Over the years this effort has been split into tasks, and this branch was the biggest overall. Now it's time to merge it back to trunk!
* This merge is also a chance to thank every single person involved directly and indirectly in this epic work, among them: Martin Fuchs for ReactOS explorer which we are respectfully retiring now, as it served the project so well over all these years. Thomas Bluemel (Thomas Weidenmueller aka w3seek) for his brave work on the shell, mainly his explorer_new. Andrew Hill for advancing the shell bringup with some impressive work. David Quintana, Giannis Adamopoulos and Huw Campbell for working as a solid team on making this branch a huge success, allowing the shell rewrite dream to finally become a reality. Again, thank you all!
* Merging this branch is not the end.. it's the beginning of some serious bug fixing based hopefully on the Community's continuous feedback.
* Finally, here are *some* of the highlights of this branch (simply put):

[BROWSEUI] Halfplement the address bar. Mostly implement the Favorites menu. Implement handling most hotkeys that should be handled by CShellBrowser. Fix various bugs.

[EXPLORER_NEW] Convert to C++ and use several wtl-like classes to simplify it. Fix several bugs and implement misc missing features.

[FILEBROWSER] A small exe file that opens a new file browser window in its own process. Tested to work in windows. It can be used to test our browseui.dll in windows.

[FONTS] A new marlett font.

[MSGINA] Add a proper shutdown dialog that's used when the user selects shutdown from the start menu (this is how it's done in Windows).

[RSHELL] A temporary module that hosts the implementation of the following classes needed for the shell: CMenuBand, CMenuDeskBar, CMenuSite, CMergedFolder, CStartMenu. These were implemented and tested in windows and for that reason they are still there. Should be moved in shell32 in the future.

[SHELL32] Reorganize files to isolate the ones that are not yet forked from wine. Fix various problems. Simplify the implementation of some shell folders. Implement filling in the file menu in the file browser.

[STOBJECT] A shell extension responsible for misc taskbar notification icons. So far only the sound icon is implemented. Adding this is necessary as the old explorer had the sound icon built in and deprecating it needs a proper solution for these notification icons.

[WIN32K] Fix several bugs that prevented the new start menu (that was implemented and tested in Windows) from functioning properly in ReactOS, mostly due to focus issues. Fix several shell notifications to behave more like in Windows.

* Tonight! We shall feast!
* And tomorrow the US guys shall feast again, on turkey! :p

CORE-7330

svn path=/trunk/; revision=65496
2014-11-26 19:49:18 +00:00
Hermès Bélusca-Maïto 0f5d768793 [KERNEL32]
- Fix a misspelling.

[NTDLL]
- Fix the prototypes of RtlFormatMessageEx(Ex), this fixes strange apps kills when they use FormatMessage[A/W] with win2k3 kernel32 (that uses internally RtlFormatMessage to do the job).

svn path=/trunk/; revision=65450
2014-11-22 23:13:41 +00:00
Aleksandar Andrejevic 9f8411bf3a [FAST486]
- Fix interrupts in V86 mode.
- CLI and STI should call Fast486GetCurrentPrivLevel in their IOPL check, since it
  always returns 3 if the VM flag is set.


svn path=/trunk/; revision=65447
2014-11-22 16:33:47 +00:00
Hermès Bélusca-Maïto e9b8b6f597 [FAST486]: Fix a comment and use the TOGGLE_OPSIZE macro.
svn path=/trunk/; revision=65446
2014-11-22 16:23:59 +00:00
Aleksandar Andrejevic 6ad2881080 [FAST486]
Attempt to write the value to the stack before subtracting from the actual ESP register
in Fast486StackPush.


svn path=/trunk/; revision=65441
2014-11-21 09:46:57 +00:00
Hermès Bélusca-Maïto 8e44d4d4af [URTL]: Fix whitespace plus misspelling.
svn path=/trunk/; revision=65439
2014-11-21 02:35:38 +00:00
Timo Kreuzer 6e7c087233 [LIBS]
Remove some explicit comparisons with TRUE and make desired explicit comparison more obvious.
Patch by Love Nystrom, modified by me. Fixes a bug in RtlUpcaseUnicodeString. Not committed: modifications to freetype, since this is 3rd party code.
CORE-8799


svn path=/trunk/; revision=65419
2014-11-16 14:07:37 +00:00
Aleksandar Andrejevic 02f61a837b [FAST486]
Clear the prefix flags when an exception occurs.
Add another missing return after a call to Fast486Exception.


svn path=/trunk/; revision=65313
2014-11-08 05:56:49 +00:00
Aleksandar Andrejevic 3117e70e36 [FAST486]
- Fix the FPU_CHECK() macro.
- Make sure pages are marked dirty even if they have been accessed before.
- Always return after calling Fast486Exception.


svn path=/trunk/; revision=65312
2014-11-08 02:56:54 +00:00
Aleksandar Andrejevic ed11c3a778 [FAST486]
Fix BT, BTC, BTS and BTR.


svn path=/trunk/; revision=65310
2014-11-07 19:20:38 +00:00
Aleksandar Andrejevic 572d2d2a26 [FAST486]
Store the faulting address in CR2 (PFLA) when a page fault occurs.


svn path=/trunk/; revision=65304
2014-11-07 00:00:17 +00:00
Aleksandar Andrejevic 3e9aa4c71d [FAST486]
Update the CPL when performing an interrupt.


svn path=/trunk/; revision=65300
2014-11-06 20:47:31 +00:00
Aleksandar Andrejevic d7897ca1e5 [FAST486]
We can't load the stack segment until after we've updated the CPL.


svn path=/trunk/; revision=65281
2014-11-06 05:37:50 +00:00
Aleksandar Andrejevic e42640b500 [FAST486]
Fix the limit calculation when using page granularity.
RETF can also perform inter-privilege returns.
Fix the privilege checks when loading CS. DPL != CPL is only a #GP
when we're doing a jump or a call.


svn path=/trunk/; revision=65280
2014-11-06 05:16:14 +00:00