Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 532658 Details for
Bug 548906
x11-drivers/xf86-video-mga - mga_drv.so fails to load: undefined symbol: xf86WriteMmio16
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
0001-xfree86-Inline-xf86-Read-Write-Mmio-8-16-32-on-alpha.patch (text/plain), 7.79 KB, created by
Matt Turner
on 2018-05-23 04:58:14 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Matt Turner
Created:
2018-05-23 04:58:14 UTC
Size:
7.79 KB
patch
obsolete
>From 3cfded41c87ccd58d29ed2ce39e64c06118a1c4c Mon Sep 17 00:00:00 2001 >From: Matt Turner <mattst88@gmail.com> >Date: Tue, 22 May 2018 21:10:55 -0700 >Subject: [PATCH xserver] xfree86: Inline xf86{Read,Write}Mmio{8,16,32} on > alpha > >In > > commit 9db2af6f757ef9680c70eb731698b7c9f9aca203 > Author: Adam Jackson <ajax@redhat.com> > Date: Fri May 2 12:14:10 2014 -0400 > > xfree86: Remove xf86{Map,Unmap}VidMem > >we somehow stopped exporting xf86{Read,Write}Mmio{8,16,32}. Since the >function pointer indirection was intended to support dense vs sparse and >sparse support is now gone, we can just make the functions static inline >in compiler.h and avoid all of this. >--- > configure.ac | 4 -- > hw/xfree86/common/compiler.h | 67 ++++++++++++++++++++++++--------- > hw/xfree86/os-support/bsd/Makefile.am | 3 +- > hw/xfree86/os-support/linux/Makefile.am | 12 ------ > hw/xfree86/os-support/linux/lnx_video.c | 27 ------------- > hw/xfree86/os-support/meson.build | 1 - > 6 files changed, 50 insertions(+), 64 deletions(-) > >diff --git a/configure.ac b/configure.ac >index ddc47faa2..0075b6ace 100644 >--- a/configure.ac >+++ b/configure.ac >@@ -1908,9 +1908,6 @@ if test "x$XORG" = xyes; then > XORG_OS_SUBDIR="linux" > linux_acpi="no" > case $host_cpu in >- alpha*) >- linux_alpha=yes >- ;; > i*86|amd64*|x86_64*|ia64*) > linux_acpi=$enable_linux_acpi > ;; >@@ -2075,7 +2072,6 @@ AM_CONDITIONAL([XORG], [test "x$XORG" = xyes]) > AM_CONDITIONAL([XORG_BUS_PCI], [test "x$PCI" = xyes]) > AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes]) > AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes]) >-AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes]) > AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes]) > AM_CONDITIONAL([LNXAPM], [test "x$linux_apm" = xyes]) > AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes]) >diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h >index eea29dfb5..7144c6a27 100644 >--- a/hw/xfree86/common/compiler.h >+++ b/hw/xfree86/common/compiler.h >@@ -986,33 +986,64 @@ inl(unsigned PORT_SIZE port) > #endif > > #ifdef __alpha__ >-/* entry points for Mmio memory access routines */ >-extern _X_EXPORT int (*xf86ReadMmio8) (void *, unsigned long); >-extern _X_EXPORT int (*xf86ReadMmio16) (void *, unsigned long); >-extern _X_EXPORT int (*xf86ReadMmio32) (void *, unsigned long); >-extern _X_EXPORT void (*xf86WriteMmio8) (int, void *, unsigned long); >-extern _X_EXPORT void (*xf86WriteMmio16) (int, void *, unsigned long); >-extern _X_EXPORT void (*xf86WriteMmio32) (int, void *, unsigned long); >+static inline int >+xf86ReadMmio8(void *Base, unsigned long Offset) >+{ >+ mem_barrier(); >+ return *(CARD8 *) ((unsigned long) Base + (Offset)); >+} >+ >+static inline int >+xf86ReadMmio16(void *Base, unsigned long Offset) >+{ >+ mem_barrier(); >+ return *(CARD16 *) ((unsigned long) Base + (Offset)); >+} >+ >+static inline int >+xf86ReadMmio32(void *Base, unsigned long Offset) >+{ >+ mem_barrier(); >+ return *(CARD32 *) ((unsigned long) Base + (Offset)); >+} >+ >+static inline void >+xf86WriteMmio8(int Value, void *Base, unsigned long Offset) >+{ >+ write_mem_barrier(); >+ *(CARD8 *) ((unsigned long) Base + (Offset)) = Value; >+} >+ >+static inline void >+xf86WriteMmio16(int Value, void *Base, unsigned long Offset) >+{ >+ write_mem_barrier(); >+ *(CARD16 *) ((unsigned long) Base + (Offset)) = Value; >+} >+ >+static inline void >+xf86WriteMmio32(int Value, void *Base, unsigned long Offset) >+{ >+ write_mem_barrier(); >+ *(CARD32 *) ((unsigned long) Base + (Offset)) = Value; >+} >+ > extern _X_EXPORT void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, > int); > extern _X_EXPORT void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); > > /* Some macros to hide the system dependencies for MMIO accesses */ > /* Changed to kill noise generated by gcc's -Wcast-align */ >-#define MMIO_IN8(base, offset) (*xf86ReadMmio8)(base, offset) >-#define MMIO_IN16(base, offset) (*xf86ReadMmio16)(base, offset) >-#define MMIO_IN32(base, offset) (*xf86ReadMmio32)(base, offset) >- >-#define MMIO_OUT32(base, offset, val) \ >- do { \ >- write_mem_barrier(); \ >- *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \ >- } while (0) >+#define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset) >+#define MMIO_IN16(base, offset) xf86ReadMmio16(base, offset) >+#define MMIO_IN32(base, offset) xf86ReadMmio32(base, offset) > > #define MMIO_OUT8(base, offset, val) \ >- (*xf86WriteMmio8)((CARD8)(val), base, offset) >+ xf86WriteMmio8((CARD8)(val), base, offset) > #define MMIO_OUT16(base, offset, val) \ >- (*xf86WriteMmio16)((CARD16)(val), base, offset) >+ xf86WriteMmio16((CARD16)(val), base, offset) >+#define MMIO_OUT32(base, offset, val) \ >+ xf86WriteMmio32((CARD32)(val), base, offset) > > #elif defined(__powerpc__) || defined(__sparc__) > /* >diff --git a/hw/xfree86/os-support/bsd/Makefile.am b/hw/xfree86/os-support/bsd/Makefile.am >index b01ea5bca..66ac83805 100644 >--- a/hw/xfree86/os-support/bsd/Makefile.am >+++ b/hw/xfree86/os-support/bsd/Makefile.am >@@ -26,8 +26,7 @@ endif > if ALPHA_VIDEO > # Cheat here and piggyback other alpha bits on ALPHA_VIDEO. > ARCH_SOURCES = \ >- alpha_video.c \ >- bsd_ev56.c >+ alpha_video.c > endif > > if ARM_VIDEO >diff --git a/hw/xfree86/os-support/linux/Makefile.am b/hw/xfree86/os-support/linux/Makefile.am >index 26e40bb93..9b4535b53 100644 >--- a/hw/xfree86/os-support/linux/Makefile.am >+++ b/hw/xfree86/os-support/linux/Makefile.am >@@ -1,13 +1,5 @@ > noinst_LTLIBRARIES = liblinux.la > >-if LINUX_ALPHA >-noinst_LTLIBRARIES += liblinuxev56.la >- >-liblinuxev56_la_CFLAGS = $(AM_CFLAGS) -mcpu=ev56 >- >-liblinuxev56_la_SOURCES = lnx_ev56.c >-endif >- > if LNXACPI > ACPI_SRCS = lnx_acpi.c > if !LNXAPM >@@ -39,7 +31,3 @@ liblinux_la_SOURCES = linux.h lnx_init.c lnx_video.c \ > AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES) > > AM_CPPFLAGS = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) >- >-if LINUX_ALPHA >-liblinux_la_LIBADD = liblinuxev56.la >-endif >diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c >index c09d71947..04e45092a 100644 >--- a/hw/xfree86/os-support/linux/lnx_video.c >+++ b/hw/xfree86/os-support/linux/lnx_video.c >@@ -166,30 +166,3 @@ xf86DisableIO(void) > > ExtendedEnabled = FALSE; > } >- >-#if defined (__alpha__) >- >-extern int readDense8(void *Base, register unsigned long Offset); >-extern int readDense16(void *Base, register unsigned long Offset); >-extern int readDense32(void *Base, register unsigned long Offset); >-extern void >- writeDense8(int Value, void *Base, register unsigned long Offset); >-extern void >- writeDense16(int Value, void *Base, register unsigned long Offset); >-extern void >- writeDense32(int Value, void *Base, register unsigned long Offset); >- >-void (*xf86WriteMmio8) (int Value, void *Base, unsigned long Offset) >- = writeDense8; >-void (*xf86WriteMmio16) (int Value, void *Base, unsigned long Offset) >- = writeDense16; >-void (*xf86WriteMmio32) (int Value, void *Base, unsigned long Offset) >- = writeDense32; >-int (*xf86ReadMmio8) (void *Base, unsigned long Offset) >- = readDense8; >-int (*xf86ReadMmio16) (void *Base, unsigned long Offset) >- = readDense16; >-int (*xf86ReadMmio32) (void *Base, unsigned long Offset) >- = readDense32; >- >-#endif /* __alpha__ */ >diff --git a/hw/xfree86/os-support/meson.build b/hw/xfree86/os-support/meson.build >index 901422786..b6e5c975d 100644 >--- a/hw/xfree86/os-support/meson.build >+++ b/hw/xfree86/os-support/meson.build >@@ -100,7 +100,6 @@ elif host_machine.system().endswith('bsd') > srcs_xorg_os_support += 'shared/ioperm_noop.c' > elif host_machine.cpu_family() == 'alpha' > srcs_xorg_os_support += 'bsd/alpha_video.c' >- srcs_xorg_os_support += 'bsd/bsd_ev56.c' > endif > > if host_machine.system() == 'freebsd' >-- >2.16.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 548906
: 532658