Commit graph

62005 commits

Author SHA1 Message Date
Aleksandar Andrejevic
af48f83e26 [NTVDM]
Save/restore the processor state when executing/terminating nested tasks.


svn path=/trunk/; revision=67513
2015-05-02 18:51:03 +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
Amine Khaldi
c8824c92cf [MSPORTS] Introduce a setting that makes the driver accept resources with an IRQ instead of only resources without an IRQ. Brought to you by The ReactOS Printing Group. CORE-9645
svn path=/trunk/; revision=67509
2015-05-02 10:23:26 +00:00
Amine Khaldi
25b7bb215e [PARPORT] Introduce a skeleton that will serve as base for implementing the parallel port function driver. Brought to you by The ReactOS Printing Group. CORE-9644
svn path=/trunk/; revision=67508
2015-05-02 10:15:37 +00:00
Aleksandar Andrejevic
b2311765e9 [NTVDM]
Implement INT 27h (Terminate and Stay Resident).
Keep track of the last entry SS:SP in the INT 21h handler.
Restore the stack in DosTerminateProcess.
The number of bytes to keep resident applies only to the block which holds the PSP,
other blocks are not freed.


svn path=/trunk/; revision=67507
2015-05-02 02:59:21 +00:00
Hermès Bélusca-Maïto
dc0c0c695b Fix compilation.
svn path=/trunk/; revision=67506
2015-05-02 01:26:42 +00:00
Hermès Bélusca-Maïto
0345f7203f [NTVDM]
- Fix command-line handling.
- Disable a hack introduced in r65012 for testing purposes.

svn path=/trunk/; revision=67505
2015-05-02 01:23:27 +00:00
Aleksandar Andrejevic
9b5a4bf8a2 [NTVDM]
Implement INT 21h, AH = 36h "Get Free Disk Space".


svn path=/trunk/; revision=67504
2015-05-01 23:04:03 +00:00
Thomas Faber
5f7df0d9ad [NPFS]
- Correctly check for write quota in NpCommonWrite. Should fix test regressions after enabling fast I/O.

svn path=/trunk/; revision=67503
2015-05-01 19:40:04 +00:00
Pierre Schweitzer
8ce4d75f45 [NTFS]
Why would you allocate NTFS global data structure twice to use it from only one location?
Fix that misbehavior.

svn path=/trunk/; revision=67502
2015-05-01 18:58:00 +00:00
Pierre Schweitzer
e7ad148a6c [NTFS]
Add FastIO non-support in NTFS

svn path=/trunk/; revision=67501
2015-05-01 18:38:10 +00:00
Pierre Schweitzer
b4e21f0b6f [CDFS]
No, FastIo is not possible!

svn path=/trunk/; revision=67500
2015-05-01 17:45:16 +00:00
Pierre Schweitzer
e295fdb99b [CDFS]
Set SizeOfFastIoDispatch member

svn path=/trunk/; revision=67499
2015-05-01 17:41:38 +00:00
Aleksandar Andrejevic
613b74b43d [NTVDM]
Separate the process-related code from the DOS kernel.
Enable starting processes from other processes in STANDALONE mode.
Implement INT 21h, AH = 55h and INT 21h, AH = 26h (Create/Clone PSP).
Implement overlay loading.


svn path=/trunk/; revision=67498
2015-05-01 15:42:54 +00:00
Thomas Faber
2aab9460a2 [BLUE]
- Arch, learn how to properly revert things?

svn path=/trunk/; revision=67497
2015-05-01 13:58:37 +00:00
Thomas Faber
067be5c23a [BLUE][CDFS]
- Arch, don't assume the driver you see in the backtrace is one that needs fixing. CDFS is the one who's a file system driver here...

svn path=/trunk/; revision=67496
2015-05-01 13:56:37 +00:00
Thomas Faber
a1283b2745 [BLUE]
- FastIoDispatch is not optional for file system drivers!

svn path=/trunk/; revision=67495
2015-05-01 13:46:08 +00:00
Thomas Faber
e03d4423da [NTOS:IO]
- Implement Fast I/O support in NtReadFile/NtWriteFile
CORE-9624

svn path=/trunk/; revision=67494
2015-05-01 13:20:26 +00:00
Thomas Faber
68defa9dd4 [KMTESTS:IO]
- Also test write operations in IoReadWrite
- Add some nonzero success statuses
CORE-9624

svn path=/trunk/; revision=67493
2015-05-01 12:50:12 +00:00
Eric Kohl
e6c08e03e2 [FASTFAT]
VfatRead: Check the Length before checking the ByteOffset because reading 0 bytes should always be successful.

svn path=/trunk/; revision=67492
2015-05-01 12:15:49 +00:00
Thomas Faber
e02846b73f [NTOS:IO]
- Free the correct event pointer when out of memory in IopDeviceFsIoControl

svn path=/trunk/; revision=67491
2015-05-01 12:00:50 +00:00
Thomas Faber
bb4b99166e [NTOS:IO]
- Don't leak event object reference when out of memory in NtReadFile/NtWriteFile

svn path=/trunk/; revision=67490
2015-05-01 11:57:51 +00:00
Thomas Faber
fbe8fcb291 [NTOS:IO]
- IopCompleteRequest: in case of an exception, fail the IRP as shown by kmtest:IoReadWrite
CORE-9624

svn path=/trunk/; revision=67489
2015-05-01 11:52:32 +00:00
Thomas Faber
f1b1a2086e [KMTESTS:IO]
- Fix GCC build

svn path=/trunk/; revision=67488
2015-05-01 11:07:40 +00:00
Thomas Faber
abb2dff020 [KMTESTS:IO]
- Add a test for the interaction between NtReadFile and a file system driver
CORE-9624

svn path=/trunk/; revision=67487
2015-05-01 11:03:21 +00:00
Thomas Faber
054e41ecad [KMTEST]
- Add TESTENTRY_NO_READONLY_DEVICE and TESTENTRY_BUFFERED_IO_DEVICE flags for standalone drivers

svn path=/trunk/; revision=67486
2015-05-01 10:52:37 +00:00
Thomas Faber
6a200446dc [NTOS:IO]
- Add missing SEH around user buffer access in IopCompleteRequest
- Remove a redundant condition
CORE-9624

svn path=/trunk/; revision=67485
2015-05-01 10:49: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
Amine Khaldi
80217852de [COMCTL32] Export DrawShadowText() and mention that it's exported only in v6. Dedicated to Stefano Toncich aka Tonix.
svn path=/trunk/; revision=67480
2015-04-30 15:56:19 +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
Aleksandar Andrejevic
5891e0a021 [NTVDM]
The fix in r67477 was incorrect. When loading an executable high, we need to
allocate all of the memory and copy the program itself to the highest part of it.
I know it sounds illogical but that's how it works...


svn path=/trunk/; revision=67478
2015-04-29 03:18:02 +00:00
Aleksandar Andrejevic
294468d4e7 [NTVDM]
If both e_minalloc and e_maxalloc are 0, the program should be loaded high.


svn path=/trunk/; revision=67477
2015-04-29 01:21:58 +00:00
Aleksandar Andrejevic
eba20f3ad8 [NTVDM]
Also check for BlockData == 0 in RosResizeMemory. This, however, wasn't a crash since we
were lucky enough to cast the segment to a WORD before the access.


svn path=/trunk/; revision=67476
2015-04-29 00:58:22 +00:00
Aleksandar Andrejevic
86c7c4fb83 [NTVDM]
Don't crash when DosFreeMemory is called with BlockData == 0.


svn path=/trunk/; revision=67475
2015-04-29 00:47:06 +00:00
David Quintana
38af0226a1 [RAPPS_NEW]
Continue the work converting the UI to using ATL-wrapped windows. CORE-9593

[RSHELL]
[EXPLORER]
Fixup two class declarations to work with the rosctrls.h changes.

svn path=/trunk/; revision=67474
2015-04-29 00:07:54 +00:00
Timo Kreuzer
4d59b2ba82 [NDK/KERNEL32]
Improve definition of FIBER. Based on ks386.inc, ksarm.h and ksamd64.inc

svn path=/trunk/; revision=67473
2015-04-28 21:27:35 +00:00
Timo Kreuzer
58de1d8ba9 [KERNEL32/NDK]
Move definition of FIBER to NDK

svn path=/trunk/; revision=67472
2015-04-28 21:27:16 +00:00
Timo Kreuzer
6a0d45da07 [NDK]
- Move definition of TIMER_TABLE_ENTRY from ntoskrnl to NDK
- Add definitions of KTIMER_TABLE, KDPC_LIST, SYNCH_COUNTERS

svn path=/trunk/; revision=67471
2015-04-28 21:26:56 +00:00
Timo Kreuzer
6077e75c7f [NDK]
Use portable definitions for service table constants. (Moved from ARM specific definition in ntoskrnl internal header, with a fixed value for TABLE_NUMBER_BITS, which is 1, not 3)

svn path=/trunk/; revision=67470
2015-04-28 21:26:37 +00:00
Timo Kreuzer
a129e1c53e [NDK]
- Move _MMPTE definition to arch specific files
- Fix _MMPTE_HARDWARE on arm (struct, not union!)

svn path=/trunk/; revision=67469
2015-04-28 21:26:15 +00:00
Timo Kreuzer
0a97d41371 [PSDK]
Update sdkddkver.h with latest version constants up to windows 10.

svn path=/trunk/; revision=67468
2015-04-28 21:25:57 +00:00
Timo Kreuzer
a2e4378502 [FREELDR]
Hey Arch, hyperspace is not the page table range!
Rename HYPER_SPACE_ENTRY to SELFMAP_ENTRY.

svn path=/trunk/; revision=67467
2015-04-28 21:25:43 +00:00
Timo Kreuzer
1eea6a990f [NTOSKRNL]
Fix MSVC warnings.

svn path=/trunk/; revision=67466
2015-04-28 21:25:21 +00:00
Christoph von Wittich
68e04b629e spelling fixes
no code changes

svn path=/trunk/; revision=67465
2015-04-28 19:22:43 +00:00
Thomas Faber
22d49c5df5 [NTOS:MM]
- Consistently return STATUS_INVALID_IMAGE_PROTECT from PeFmtCreateSection if the PE signature is missing. Patch by V.
CORE-9618 #resolve

svn path=/trunk/; revision=67464
2015-04-28 07:07:57 +00:00