[PATCH 1/4] xfree86: Remove no-op /dev/mem checks from xf86OSInitVidMem
Mark Kettenis
mark.kettenis at xs4all.nl
Wed Oct 15 13:11:12 PDT 2014
> From: Adam Jackson <ajax at redhat.com>
> Date: Wed, 8 Oct 2014 17:38:56 +0200
>
> pciaccess doesn't end up using the fd being inspected here, so there's
> not really any point.
We currently don't actually support "legacy" PCI video drivers on
OpenBSD/alpha and OpenBSD/arm. We can add the necessary bits back if
we ever add it back (which isn't all that likely).
Reviewed-by: Mark Kettenis <kettenis at openbsd.org>
> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
> hw/xfree86/os-support/bsd/alpha_video.c | 122 --------------------------------
> hw/xfree86/os-support/bsd/arm_video.c | 52 --------------
> hw/xfree86/os-support/hurd/hurd_video.c | 4 --
> 3 files changed, 178 deletions(-)
>
> diff --git a/hw/xfree86/os-support/bsd/alpha_video.c b/hw/xfree86/os-support/bsd/alpha_video.c
> index 236def6..fd8f823 100644
> --- a/hw/xfree86/os-support/bsd/alpha_video.c
> +++ b/hw/xfree86/os-support/bsd/alpha_video.c
> @@ -45,131 +45,9 @@
> #define MAP_FLAGS (MAP_FILE | MAP_SHARED)
> #endif
>
> -#ifndef __NetBSD__
> -extern unsigned long dense_base(void);
> -#else /* __NetBSD__ */
> -static struct alpha_bus_window *abw;
> -static int abw_count = -1;
> -
> -static void
> -init_abw(void)
> -{
> - if (abw_count < 0) {
> - abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
> - if (abw_count <= 0)
> - FatalError("init_abw: alpha_bus_getwindows failed\n");
> - }
> -}
> -
> -static unsigned long
> -dense_base(void)
> -{
> - if (abw_count < 0)
> - init_abw();
> -
> - /* XXX check abst_flags for ABST_DENSE just to be safe? */
> - xf86Msg(X_INFO, "dense base = %#lx\n", abw[0].abw_abst.abst_sys_start); /* XXXX */
> - return abw[0].abw_abst.abst_sys_start;
> -}
> -
> -#endif /* __NetBSD__ */
> -
> -#define BUS_BASE dense_base()
> -
> -/***************************************************************************/
> -/* Video Memory Mapping section */
> -/***************************************************************************/
> -
> -#ifdef __OpenBSD__
> -#define SYSCTL_MSG "\tCheck that you have set 'machdep.allowaperture=1'\n"\
> - "\tin /etc/sysctl.conf and reboot your machine\n" \
> - "\trefer to xf86(4) for details"
> -#endif
> -
> -static int devMemFd = -1;
> -
> -#ifdef HAS_APERTURE_DRV
> -#define DEV_APERTURE "/dev/xf86"
> -#endif
> -
> -/*
> - * Check if /dev/mem can be mmap'd. If it can't print a warning when
> - * "warn" is TRUE.
> - */
> -static void
> -checkDevMem(Bool warn)
> -{
> - static Bool devMemChecked = FALSE;
> - int fd;
> - void *base;
> -
> - if (devMemChecked)
> - return;
> - devMemChecked = TRUE;
> -
> -#ifdef HAS_APERTURE_DRV
> - /* Try the aperture driver first */
> - if ((fd = open(DEV_APERTURE, O_RDWR)) >= 0) {
> - /* Try to map a page at the VGA address */
> - base = mmap((caddr_t) 0, 4096, PROT_READ | PROT_WRITE,
> - MAP_FLAGS, fd, (off_t) 0xA0000 + BUS_BASE);
> -
> - if (base != MAP_FAILED) {
> - munmap((caddr_t) base, 4096);
> - devMemFd = fd;
> - xf86Msg(X_INFO, "checkDevMem: using aperture driver %s\n",
> - DEV_APERTURE);
> - return;
> - }
> - else {
> - if (warn) {
> - xf86Msg(X_WARNING, "checkDevMem: failed to mmap %s (%s)\n",
> - DEV_APERTURE, strerror(errno));
> - }
> - }
> - }
> -#endif
> - if ((fd = open(DEV_MEM, O_RDWR)) >= 0) {
> - /* Try to map a page at the VGA address */
> - base = mmap((caddr_t) 0, 4096, PROT_READ | PROT_WRITE,
> - MAP_FLAGS, fd, (off_t) 0xA0000 + BUS_BASE);
> -
> - if (base != MAP_FAILED) {
> - munmap((caddr_t) base, 4096);
> - devMemFd = fd;
> - return;
> - }
> - else {
> - if (warn) {
> - xf86Msg(X_WARNING, "checkDevMem: failed to mmap %s (%s)\n",
> - DEV_MEM, strerror(errno));
> - }
> - }
> - }
> - if (warn) {
> -#ifndef HAS_APERTURE_DRV
> - xf86Msg(X_WARNING, "checkDevMem: failed to open/mmap %s (%s)\n",
> - DEV_MEM, strerror(errno));
> -#else
> -#ifndef __OpenBSD__
> - xf86Msg(X_WARNING, "checkDevMem: failed to open %s and %s\n"
> - "\t(%s)\n", DEV_APERTURE, DEV_MEM, strerror(errno));
> -#else /* __OpenBSD__ */
> - xf86Msg(X_WARNING, "checkDevMem: failed to open %s and %s\n"
> - "\t(%s)\n%s", DEV_APERTURE, DEV_MEM, strerror(errno),
> - SYSCTL_MSG);
> -#endif /* __OpenBSD__ */
> -#endif
> - xf86ErrorF("\tlinear framebuffer access unavailable\n");
> - }
> - return;
> -}
> -
> void
> xf86OSInitVidMem(VidMemInfoPtr pVidMem)
> {
> - checkDevMem(TRUE);
> -
> pVidMem->initialised = TRUE;
> }
>
> diff --git a/hw/xfree86/os-support/bsd/arm_video.c b/hw/xfree86/os-support/bsd/arm_video.c
> index 3a639b8..fea8528 100644
> --- a/hw/xfree86/os-support/bsd/arm_video.c
> +++ b/hw/xfree86/os-support/bsd/arm_video.c
> @@ -72,61 +72,9 @@
> #define MAP_FLAGS (MAP_FILE | MAP_SHARED)
> #endif
>
> -#define BUS_BASE 0L
> -#define BUS_BASE_BWX 0L
> -
> -/***************************************************************************/
> -/* Video Memory Mapping section */
> -/***************************************************************************/
> -
> -static int devMemFd = -1;
> -
> -/*
> - * Check if /dev/mem can be mmap'd. If it can't print a warning when
> - * "warn" is TRUE.
> - */
> -static void
> -checkDevMem(Bool warn)
> -{
> - static Bool devMemChecked = FALSE;
> - int fd;
> - void *base;
> -
> - if (devMemChecked)
> - return;
> - devMemChecked = TRUE;
> -
> - if ((fd = open(DEV_MEM, O_RDWR)) >= 0) {
> - /* Try to map a page at the VGA address */
> - base = mmap((caddr_t) 0, 4096, PROT_READ | PROT_WRITE,
> - MAP_FLAGS, fd, (off_t) 0xA0000 + BUS_BASE);
> -
> - if (base != MAP_FAILED) {
> - munmap((caddr_t) base, 4096);
> - devMemFd = fd;
> - return;
> - }
> - else {
> - /* This should not happen */
> - if (warn) {
> - xf86Msg(X_WARNING, "checkDevMem: failed to mmap %s (%s)\n",
> - DEV_MEM, strerror(errno));
> - }
> - return;
> - }
> - }
> - if (warn) {
> - xf86Msg(X_WARNING, "checkDevMem: failed to open %s (%s)\n",
> - DEV_MEM, strerror(errno));
> - }
> - return;
> -}
> -
> void
> xf86OSInitVidMem(VidMemInfoPtr pVidMem)
> {
> - checkDevMem(TRUE);
> -
> pVidMem->initialised = TRUE;
> }
>
> diff --git a/hw/xfree86/os-support/hurd/hurd_video.c b/hw/xfree86/os-support/hurd/hurd_video.c
> index 2a96393..1e7d604 100644
> --- a/hw/xfree86/os-support/hurd/hurd_video.c
> +++ b/hw/xfree86/os-support/hurd/hurd_video.c
> @@ -40,10 +40,6 @@
> #include "xf86OSpriv.h"
>
> /**************************************************************************
> - * Video Memory Mapping section
> - ***************************************************************************/
> -
> -/**************************************************************************
> * I/O Permissions section
> ***************************************************************************/
>
> --
> 1.9.3
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list