view vidix/sysdep/pci_bsdi.c @ 28803:6887c715c4fa

Do not rely on draw_osd to render the EOSD, instead draw it already at the end of genOSD. Fixes that the EOSD was drawn one frame too late.
author reimar
date Fri, 06 Mar 2009 10:33:35 +0000
parents 502f04b67653
children 958431e2cde0
line wrap: on
line source

/*
   This file is based on:
   $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $
   Modified for readability by Nick Kurshev
*/
#include <errno.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include <i386/isa/pcconsioctl.h>
#ifndef GCCUSESGAS
#define GCCUSESGAS
#endif

static int io_fd;

static __inline__ int enable_os_io(void)
{
    io_fd = -1 ;
    if ((io_fd = open("/dev/console", O_RDWR, 0)) < 0) {
        perror("/dev/console");
	return errno;
    }
    if (ioctl(io_fd, PCCONENABIOPL, 0) < 0) {
        perror("ioctl(PCCONENABIOPL)");
        return errno;
    }
    return 0;
}

static __inline__ int disable_os_io(void)
{
    if (ioctl(io_fd, PCCONDISABIOPL, 0) < 0) {
        perror("ioctl(PCCONDISABIOPL)");
	close(io_fd);
        return errno;
    }
    close(io_fd);
    return 0;
}