Author: aandrejevic
Date: Mon May 11 03:36:02 2015
New Revision: 67651
URL:
http://svn.reactos.org/svn/reactos?rev=67651&view=rev
Log:
[NTVDM]
Use the SDA for storing the request in DosCallDriver.
Rename some more fields we aren't going to use to "Unused..." in the SDA.
Modified:
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.c
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.h
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.h
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.c [iso-8859-1] Mon May 11
03:36:02 2015
@@ -47,23 +47,22 @@
static VOID DosCallDriver(DWORD Driver, PDOS_REQUEST_HEADER Request)
{
PDOS_DRIVER DriverBlock = (PDOS_DRIVER)FAR_POINTER(Driver);
- PDOS_REQUEST_HEADER RemoteRequest = FAR_POINTER(REQUEST_LOCATION);
WORD ES = getES();
WORD BX = getBX();
/* Set ES:BX to the location of the request */
- setES(HIWORD(REQUEST_LOCATION));
- setBX(LOWORD(REQUEST_LOCATION));
+ setES(DOS_DATA_SEGMENT);
+ setBX(DOS_DATA_OFFSET(Sda.Request));
/* Copy the request structure to ES:BX */
- RtlMoveMemory(RemoteRequest, Request, Request->RequestLength);
+ RtlMoveMemory(&Sda->Request, Request, Request->RequestLength);
/* Call the strategy routine, and then the interrupt routine */
Call16(HIWORD(Driver), DriverBlock->StrategyRoutine);
Call16(HIWORD(Driver), DriverBlock->InterruptRoutine);
/* Get the request structure from ES:BX */
- RtlMoveMemory(Request, RemoteRequest, Request->RequestLength);
+ RtlMoveMemory(Request, &Sda->Request, Request->RequestLength);
/* Restore ES:BX */
setES(ES);
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/device.h [iso-8859-1] Mon May 11
03:36:02 2015
@@ -12,7 +12,6 @@
/* DEFINITIONS ****************************************************************/
#define MAX_DEVICE_NAME 8
-#define REQUEST_LOCATION 0x00700100 // 0070:0100
#define DEVICE_CODE_SIZE 10
#define DEVICE_PRIVATE_AREA(Driver) (Driver + sizeof(DOS_DRIVER) + DEVICE_CODE_SIZE)
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.h [iso-8859-1] Mon May 11
03:36:02 2015
@@ -178,12 +178,9 @@
BYTE ConsoleSwappedFlag;
BYTE Int28CallOk;
BYTE Int24AbortFlag;
- DOS_RW_REQUEST ReadWriteRequest;
+ DOS_RW_REQUEST Request;
DWORD DriverEntryPoint;
- DOS_IOCTL_RW_REQUEST IoctlRequest;
- DOS_PEEK_REQUEST StatusRequest;
- DWORD DeviceIoBuffer;
- DWORD Unused2;
+ BYTE Unused2[44];
BYTE PspCopyType;
BYTE Unused3;
BYTE UserNumber[3];