- 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
- 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
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
- 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
- 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
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
- 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
- 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
- Enable C4189 (local variable initialized but not referenced) on MSVC builds and make it an error.
CORE-9676 #resolve
svn path=/trunk/; revision=67607
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
- 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