Ignore:
Timestamp:
Dec 20, 2002, 11:38:58 AM (23 years ago)
Author:
sandervl
Message:

Removed obsolete code for Glide drivers and IOPL

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/hmdevio.cpp

    r8840 r9533  
    1 /* $Id: hmdevio.cpp,v 1.28 2002-07-05 17:59:30 sandervl Exp $ */
     1/* $Id: hmdevio.cpp,v 1.29 2002-12-20 10:38:56 sandervl Exp $ */
    22
    33/*
     
    2727#include <win\winioctl.h>
    2828#include "hmdevio.h"
    29 #include "cio.h"
    3029#include "map.h"
    3130#include "exceptutil.h"
     
    3534#include "dbglocal.h"
    3635
    37 static BOOL fX86Init  = FALSE;
    38 //SvL: Used in iccio.asm (how can you put these in the .asm data segment without messing things up?)
    39 ULONG  ioentry   = 0;
    40 USHORT gdt       = 0;
    41 char   devname[] = "/dev/fastio$";
    42 
    43 static BOOL GpdDevIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    44 static BOOL MAPMEMIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    45 static BOOL FXMEMMAPIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    46 static BOOL VPCIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
    47 
    4836static WIN32DRV knownDriver[] =
    49     {{"\\\\.\\GpdDev", "",      TRUE,  666,   GpdDevIOCtl},
    50     { "\\\\.\\MAPMEM", "PMAP$", FALSE, 0,     MAPMEMIOCtl},
    51     { "FXMEMMAP.VXD",  "PMAP$", FALSE, 0,     FXMEMMAPIOCtl},
     37    { {0}
    5238    };
    5339
    54 static int nrKnownDrivers = sizeof(knownDriver)/sizeof(WIN32DRV);
    55 BOOL fVirtualPC = FALSE;
     40static int nrKnownDrivers = 0;
     41// = sizeof(knownDriver)/sizeof(WIN32DRV);
    5642
    5743//******************************************************************************
     
    262248//******************************************************************************
    263249//******************************************************************************
    264 static BOOL GpdDevIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
    265 {
    266  ULONG port, val = 0;
    267 
    268   if(fX86Init == FALSE) {
    269         if(io_init() == 0)
    270                 fX86Init = TRUE;
    271         else    return(FALSE);
    272   }
    273 
    274   *lpBytesReturned = 0;
    275 
    276   port = ((GENPORT_WRITE_INPUT *)lpInBuffer)->PortNumber;
    277 
    278   switch((dwIoControlCode >> 2) & 0xFFF) {
    279     case IOCTL_GPD_READ_PORT_UCHAR:
    280         if(nOutBufferSize < sizeof(char))
    281             return(FALSE);
    282 
    283         val = c_inb(port);
    284         *(char *)lpOutBuffer = val;
    285         *lpBytesReturned = sizeof(char);
    286         break;
    287     case IOCTL_GPD_READ_PORT_USHORT:
    288         if(nOutBufferSize < sizeof(USHORT))
    289             return(FALSE);
    290 
    291         val = c_inw(port);
    292         *(USHORT *)lpOutBuffer = val;
    293         *lpBytesReturned = sizeof(USHORT);
    294         break;
    295     case IOCTL_GPD_READ_PORT_ULONG:
    296         if(nOutBufferSize < sizeof(ULONG))
    297             return(FALSE);
    298 
    299         val = c_inl(port);
    300         *(ULONG *)lpOutBuffer = val;
    301         *lpBytesReturned = sizeof(ULONG);
    302         break;
    303     case IOCTL_GPD_WRITE_PORT_UCHAR:
    304         val   = ((GENPORT_WRITE_INPUT *)lpInBuffer)->CharData;
    305         c_outb(port, val);
    306         break;
    307     case IOCTL_GPD_WRITE_PORT_USHORT:
    308         val   = ((GENPORT_WRITE_INPUT *)lpInBuffer)->ShortData;
    309         c_outw(port, val);
    310         break;
    311     case IOCTL_GPD_WRITE_PORT_ULONG:
    312         val   = ((GENPORT_WRITE_INPUT *)lpInBuffer)->LongData;
    313         c_outl(port, val);
    314         break;
    315     default:
    316         dprintf(("GpdDevIOCtl unknown func %X\n", (dwIoControlCode >> 2) & 0xFFF));
    317         return(FALSE);
    318   }
    319 
    320   return(TRUE);
    321 }
    322 //******************************************************************************
    323 //******************************************************************************
    324 static BOOL MAPMEMIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
    325 {
    326  PHYSICAL_MEMORY_INFO *meminfo = (PHYSICAL_MEMORY_INFO *)lpInBuffer;
    327  struct map_ioctl memmap;
    328 
    329   *lpBytesReturned = 0;
    330 
    331   switch((dwIoControlCode >> 2) & 0xFFF) {
    332     case IOCTL_MAPMEM_MAP_USER_PHYSICAL_MEMORY:
    333         if(nInBufferSize != sizeof(PHYSICAL_MEMORY_INFO))
    334             return(FALSE);
    335 
    336         memmap.a.phys = meminfo->BusAddress.u.LowPart;
    337         memmap.size = meminfo->Length;
    338         dprintf(("DeviceIoControl map phys address %X length %X\n", memmap.a.phys, memmap.size));
    339         if(mpioctl((HFILE)hDevice, IOCTL_MAP, &memmap) == -1) {
    340             dprintf(("mpioctl failed!\n"));
    341             return(FALSE);
    342         }
    343 
    344         dprintf(("DeviceIoControl map virt address = %X\n", memmap.a.user));
    345         *(ULONG *)lpOutBuffer = (ULONG)memmap.a.user;
    346         break;
    347     case IOCTL_MAPMEM_UNMAP_USER_PHYSICAL_MEMORY:
    348         dprintf(("Unmap mapping %X\n", *(ULONG *)lpInBuffer));
    349         memmap.a.phys = *(ULONG *)lpInBuffer;
    350         memmap.size = 0;
    351         if(mpioctl((HFILE)hDevice, IOCTL_MAP, &memmap) == -1)
    352             return(FALSE);
    353         break;
    354     default:
    355         dprintf(("MAPMEMIOCtl unknown func %X\n", (dwIoControlCode >> 2) & 0xFFF));
    356         return(FALSE);
    357   }
    358 
    359   return(TRUE);
    360 }
    361 //******************************************************************************
    362 //******************************************************************************
    363 static BOOL FXMEMMAPIOCtl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
    364 {
    365  struct map_ioctl memmap;
    366  MAPDEVREQUEST *vxdmem = (MAPDEVREQUEST *)lpInBuffer;
    367 
    368   switch(dwIoControlCode) {
    369     case 1:
    370         break;
    371     case 2:
    372         memmap.a.phys = (DWORD)vxdmem->mdr_PhysicalAddress;
    373         memmap.size = vxdmem->mdr_SizeInBytes;
    374         dprintf(("DeviceIoControl map phys address %X length %X\n", memmap.a.phys, memmap.size));
    375         if(mpioctl((HFILE)hDevice, IOCTL_MAP, &memmap) == -1) {
    376             dprintf(("mpioctl failed!\n"));
    377             return(FALSE);
    378         }
    379 
    380         dprintf(("DeviceIoControl map virt address = %X\n", memmap.a.user));
    381         vxdmem->mdr_LinearAddress = (PVOID)memmap.a.user;
    382         break;
    383     default:
    384         dprintf(("FXMEMMAPIOCtl unknown func %X\n", (dwIoControlCode >> 2) & 0xFFF));
    385         return(FALSE);
    386   }
    387 
    388   return(TRUE);
    389 }
    390 //******************************************************************************
    391 //******************************************************************************
    392250HMCustomDriver::HMCustomDriver(HINSTANCE hInstance, LPCSTR lpDeviceName, LPVOID lpDriverData)
    393251                : HMDeviceDriver(lpDeviceName), hDrvDll(0), lpDriverData(NULL)
Note: See TracChangeset for help on using the changeset viewer.