[Midnightbsd-cvs] mports [15977] trunk/devel/libpciaccess/files/ patch-src-pciaccess_private.h: libpciaccess 0.13.2

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Fri Feb 28 22:19:07 EST 2014


Revision: 15977
          http://svnweb.midnightbsd.org/mports/?rev=15977
Author:   laffer1
Date:     2014-02-28 22:19:06 -0500 (Fri, 28 Feb 2014)
Log Message:
-----------
libpciaccess 0.13.2

Modified Paths:
--------------
    trunk/devel/libpciaccess/Makefile
    trunk/devel/libpciaccess/distinfo
    trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c

Added Paths:
-----------
    trunk/devel/libpciaccess/files/patch-src-common_init.c
    trunk/devel/libpciaccess/files/patch-src-pciaccess_private.h

Property Changed:
----------------
    trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c

Modified: trunk/devel/libpciaccess/Makefile
===================================================================
--- trunk/devel/libpciaccess/Makefile	2014-03-01 03:16:53 UTC (rev 15976)
+++ trunk/devel/libpciaccess/Makefile	2014-03-01 03:19:06 UTC (rev 15977)
@@ -1,13 +1,14 @@
 # $MidnightBSD$
 
 PORTNAME=	libpciaccess
-PORTVERSION=	0.13.1
+PORTVERSION=	0.13.2
 CATEGORIES=	devel
 
 MAINTAINER=	ports at MidnightBSD.org
 COMMENT=	Generic PCI access library
-LICENSE=	x11
 
+LICENSE=	mit
+
 BUILD_DEPENDS=	${LOCALBASE}/share/pciids/pci.ids:${PORTSDIR}/misc/pciids
 RUN_DEPENDS=	${LOCALBASE}/share/pciids/pci.ids:${PORTSDIR}/misc/pciids
 

Modified: trunk/devel/libpciaccess/distinfo
===================================================================
--- trunk/devel/libpciaccess/distinfo	2014-03-01 03:16:53 UTC (rev 15976)
+++ trunk/devel/libpciaccess/distinfo	2014-03-01 03:19:06 UTC (rev 15977)
@@ -1,2 +1,2 @@
-SHA256 (xorg/lib/libpciaccess-0.13.1.tar.bz2) = 27ab68f645691a4ca258dcc9d131040586e134f9233ce079794496f6264da084
-SIZE (xorg/lib/libpciaccess-0.13.1.tar.bz2) = 352351
+SHA256 (xorg/lib/libpciaccess-0.13.2.tar.bz2) = abab8c2b050afb89bc29280e9c6b50ec5867174960d88bfb81a01036ec20de19
+SIZE (xorg/lib/libpciaccess-0.13.2.tar.bz2) = 359231

Added: trunk/devel/libpciaccess/files/patch-src-common_init.c
===================================================================
--- trunk/devel/libpciaccess/files/patch-src-common_init.c	                        (rev 0)
+++ trunk/devel/libpciaccess/files/patch-src-common_init.c	2014-03-01 03:19:06 UTC (rev 15977)
@@ -0,0 +1,13 @@
+--- src/common_init.c.orig	2008-10-11 18:31:00.000000000 +0000
++++ src/common_init.c	2009-03-29 20:10:52.000000000 +0000
+@@ -70,7 +70,9 @@
+ void
+ pci_system_init_dev_mem(int fd)
+ {
+-#ifdef __OpenBSD__
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
++    pci_system_freebsd_init_dev_mem(fd);
++#elif defined(__OpenBSD__)
+     pci_system_openbsd_init_dev_mem(fd);
+ #endif
+ }

Modified: trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c
===================================================================
--- trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c	2014-03-01 03:16:53 UTC (rev 15976)
+++ trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c	2014-03-01 03:19:06 UTC (rev 15977)
@@ -1,169 +1,357 @@
---- src/freebsd_pci.c.orig	2012-04-09 13:02:57.000000000 -0400
-+++ src/freebsd_pci.c	2013-04-16 02:19:10.000000000 -0400
-@@ -1,6 +1,8 @@
- /*
-  * (C) Copyright Eric Anholt 2006
-  * (C) Copyright IBM Corporation 2006
-+ * (C) Copyright Mark Kettenis 2011
-+ * (C) Copyright Robert Millan 2012
-  * All Rights Reserved.
-  *
-  * Permission is hereby granted, free of charge, to any person obtaining a
-@@ -561,6 +563,138 @@
-     freebsd_pci_sys = NULL;
- }
- 
+--- src/freebsd_pci.c.orig	2013-08-14 12:31:57.519923558 +0200
++++ src/freebsd_pci.c	2013-08-14 12:31:36.809923955 +0200
+@@ -39,6 +39,11 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
 +#if defined(__i386__) || defined(__amd64__)
 +#include <machine/cpufunc.h>
-+#endif
-+
-+static struct pci_io_handle *
-+pci_device_freebsd_open_legacy_io(struct pci_io_handle *ret,
-+    struct pci_device *dev, pciaddr_t base, pciaddr_t size)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	ret->fd = open("/dev/io", O_RDWR | O_CLOEXEC);
-+
-+	if (ret->fd < 0)
-+		return NULL;
-+
-+	ret->base = base;
-+	ret->size = size;
-+	return ret;
-+#elif defined(PCI_MAGIC_IO_RANGE)
-+	ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
-+	    aperturefd, PCI_MAGIC_IO_RANGE + base);
-+	if (ret->memory == MAP_FAILED)
-+		return NULL;
-+
-+	ret->base = base;
-+	ret->size = size;
-+	return ret;
 +#else
-+	return NULL;
++#include <dev/io/iodev.h>
 +#endif
-+}
-+
-+#if defined(__i386__) || defined(__amd64__)
-+static void
-+pci_device_freebsd_close_io(struct pci_device *dev, struct pci_io_handle *handle)
-+{
-+	if (handle->fd > -1)
-+		close(handle->fd);
-+}
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/pciio.h>
+@@ -74,6 +79,10 @@
+ #define PCIM_BAR_MEM_SPACE      0
+ #define PCIM_BAR_IO_SPACE       1
+ 
++#if defined(__sparc64__)
++static int screenfd;
 +#endif
 +
-+static uint32_t
-+pci_device_freebsd_read32(struct pci_io_handle *handle, uint32_t reg)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	return inl(handle->base + reg);
-+#else
-+	return *(uint32_t *)((uintptr_t)handle->memory + reg);
+ /**
+  * FreeBSD private pci_system structure that extends the base pci_system
+  * structure.
+@@ -105,12 +114,18 @@
+ {
+     const int prot = ((map->flags & PCI_DEV_MAP_FLAG_WRITABLE) != 0)
+         ? (PROT_READ | PROT_WRITE) : PROT_READ;
++#if !defined(__sparc64__)
+     struct mem_range_desc mrd;
+     struct mem_range_op mro;
 +#endif
-+}
-+
-+static uint16_t
-+pci_device_freebsd_read16(struct pci_io_handle *handle, uint32_t reg)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	return inw(handle->base + reg);
+ 
+     int fd, err = 0;
+ 
++#if defined(__sparc64__)
++    fd = screenfd;
 +#else
-+	return *(uint16_t *)((uintptr_t)handle->memory + reg);
+     fd = open("/dev/mem", O_RDWR | O_CLOEXEC);
 +#endif
-+}
-+
-+static uint8_t
-+pci_device_freebsd_read8(struct pci_io_handle *handle, uint32_t reg)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	return inb(handle->base + reg);
-+#else
-+	return *(uint8_t *)((uintptr_t)handle->memory + reg);
+     if (fd == -1)
+ 	return errno;
+ 
+@@ -120,6 +135,7 @@
+ 	err = errno;
+     }
+ 
++#if !defined(__sparc64__)
+     mrd.mr_base = map->base;
+     mrd.mr_len = map->size;
+     strncpy(mrd.mr_owner, "pciaccess", sizeof(mrd.mr_owner));
+@@ -140,6 +156,7 @@
+     }
+ 
+     close(fd);
 +#endif
-+}
-+
-+static void
-+pci_device_freebsd_write32(struct pci_io_handle *handle, uint32_t reg,
-+    uint32_t data)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	outl(handle->base + reg, data);
-+#else
-+	*(uint16_t *)((uintptr_t)handle->memory + reg) = data;
+ 
+     return err;
+ }
+@@ -148,6 +165,7 @@
+ pci_device_freebsd_unmap_range( struct pci_device *dev,
+ 				struct pci_device_mapping *map )
+ {
++#if !defined(__sparc64__)
+     struct mem_range_desc mrd;
+     struct mem_range_op mro;
+     int fd;
+@@ -173,6 +191,7 @@
+ 	    fprintf(stderr, "Failed to open /dev/mem\n");
+ 	}
+     }
 +#endif
-+}
-+
-+static void
-+pci_device_freebsd_write16(struct pci_io_handle *handle, uint32_t reg,
-+    uint16_t data)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	outw(handle->base + reg, data);
+ 
+     return pci_device_generic_unmap_range(dev, map);
+ }
+@@ -295,7 +314,11 @@
+     }
+ 
+     printf("Using rom_base = 0x%lx\n", (long)rom_base);
++#if defined(__sparc64__)
++    memfd = screenfd;
 +#else
-+	*(uint8_t *)((uintptr_t)handle->memory + reg) = data;
+     memfd = open( "/dev/mem", O_RDONLY | O_CLOEXEC );
 +#endif
-+}
-+
-+static void
-+pci_device_freebsd_write8(struct pci_io_handle *handle, uint32_t reg,
-+    uint8_t data)
-+{
-+#if defined(__i386__) || defined(__amd64__)
-+	outb(handle->base + reg, data);
-+#else
-+	*(uint32_t *)((uintptr_t)handle->memory + reg) = data;
+     if ( memfd == -1 )
+ 	return errno;
+ 
+@@ -308,7 +331,9 @@
+     memcpy( buffer, bios, dev->rom_size );
+ 
+     munmap( bios, dev->rom_size );
++#if !defined(__sparc64__)
+     close( memfd );
 +#endif
-+}
-+
-+static int
-+pci_device_freebsd_map_legacy(struct pci_device *dev, pciaddr_t base,
-+    pciaddr_t size, unsigned map_flags, void **addr)
+ 
+     if (pci_rom) {
+ 	pci_device_cfg_write_u32( dev, PCIR_BIOS, rom );
+@@ -343,7 +368,6 @@
+ static int
+ pci_device_freebsd_probe( struct pci_device * dev )
+ {
+-    struct pci_device_private *priv = (struct pci_device_private *) dev;
+     struct pci_bar_io bar;
+     uint8_t irq;
+     int err, i;
+@@ -563,136 +587,152 @@
+     freebsd_pci_sys = NULL;
+ }
+ 
+-#if defined(__i386__) || defined(__amd64__)
+-#include <machine/cpufunc.h>
+-#endif
+-
+ static struct pci_io_handle *
+-pci_device_freebsd_open_legacy_io(struct pci_io_handle *ret,
+-    struct pci_device *dev, pciaddr_t base, pciaddr_t size)
+-{
+-#if defined(__i386__) || defined(__amd64__)
+-	ret->fd = open("/dev/io", O_RDWR | O_CLOEXEC);
+-
+-	if (ret->fd < 0)
+-		return NULL;
+-
+-	ret->base = base;
+-	ret->size = size;
+-	return ret;
+-#elif defined(PCI_MAGIC_IO_RANGE)
+-	ret->memory = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
+-	    aperturefd, PCI_MAGIC_IO_RANGE + base);
+-	if (ret->memory == MAP_FAILED)
+-		return NULL;
+-
+-	ret->base = base;
+-	ret->size = size;
+-	return ret;
++pci_device_freebsd_open_legacy_io( struct pci_io_handle *ret,
++				   struct pci_device *dev, pciaddr_t base,
++				   pciaddr_t size )
 +{
-+	struct pci_device_mapping map;
-+	int err;
-+
-+	map.base = base;
-+	map.size = size;
-+	map.flags = map_flags;
-+	map.memory = NULL;
-+	err = pci_device_freebsd_map_range(dev, &map);
-+	*addr = map.memory;
-+
-+	return err;
++#if defined(__sparc64__)
++    ret->memory = mmap( NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
++	screenfd, base );
++    if ( ret->memory == MAP_FAILED )
++	return NULL;
+ #else
++    ret->fd = open( "/dev/io", O_RDWR | O_CLOEXEC );
++    if ( ret->fd < 0 )
+ 	return NULL;
+ #endif
++    ret->base = base;
++    ret->size = size;
++    return ret;
+ }
+ 
+-#if defined(__i386__) || defined(__amd64__)
+ static void
+-pci_device_freebsd_close_io(struct pci_device *dev, struct pci_io_handle *handle)
++pci_device_freebsd_close_io( struct pci_device *dev,
++			     struct pci_io_handle *handle )
+ {
+-	if (handle->fd > -1)
+-		close(handle->fd);
+-}
++#if !defined(__sparc64__)
++    if ( handle->fd > -1 )
++	close( handle->fd );
+ #endif
 +}
-+
-+static int
-+pci_device_freebsd_unmap_legacy(struct pci_device *dev, void *addr,
-+    pciaddr_t size)
-+{
-+	struct pci_device_mapping map;
-+
-+	map.memory = addr;
-+	map.size = size;
-+	map.flags = 0;
-+	return pci_device_freebsd_unmap_range(dev, &map);
-+}
-+
+ 
+ static uint32_t
+-pci_device_freebsd_read32(struct pci_io_handle *handle, uint32_t reg)
++pci_device_freebsd_read32( struct pci_io_handle *handle, uint32_t reg )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	return inl(handle->base + reg);
++#if defined(__sparc64__)
++    return *(uint32_t *)((uintptr_t)handle->memory + reg);
++#elif defined(__i386__) || defined(__amd64__)
++    return inl( handle->base + reg );
+ #else
+-	return *(uint32_t *)((uintptr_t)handle->memory + reg);
++    struct iodev_pio_req req = { IODEV_PIO_READ, handle->base + reg, 4, 0 };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
++    return req.val;
+ #endif
+ }
+ 
+ static uint16_t
+-pci_device_freebsd_read16(struct pci_io_handle *handle, uint32_t reg)
++pci_device_freebsd_read16( struct pci_io_handle *handle, uint32_t reg )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	return inw(handle->base + reg);
++#if defined(__sparc64__)
++    return *(uint16_t *)((uintptr_t)handle->memory + reg);
++#elif defined(__i386__) || defined(__amd64__)
++    return inw( handle->base + reg );
+ #else
+-	return *(uint16_t *)((uintptr_t)handle->memory + reg);
++    struct iodev_pio_req req = { IODEV_PIO_READ, handle->base + reg, 2, 0 };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
++    return req.val;
+ #endif
+ }
+ 
+ static uint8_t
+-pci_device_freebsd_read8(struct pci_io_handle *handle, uint32_t reg)
++pci_device_freebsd_read8( struct pci_io_handle *handle, uint32_t reg )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	return inb(handle->base + reg);
++#if defined(__sparc64__)
++    return *(uint8_t *)((uintptr_t)handle->memory + reg);
++#elif defined(__i386__) || defined(__amd64__)
++    return inb( handle->base + reg );
+ #else
+-	return *(uint8_t *)((uintptr_t)handle->memory + reg);
++    struct iodev_pio_req req = { IODEV_PIO_READ, handle->base + reg, 1, 0 };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
++    return req.val;
+ #endif
+ }
+ 
+ static void
+-pci_device_freebsd_write32(struct pci_io_handle *handle, uint32_t reg,
+-    uint32_t data)
++pci_device_freebsd_write32( struct pci_io_handle *handle, uint32_t reg,
++			    uint32_t data )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	outl(handle->base + reg, data);
++#if defined(__sparc64__)
++    *(uint32_t *)((uintptr_t)handle->memory + reg) = data;
++#elif defined(__i386__) || defined(__amd64__)
++    outl( handle->base + reg, data );
+ #else
+-	*(uint16_t *)((uintptr_t)handle->memory + reg) = data;
++    struct iodev_pio_req req = { IODEV_PIO_WRITE, handle->base + reg, 4, data };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
+ #endif
+ }
+ 
+ static void
+-pci_device_freebsd_write16(struct pci_io_handle *handle, uint32_t reg,
+-    uint16_t data)
++pci_device_freebsd_write16( struct pci_io_handle *handle, uint32_t reg,
++			    uint16_t data )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	outw(handle->base + reg, data);
++#if defined(__sparc64__)
++    *(uint16_t *)((uintptr_t)handle->memory + reg) = data;
++#elif defined(__i386__) || defined(__amd64__)
++    outw( handle->base + reg, data );
+ #else
+-	*(uint8_t *)((uintptr_t)handle->memory + reg) = data;
++    struct iodev_pio_req req = { IODEV_PIO_WRITE, handle->base + reg, 2, data };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
+ #endif
+ }
+ 
+ static void
+-pci_device_freebsd_write8(struct pci_io_handle *handle, uint32_t reg,
+-    uint8_t data)
++pci_device_freebsd_write8( struct pci_io_handle *handle, uint32_t reg,
++			   uint8_t data )
+ {
+-#if defined(__i386__) || defined(__amd64__)
+-	outb(handle->base + reg, data);
++#if defined(__sparc64__)
++    *(uint8_t *)((uintptr_t)handle->memory + reg) = data;
++#elif defined(__i386__) || defined(__amd64__)
++    outb(handle->base + reg, data);
+ #else
+-	*(uint32_t *)((uintptr_t)handle->memory + reg) = data;
++    struct iodev_pio_req req = { IODEV_PIO_WRITE, handle->base + reg, 1, data };
++    if ( handle->fd > -1 )
++	ioctl( handle->fd, IODEV_PIO, &req );
+ #endif
+ }
+ 
+ static int
+-pci_device_freebsd_map_legacy(struct pci_device *dev, pciaddr_t base,
+-    pciaddr_t size, unsigned map_flags, void **addr)
++pci_device_freebsd_map_legacy( struct pci_device *dev, pciaddr_t base,
++			       pciaddr_t size, unsigned map_flags, void **addr )
+ {
+-	struct pci_device_mapping map;
+-	int err;
+-
+-	map.base = base;
+-	map.size = size;
+-	map.flags = map_flags;
+-	map.memory = NULL;
+-	err = pci_device_freebsd_map_range(dev, &map);
+-	*addr = map.memory;
++    struct pci_device_mapping map;
++    int err;
+ 
+-	return err;
++    map.base = base;
++    map.size = size;
++    map.flags = map_flags;
++    map.memory = NULL;
++    err = pci_device_freebsd_map_range( dev, &map );
++    *addr = map.memory;
++    return err;
+ }
+ 
+ static int
+-pci_device_freebsd_unmap_legacy(struct pci_device *dev, void *addr,
+-    pciaddr_t size)
++pci_device_freebsd_unmap_legacy( struct pci_device *dev, void *addr,
++				 pciaddr_t size)
+ {
+-	struct pci_device_mapping map;
++    struct pci_device_mapping map;
+ 
+-	map.memory = addr;
+-	map.size = size;
+-	map.flags = 0;
+-	return pci_device_freebsd_unmap_range(dev, &map);
++    map.memory = addr;
++    map.size = size;
++    map.flags = 0;
++    return pci_device_freebsd_unmap_range( dev, &map );
+ }
+ 
  static const struct pci_system_methods freebsd_pci_methods = {
-     .destroy = pci_system_freebsd_destroy,
-     .destroy_device = NULL, /* nothing to do for this */
-@@ -571,6 +705,18 @@
-     .read = pci_device_freebsd_read,
+@@ -706,9 +746,7 @@
      .write = pci_device_freebsd_write,
      .fill_capabilities = pci_fill_capabilities_generic,
-+    .open_legacy_io = pci_device_freebsd_open_legacy_io,
-+#if defined(__i386__) || defined(__amd64__)
-+    .close_io = pci_device_freebsd_close_io,
+     .open_legacy_io = pci_device_freebsd_open_legacy_io,
+-#if defined(__i386__) || defined(__amd64__)
+     .close_io = pci_device_freebsd_close_io,
+-#endif
+     .read32 = pci_device_freebsd_read32,
+     .read16 = pci_device_freebsd_read16,
+     .read8 = pci_device_freebsd_read8,
+@@ -790,3 +828,11 @@
+ 
+     return 0;
+ }
++
++void
++pci_system_freebsd_init_dev_mem(int fd)
++{
++#if defined(__sparc64__)
++    screenfd = fd;
 +#endif
-+    .read32 = pci_device_freebsd_read32,
-+    .read16 = pci_device_freebsd_read16,
-+    .read8 = pci_device_freebsd_read8,
-+    .write32 = pci_device_freebsd_write32,
-+    .write16 = pci_device_freebsd_write16,
-+    .write8 = pci_device_freebsd_write8,
-+    .map_legacy = pci_device_freebsd_map_legacy,
-+    .unmap_legacy = pci_device_freebsd_unmap_legacy,
- };
- 
- /**
++}


Property changes on: trunk/devel/libpciaccess/files/patch-src-freebsd_pci.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.5
\ No newline at end of property
Added: trunk/devel/libpciaccess/files/patch-src-pciaccess_private.h
===================================================================
--- trunk/devel/libpciaccess/files/patch-src-pciaccess_private.h	                        (rev 0)
+++ trunk/devel/libpciaccess/files/patch-src-pciaccess_private.h	2014-03-01 03:19:06 UTC (rev 15977)
@@ -0,0 +1,10 @@
+--- src/pciaccess_private.h.orig	2008-10-11 18:31:00.000000000 +0000
++++ src/pciaccess_private.h	2009-03-29 20:07:50.000000000 +0000
+@@ -136,6 +136,7 @@
+ 
+ extern int pci_system_linux_sysfs_create( void );
+ extern int pci_system_freebsd_create( void );
++extern void pci_system_freebsd_init_dev_mem( int );
+ extern int pci_system_netbsd_create( void );
+ extern int pci_system_openbsd_create( void );
+ extern void pci_system_openbsd_init_dev_mem( int );



More information about the Midnightbsd-cvs mailing list