- 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
- Implement portable fabsf.c
- Move some ARM stubs to a better location
- Add stubs for __dtoi64, __i64tos, __u64tos, _clearfp
svn path=/trunk/; revision=67537
- 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
- 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
- Fix a typo.
- Use a #define for the device flag.
- In r67526, the following change was committed but not described in the commit message:
- Enable opening devices in DosCreateFile and DosCreateFileEx.
svn path=/trunk/; revision=67527
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
Add a few definitions based on (Windows RT 8.1) symbol files, ks386.inc, ksamd64.inc, ksarm.inc and Windows 10 WDK (ntosp.h ftw!)
svn path=/trunk/; revision=67525
- Implement KiCpuId and make use of it
- Get rid of ugly CPUID, RDMSR and WRMSR functions
- remove unused KTS_ constants
svn path=/trunk/; revision=67524
- Implement C versions of RtlInterlockedPushEntrySList, RtlInterlockedPushListSList, RtlInterlockedPopEntrySList and RtlInterlockedFlushSList.
- RtlInterlockedPushListSList is fastcall, not stdcall
svn path=/trunk/; revision=67522
- Improve definition of ExInterlockedCompareExchange64 and interlocked SList functions and improve some annotations based on native header
- Update processor feature constants
svn path=/trunk/; revision=67521
Mouse:
- Remove now useless code in mouse support in BIOS.
- Implement INT 33h, AH=1Bh "Return mouse sensitivity" (returning hardcoded standard values since we don't support custom sensitivities) (AH=13h and 1Ah are marked as UNSUPPORTED).
- INT 33h, AH=1Fh "Disable mouse driver" returns in ES:BX the old INT 33h vector value: implement that.
- Implement INT 33h, AH=21h "Software reset", AH=24h and 4Dh and 6Dh "Software version and mouse info", "pointer to copyright string" and "version 'string'" functionalities.
DOS:
- Initialize in Win2k3-ntvdm-compatible order the DOS drivers: NUL, then CON, then XMS, and then EMS.
- Fix segment/offset inversion usage in INT 21h, AH=5Ch "Lock/Unlock region of file": when using MAKELONG macro to build a far pointer, the first parameter (loword) is the offset, and the second parameter (hiword) is the segment.
svn path=/trunk/; revision=67518
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
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
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
- 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