ReactOS 0.4.16-dev-297-gc569aee
|
#include "ntvdm.h"
#include <debug.h>
#include "emulator.h"
#include "../../memory.h"
#include "bios/umamgr.h"
#include "dos.h"
#include "dos/dem.h"
#include "device.h"
#include "emsdrv.h"
Go to the source code of this file.
Macros | |
#define | NDEBUG |
#define | EMS_DEVICE_NAME "EMMXXXX0" |
#define | EMS_SEGMENT_SIZE ((EMS_PHYSICAL_PAGES * EMS_PAGE_SIZE) >> 4) |
#define | EMS_SYSTEM_HANDLE 0 |
Functions | |
static VOID | InitHandlesTable (VOID) |
static PEMS_HANDLE | CreateHandle (PUSHORT Handle) |
static VOID | FreeHandle (PEMS_HANDLE HandleEntry) |
static PEMS_HANDLE | GetEmsHandleRecord (USHORT Handle) |
static BOOLEAN | ValidateHandle (PEMS_HANDLE HandleEntry) |
static UCHAR | EmsFree (USHORT Handle) |
static UCHAR | EmsAlloc (USHORT NumPages, PUSHORT Handle) |
static UCHAR | InitSystemHandle (USHORT NumPages) |
static PEMS_PAGE | GetLogicalPage (PEMS_HANDLE HandleEntry, USHORT LogicalPage) |
static UCHAR | EmsMap (USHORT Handle, UCHAR PhysicalPage, USHORT LogicalPage) |
static VOID WINAPI | EmsIntHandler (LPWORD Stack) |
static VOID FASTCALL | EmsReadMemory (ULONG Address, PVOID Buffer, ULONG Size) |
static BOOLEAN FASTCALL | EmsWriteMemory (ULONG Address, PVOID Buffer, ULONG Size) |
static WORD NTAPI | EmsDrvDispatchIoctlRead (PDOS_DEVICE_NODE Device, DWORD Buffer, PWORD Length) |
BOOLEAN | EmsDrvInitialize (USHORT Segment, ULONG TotalPages) |
VOID | EmsDrvCleanup (VOID) |
Variables | |
static PDOS_DEVICE_NODE | Node |
static RTL_BITMAP | AllocBitmap |
static PULONG | EmsBitmapBuffer = NULL |
static PEMS_PAGE | EmsPageTable = NULL |
static EMS_HANDLE | EmsHandleTable [EMS_MAX_HANDLES] |
static PVOID | Mapping [EMS_PHYSICAL_PAGES] = { NULL } |
static PVOID | MappingBackup [EMS_PHYSICAL_PAGES] = { NULL } |
static ULONG | EmsTotalPages = 0 |
static PVOID | EmsMemory = NULL |
static USHORT | EmsSegment = EMS_SEGMENT |
#define EMS_SEGMENT_SIZE ((EMS_PHYSICAL_PAGES * EMS_PAGE_SIZE) >> 4) |
|
static |
Definition at line 62 of file emsdrv.c.
Referenced by EmsAlloc().
Definition at line 128 of file emsdrv.c.
Referenced by EmsIntHandler().
Definition at line 850 of file emsdrv.c.
|
static |
Definition at line 758 of file emsdrv.c.
Referenced by EmsDrvInitialize().
Definition at line 767 of file emsdrv.c.
Referenced by DosKRNLInitialize().
Definition at line 101 of file emsdrv.c.
Referenced by EmsAlloc(), EmsIntHandler(), and InitSystemHandle().
Definition at line 260 of file emsdrv.c.
Referenced by EmsDrvInitialize().
Definition at line 234 of file emsdrv.c.
Referenced by EmsIntHandler().
Definition at line 716 of file emsdrv.c.
Referenced by EmsDrvInitialize().
Definition at line 736 of file emsdrv.c.
Referenced by EmsDrvInitialize().
|
static |
|
inlinestatic |
Definition at line 90 of file emsdrv.c.
Referenced by EmsFree(), EmsIntHandler(), and EmsMap().
|
static |
Definition at line 220 of file emsdrv.c.
Referenced by EmsIntHandler(), and EmsMap().
Definition at line 169 of file emsdrv.c.
Referenced by EmsDrvInitialize().
|
inlinestatic |
|
static |
Definition at line 37 of file emsdrv.c.
Referenced by EmsAlloc(), EmsDrvInitialize(), EmsFree(), EmsIntHandler(), and InitSystemHandle().
Definition at line 38 of file emsdrv.c.
Referenced by EmsDrvCleanup(), and EmsDrvInitialize().
|
static |
Definition at line 40 of file emsdrv.c.
Referenced by CreateHandle(), EmsIntHandler(), GetEmsHandleRecord(), InitHandlesTable(), and InitSystemHandle().
Definition at line 44 of file emsdrv.c.
Referenced by EmsDrvCleanup(), EmsDrvInitialize(), EmsIntHandler(), and EmsMap().
Definition at line 39 of file emsdrv.c.
Referenced by EmsAlloc(), EmsDrvCleanup(), EmsDrvInitialize(), EmsFree(), EmsIntHandler(), EmsMap(), and InitSystemHandle().
|
static |
Definition at line 45 of file emsdrv.c.
Referenced by EmsDrvCleanup(), EmsDrvInitialize(), EmsIntHandler(), EmsReadMemory(), and EmsWriteMemory().
|
static |
Definition at line 43 of file emsdrv.c.
Referenced by EmsDrvInitialize(), and EmsIntHandler().
|
static |
Definition at line 41 of file emsdrv.c.
Referenced by _Function_class_(), AcpiExDataTableSpaceHandler(), AllocateAddressMapping(), DesktopHeapAddressToUser(), DesktopHeapGetUserDelta(), EmsIntHandler(), EmsMap(), EmsReadMemory(), EmsWriteMemory(), FltpSetupCommunicationObjects(), KsCreateDefaultSecurity(), KsDispatchSetSecurity(), LsarSetSecurityObject(), SamrSetSecurityObject(), SockGetTdiName(), SockIsTripleInMapping(), SockLoadHelperDll(), SockLoadTransportMapping(), START_TEST(), test_AccessCheck(), TestMap(), TestPhysicalMemorySection(), UDFDiscardFESpace(), UDFFlushFESpace(), UDFRecordVAT(), UDFUnPackMapping(), and WSHGetWinsockMapping().
|
static |
Definition at line 42 of file emsdrv.c.
Referenced by EmsIntHandler().
|
static |