Implement EMS functions AH = 47h and AH = 48h (Save/Restore Page Map).


svn path=/trunk/; revision=67574
This commit is contained in:
Aleksandar Andrejevic 2015-05-06 03:52:19 +00:00
parent ea58ec7edb
commit 5f9be9e447

View file

@ -162,6 +162,8 @@ static USHORT EmsMap(USHORT Handle, UCHAR PhysicalPage, USHORT LogicalPage)
static VOID WINAPI EmsIntHandler(LPWORD Stack)
{
static PVOID MappingBackup[EMS_PHYSICAL_PAGES] = { NULL };
switch (getAH())
{
/* Get Manager Status */
@ -221,6 +223,20 @@ static VOID WINAPI EmsIntHandler(LPWORD Stack)
break;
}
/* Save Page Map */
case 0x47:
{
RtlCopyMemory(MappingBackup, Mapping, sizeof(PVOID) * EMS_PHYSICAL_PAGES);
break;
}
/* Restore Page Map */
case 0x48:
{
RtlCopyMemory(Mapping, MappingBackup, sizeof(PVOID) * EMS_PHYSICAL_PAGES);
break;
}
/* Get/Set Handle Name */
case 0x53:
{