Author: aandrejevic Date: Wed Apr 22 19:56:50 2015 New Revision: 67352
URL: http://svn.reactos.org/svn/reactos?rev=67352&view=rev Log: [NTVDM] Implement the XMS functions AH = 03h and AH = 04h (global enable/disable A20). Make the GetHandleRecord function in the EMS driver inline. CORE-8277 #comment Please retest.
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/emsdrv.c trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/himem.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/emsdrv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/d... ============================================================================== --- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/emsdrv.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/emsdrv.c [iso-8859-1] Wed Apr 22 19:56:50 2015 @@ -35,7 +35,7 @@
/* PRIVATE FUNCTIONS **********************************************************/
-static PEMS_HANDLE GetHandleRecord(USHORT Handle) +static inline PEMS_HANDLE GetHandleRecord(USHORT Handle) { if (Handle >= EMS_MAX_HANDLES) return NULL; return &HandleTable[Handle];
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/himem.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/d... ============================================================================== --- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/himem.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/himem.c [iso-8859-1] Wed Apr 22 19:56:50 2015 @@ -164,6 +164,20 @@ break; }
+ /* Global Enable A20 */ + case 0x03: + { + EmulatorSetA20(TRUE); + break; + } + + /* Global Disable A20 */ + case 0x04: + { + EmulatorSetA20(FALSE); + break; + } + /* Query Free Extended Memory */ case 0x08: {