Commit graph

62026 commits

Author SHA1 Message Date
Timo Kreuzer 9fbce543e9 [ASM]
- Make syscalls ARM compatible

svn path=/trunk/; revision=67640
2015-05-10 21:03:53 +00:00
Timo Kreuzer 89ee675f59 [KSARM.H]
- Fix/add a number of macros based on native definitions
- Add "intrinsics" for GNU ARM assembler
- Move trap macros to asmmacro.S

svn path=/trunk/; revision=67639
2015-05-10 21:03:33 +00:00
Timo Kreuzer 7c09970347 [ASM]
Update templates for asm include generation

svn path=/trunk/; revision=67638
2015-05-10 21:03:09 +00:00
Timo Kreuzer d6c154bc77 [CRT]
- Add _JUMP_BUFFER for ARM
- On ARM there are no underscore prefixes

svn path=/trunk/; revision=67637
2015-05-10 21:02:53 +00:00
Pierre Schweitzer 07f38d007d [NTFS]
- Only set the IOSB status if we complete the IRP
- Fix the assert: the caller might want not to complete the IRP nor to queue it (passed down IRPs)

svn path=/trunk/; revision=67636
2015-05-10 20:56:48 +00:00
Pierre Schweitzer 0c5f4d92cd [NTFS]
Add two more flags (mutually exclusive) for IRP context:
- _COMPLETE will cause the IRP to be completed at the end of the dispatch, with the run-time priority boost set by caller
- _QUEUE will cause the IRP to be queued for delayed execution (not yet implemented)

This allows more flexibility for callers that can set the behavior thanks to the flags.
Default behavior is the previous one: by default the IRP is completed at the end of the dispatch

That one should really come to FastFAT...

svn path=/trunk/; revision=67635
2015-05-10 20:47:44 +00:00
Pierre Schweitzer edef9fdfae [NTFS]
Handle IRP_MJ_READ with the dispatch routine

svn path=/trunk/; revision=67634
2015-05-10 20:35:40 +00:00
Timo Kreuzer 241a326520 [NTOSKRNL/MM]
Add MI_MAKE_CLEAN_PAGE
Use PTE access macros for portability

svn path=/trunk/; revision=67633
2015-05-10 19:35:24 +00:00
Timo Kreuzer 73e043f5b5 [NTOSKRNL]
- Fix MMPTE vs MMPDE usage
- Use MiPteToPde instead of MiAddressToPte

svn path=/trunk/; revision=67632
2015-05-10 19:35:00 +00:00
Timo Kreuzer c74c888770 [XDK/DDK/NDK/PSDK/ARMDDK]
- Move stuff from armddk.h to XDK/DDK
- Fix ARM CONTEXT flags
- Add missing KeGetCurrentIrql() for ARM
- Improve some amd64 based definitions
- Use Native math for Int64Sh**Mod32 on ARM

svn path=/trunk/; revision=67631
2015-05-10 19:34:38 +00:00
Timo Kreuzer 840af6fcb3 [NDK]
- Remove unused HYPERSPACE_BASE (which was broken for x86, too)
- Add PAE values for HYPER_SPACE and HYPER_SPACE_END on x86
- Add missing MM_HAL_VA_START and MM_HAL_VA_END for ARM

svn path=/trunk/; revision=67630
2015-05-10 19:33:56 +00:00
Hermès Bélusca-Maïto d60f8dcc0a [NTVDM]: Implement support for DMA transfers, single-mode only for now, and fix its support for VDDs.
svn path=/trunk/; revision=67629
2015-05-10 18:02:45 +00:00
Timo Kreuzer fe491d1d3b [RICHED20_WINETEST]
Hey Arch, stop breaking GCC build, while trying to fix MSVC build!

svn path=/trunk/; revision=67628
2015-05-10 17:59:10 +00:00
Timo Kreuzer f2b82513c2 [RICHED20_WINETEST]
Fix a few more set-but-unused warnings. ("Should be sent to wine-staging"(tm))

svn path=/trunk/; revision=67627
2015-05-10 17:54:02 +00:00
Timo Kreuzer 079df38c99 [KMTEST]
Hey Arch, if you turn warnings into errors, make sure to fix the warnings before!

svn path=/trunk/; revision=67626
2015-05-10 17:37:54 +00:00
Hermès Bélusca-Maïto e2d20087ab [ROSTESTS]: Move old testdata directory into the new one and add test files by Victor Martinez.
ROSTESTS-169 #resolve

svn path=/trunk/; revision=67625
2015-05-10 14:59:04 +00:00
Pierre Schweitzer e1c4e3ae3a [NTFS]
Don't force the run-time priority boost in NtfsFsdDispatch(). Some dispatched MJ functions might want to adjust it (MJ_READ/MJ_WRITE/MJ_CREATE).

The same should be actually done in FastFAT. I believe that would help avoiding several code duplications... 

svn path=/trunk/; revision=67624
2015-05-10 14:36:00 +00:00
Aleksandar Andrejevic 4b508e967a [FAST486]
Fix LTR.


svn path=/trunk/; revision=67623
2015-05-10 14:34:28 +00:00
Hermès Bélusca-Maïto 25427ebb72 [NTVDM]: Fix a bug introduced in r67619.
svn path=/trunk/; revision=67622
2015-05-10 14:26:49 +00:00
Thomas Faber f7d9d7088b [CDFS]
- Mark volumes as read-only. Patch by Barrett Karish.
CORE-9655 #resolve

svn path=/trunk/; revision=67621
2015-05-10 14:09:47 +00:00
Hermès Bélusca-Maïto 020e3f1630 [NTVDM]: Fix current directory stuff.
svn path=/trunk/; revision=67620
2015-05-10 13:34:02 +00:00
Hermès Bélusca-Maïto 86ba2faa4e [NTVDM]: Fix DOS file find. Introduced in r61507, it was indeed untested...
svn path=/trunk/; revision=67619
2015-05-10 12:25:27 +00:00
Hermès Bélusca-Maïto 122a0a5ccc [NTVDM]: Fix (again) command-line parsing in DosCreateProcess.
svn path=/trunk/; revision=67618
2015-05-10 11:34:35 +00:00
Pierre Schweitzer 2225244d03 [NTFS]
Addendum to r67540: don't complete the IRP twice (NtfsQueryInformation() + NtfsFsdDispatch()).
This fixes regression

svn path=/trunk/; revision=67617
2015-05-10 10:30:40 +00:00
Hermès Bélusca-Maïto 32bc389748 [NTVDM]: temporary fix for "lastdrive": put it to 'Z' (max drive letter you can have on DOS). A better fix would be DOS listing all the accessible drives in the current PC and compute the last one.
svn path=/trunk/; revision=67616
2015-05-10 10:28:33 +00:00
Pierre Schweitzer 8ddf736b58 [NTFS]
Handle IRP_MJ_DIRECTORY_CONTROL with the dispatch routine

svn path=/trunk/; revision=67615
2015-05-10 10:17:29 +00:00
Pierre Schweitzer 8426d2f96e [NTFS]
NTFS doesn't need CdfsGetEntryName()

svn path=/trunk/; revision=67614
2015-05-10 10:02:53 +00:00
Aleksandar Andrejevic 2c93627ac0 [NTVDM]
Make sure the BOP doesn't repeat when the timeout expires in INT 15h, AH = 41h.


svn path=/trunk/; revision=67613
2015-05-10 02:10:19 +00:00
Aleksandar Andrejevic 4113fbb5a3 [NTVDM]
- Modify the int32 dispatch to clear the CF only on entry, so that we can
track in our handlers whether it was the first time the BOP executed.
- Implement INT 15h, AH = 41h (Wait On External Event).
- Fix INT 15h, AX = E801h - modify the stack CF instead of the handler CF.
- Make INT 16h AH = 00h clear CF when there is a character, so that the BOP doesn't
repeat.


svn path=/trunk/; revision=67612
2015-05-10 01:42:39 +00:00
Aleksandar Andrejevic 8872cfb339 [NTVDM]
- Implement XMS function 0x0E (Get Handle Information).
- Fix INT 15h, AX = E820h - setCF can't be used inside an int32 callback for changing
the return carry flag, because it has a different meaning there (it means that the BOP
should be repeated). Instead, we must modify the CF that was pushed on the stack.


svn path=/trunk/; revision=67611
2015-05-10 00:55:38 +00:00
Aleksandar Andrejevic ec4790f045 [NTVDM]
Correct the byte order of the magic value: 'PAMS' -> 'SMAP'.


svn path=/trunk/; revision=67610
2015-05-09 23:56:38 +00:00
Aleksandar Andrejevic 18f771e535 [NTVDM]
Implement BIOS INT 15h functions AX = E820 (Get Memory Map) and AX = E801
(Get Memory Size for >64M Configurations).


svn path=/trunk/; revision=67609
2015-05-09 23:48:09 +00:00
Thomas Faber 88f12ca109 [DDK]
- Include <suppress.h> from wdm.h to satisfy __WARNING_MEMORY_NOT_ACQUIRED. Patch by Mark Jansen.
CORE-9657 #resolve

svn path=/trunk/; revision=67608
2015-05-09 22:49:37 +00:00
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 b3dfcac1cf [NTVDM]
Remove an accidentally committed temporary DPRINT1.


svn path=/trunk/; revision=67605
2015-05-09 03:15:11 +00:00
Hermès Bélusca-Maïto 464ff78f4e [NTVDM]: hardcoded_values--;
svn path=/trunk/; revision=67604
2015-05-08 23:47:33 +00:00
Aleksandar Andrejevic cd1046dd75 [NTVDM]
DosTerminateProcess shouldn't blindly attempt to restore the old state,
(for example if the process was started manually by a debugger).


svn path=/trunk/; revision=67603
2015-05-08 23:26:15 +00:00
Hermès Bélusca-Maïto 410c54e5f9 [NTVDM]: Merge Bios32 ResetBop with POST function.
svn path=/trunk/; revision=67602
2015-05-08 19:43:12 +00:00
Hermès Bélusca-Maïto b86604cdde [NTVDM]: Implement PC reset handling in the BIOS. Used by some apps for switching from protected mode back to real mode the 286 way (see: http://www.rcollins.org/articles/pmbasics/ for more details).
svn path=/trunk/; revision=67601
2015-05-08 19:26:46 +00:00
Benedikt Freisen ff8b29da1b [MSPAINT_NEW] Convert to C++, update header comments
svn path=/trunk/; revision=67600
2015-05-08 16:27:46 +00:00
Benedikt Freisen a95c9f4d03 [MSPAINT_NEW] bootstrap mspaint_new from mspaint
svn path=/trunk/; revision=67599
2015-05-08 16:02:36 +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
Hermès Bélusca-Maïto 1522bf4fc0 [NTVDM]
- Move some interrupt initialization where it belongs and activate few other ones.
- Initialize interruct vector for INT 2Ah (Network check) because some apps directly call it and crash if it contains NULL.

svn path=/trunk/; revision=67595
2015-05-07 23:54:47 +00:00
Hermès Bélusca-Maïto 226f484ce6 [NTVDM]: Initialize only the interrupt vectors that we really need, and nothing else. I also include a (by default disabled) option that activates extended debug features that may break some DOS apps (for example, initializing ALL of the non-handled interrupts to a default vector), to be used at your own risk.
svn path=/trunk/; revision=67594
2015-05-07 23:11:32 +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