view libdha/sysdep/pci_powerpc.c @ 13303:2571b2e0c0b4

Fixes for VirtualAlloc function: * mplayer received a SIGSEGV under Linux after Opening video decoder: [dmo] DMO video codecs VirtualAlloc(0x00400000, 859648, 0x00003000, 0x00000040) because that region was already under use and mmap() with MAP_FIXED has problems under Linux (see code). VirtualAlloc() fixed in "loader/ext.c". * VirtualAlloc() made to conform with win32 documented behavior regarding the alignment of the address and size arguments. * VirtualAlloc() detection of overlap with previous regions fixed. Patch by A. Guru ( a.guru at sympatico dot ca )
author rtognimp
date Fri, 10 Sep 2004 16:39:31 +0000
parents 9dbb9c710480
children
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
*/

#if defined(Lynx) || defined(__OpenBSD__)
static int pci_config_type( void ) { return 1; }

static int pci_get_vendor(
          unsigned char bus,
          unsigned char dev,
          int func)
{
    int retval;
    pciconfig_read(bus, dev<<3, PCI_ID_REG, 4, &retval);
    return retval;
}

static long pci_config_read_long(
          unsigned char bus,
          unsigned char dev,
          int func, 
          unsigned cmd)
{
    long retval;
    pciconfig_read(bus, dev<<3, cmd, 4, &retval);
    return retval;
}
#endif /*Lynx/OpenBSD*/