aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c')
-rw-r--r--nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c143
1 files changed, 0 insertions, 143 deletions
diff --git a/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c b/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c
deleted file mode 100644
index 4069ad745..000000000
--- a/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/os2/os2_bios.c,v 3.10 2000/04/05 18:13:52 dawes Exp $ */
-/*
- * (c) Copyright 1994 by Holger Veit
- * <Holger.Veit@gmd.de>
- * Modified 1996 by Sebastien Marineau <marineau@genie.uottawa.ca>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of Holger Veit shall not be
- * used in advertising or otherwise to promote the sale, use or other dealings
- * in this Software without prior written authorization from Holger Veit.
- *
- */
-/* $XConsortium: os2_bios.c /main/5 1996/10/27 11:48:45 kaleb $ */
-
-#define I_NEED_OS2_H
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <X11/X.h>
-#include "input.h"
-#include "scrnintstr.h"
-
-#define INCL_32
-#define INCL_DOS
-#define INCL_DOSFILEMGR
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-
-/*
- * Read BIOS via xf86sup.SYS device driver
- */
-
-static APIRET doioctl(HFILE fd,ULONG addr,ULONG len,unsigned char* dbuf)
-{
- UCHAR *dta;
- ULONG plen,dlen;
- APIRET rc;
-
- struct {
- ULONG command;
- ULONG physaddr;
- USHORT numbytes;
- } par;
-
- /* prepare parameter and data packets for ioctl */
- par.command = 0;
- par.physaddr = addr;
- par.numbytes = dlen = len;
- plen = sizeof(par);
-
- /* issue call to get a readonly copy of BIOS ROM */
- rc = DosDevIOCtl(fd, (ULONG)0x76, (ULONG)0x64,
- (PVOID)&par, (ULONG)plen, (PULONG)&plen,
- (PVOID)dbuf, (ULONG)dlen, (PULONG)&dlen);
-
- return rc;
-}
-
-int xf86ReadBIOS(Base, Offset, Buf, Len)
-unsigned long Base;
-unsigned long Offset;
-unsigned char *Buf;
-int Len;
-{
- HFILE fd;
- int i;
- ULONG action;
- APIRET rc;
- ULONG Phys_address;
- UCHAR* dta;
- int off, chunksz,lensave;
-
- /* allocate dta */
- dta = (UCHAR*)xalloc(Len);
-
- Phys_address=Base+Offset;
-
- /* open the special device pmap$ (default with OS/2) */
- if (DosOpen((PSZ)"PMAP$", (PHFILE)&fd, (PULONG)&action,
- (ULONG)0, FILE_SYSTEM, FILE_OPEN,
- OPEN_SHARE_DENYNONE|OPEN_FLAGS_NOINHERIT|OPEN_ACCESS_READONLY,
- (ULONG)0) != 0) {
- FatalError("xf86ReadBIOS: install DEVICE=path\\xf86sup.SYS!");
- return -1;
- }
-
- /* copy 32K at a time */
- off = 0;
- lensave = Len;
- while (Len > 0) {
- chunksz = (Len > 32768) ? 32768 : Len;
- Len -= chunksz;
- rc = doioctl(fd,(ULONG)Phys_address,chunksz,dta+off);
- if (rc != 0) {
- FatalError("xf86ReadBIOS: BIOS map failed, addr=%lx, rc=%d\n",
- Phys_address,rc);
- xfree(dta);
- DosClose(fd);
- return -1;
- }
- off += chunksz;
- }
-
- /*
- * Sanity check... No longer fatal, as some PS/1 and PS/2 fail here but still work.
- * S. Marineau, 10/10/96
- */
-#if 0
- if ((Phys_address & 0x7fff) != 0 &&
- (dta[0] != 0x55 || dta[1] != 0xaa)) {
- FatalError("BIOS sanity check failed, addr=%x\nPlease report if you encounter problems\n",
- Phys_address);
- }
-#endif
-
- /* copy data to buffer */
- memcpy(Buf, dta, lensave);
- xfree(dta);
-
- /* close device */
- DosClose(fd);
-
- return(lensave);
-}