On Fri, Feb 03, 2017 at 03:48:10PM +1100, Jonathan Gray wrote: > Only compile tested.
Looks sane to me. I don't have any hardware to test it on right now
though.
ok.
>
> Index: configure
> ===================================================================
> RCS file: /cvs/xenocara/xserver/configure,v
> retrieving revision 1.63
> diff -u -p -r1.63 configure
> --- configure 11 Oct 2016 22:15:52 -0000 1.63
> +++ configure 2 Feb 2017 06:52:46 -0000
> @@ -1075,6 +1075,8 @@ I386_VIDEO_FALSE
> I386_VIDEO_TRUE
> HPPA_VIDEO_FALSE
> HPPA_VIDEO_TRUE
> +ARM64_VIDEO_FALSE
> +ARM64_VIDEO_TRUE
> ARM_VIDEO_FALSE
> ARM_VIDEO_TRUE
> ALPHA_VIDEO_FALSE
> @@ -22439,6 +22441,10 @@ DEFAULT_INT10="x86emu"
>
>
> case $host_cpu in
> + aarch64*)
> + ARM64_VIDEO=yes
> + GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
> + ;;
> alpha*)
> ALPHA_VIDEO=yes
> case $host_os in
> @@ -22543,6 +22549,14 @@ else
> ARM_VIDEO_FALSE=
> fi
>
> + if test "x$ARM64_VIDEO" = xyes; then
> + ARM64_VIDEO_TRUE=
> + ARM64_VIDEO_FALSE='#'
> +else
> + ARM64_VIDEO_TRUE='#'
> + ARM64_VIDEO_FALSE=
> +fi
> +
> if test "x$HPPA_VIDEO" = xyes; then
> HPPA_VIDEO_TRUE=
> HPPA_VIDEO_FALSE='#'
> @@ -31734,6 +31748,10 @@ Usually this means the macro was only in
> fi
> if test -z "${ARM_VIDEO_TRUE}" && test -z "${ARM_VIDEO_FALSE}"; then
> as_fn_error $? "conditional \"ARM_VIDEO\" was never defined.
> +Usually this means the macro was only invoked conditionally." "$LINENO" 5
> +fi
> +if test -z "${ARM64_VIDEO_TRUE}" && test -z "${ARM64_VIDEO_FALSE}"; then
> + as_fn_error $? "conditional \"ARM64_VIDEO\" was never defined.
> Usually this means the macro was only invoked conditionally." "$LINENO" 5
> fi
> if test -z "${HPPA_VIDEO_TRUE}" && test -z "${HPPA_VIDEO_FALSE}"; then
> Index: configure.ac
> ===================================================================
> RCS file: /cvs/xenocara/xserver/configure.ac,v
> retrieving revision 1.57
> diff -u -p -r1.57 configure.ac
> --- configure.ac 13 Aug 2016 14:05:23 -0000 1.57
> +++ configure.ac 2 Feb 2017 06:52:17 -0000
> @@ -314,6 +314,10 @@ DEFAULT_INT10="x86emu"
> dnl Override defaults as needed for specific platforms:
>
> case $host_cpu in
> + aarch64*)
> + ARM64_VIDEO=yes
> + GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
> + ;;
> alpha*)
> ALPHA_VIDEO=yes
> case $host_os in
> @@ -391,6 +395,7 @@ AC_SUBST(GLX_ARCH_DEFINES)
> dnl BSD *_video.c selection
> AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
> AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
> +AM_CONDITIONAL(ARM64_VIDEO, [test "x$ARM64_VIDEO" = xyes])
> AM_CONDITIONAL(HPPA_VIDEO, [test "x$HPPA_VIDEO" = xyes])
> AM_CONDITIONAL(I386_VIDEO, [test "x$I386_VIDEO" = xyes])
> AM_CONDITIONAL(LUNA88K_VIDEO, [test "x$LUNA88K_VIDEO" = xyes])
> Index: hw/xfree86/os-support/bsd/Makefile.am
> ===================================================================
> RCS file: /cvs/xenocara/xserver/hw/xfree86/os-support/bsd/Makefile.am,v
> retrieving revision 1.19
> diff -u -p -r1.19 Makefile.am
> --- hw/xfree86/os-support/bsd/Makefile.am 16 Sep 2015 19:10:23 -0000
> 1.19
> +++ hw/xfree86/os-support/bsd/Makefile.am 2 Feb 2017 06:52:17 -0000
> @@ -35,6 +35,11 @@ ARCH_SOURCES = arm_video.c \
> $(srcdir)/../shared/ioperm_noop.c
> endif
>
> +if ARM64_VIDEO
> +ARCH_SOURCES = arm64_video.c \
> + $(srcdir)/../shared/ioperm_noop.c
> +endif
> +
> if HPPA_VIDEO
> ARCH_SOURCES = hppa_video.c\
> $(srcdir)/../shared/ioperm_noop.c
> Index: hw/xfree86/os-support/bsd/Makefile.in
> ===================================================================
> RCS file: /cvs/xenocara/xserver/hw/xfree86/os-support/bsd/Makefile.in,v
> retrieving revision 1.41
> diff -u -p -r1.41 Makefile.in
> --- hw/xfree86/os-support/bsd/Makefile.in 11 Oct 2016 22:15:56 -0000
> 1.41
> +++ hw/xfree86/os-support/bsd/Makefile.in 2 Feb 2017 06:52:17 -0000
> @@ -76,26 +76,29 @@ libbsd_la_LIBADD =
> am__libbsd_la_SOURCES_DIST = $(srcdir)/../shared/posix_tty.c \
> $(srcdir)/../shared/sigio.c $(srcdir)/../shared/vidmem.c \
> bsd_VTsw.c bsd_init.c bsd_bell.c alpha_video.c bsd_ev56.c \
> - arm_video.c $(srcdir)/../shared/ioperm_noop.c hppa_video.c \
> - i386_video.c luna88k_video.c ppc_video.c sgi_video.c \
> - sparc64_video.c bsd_sbus.c $(srcdir)/../shared/agp_noop.c \
> - bsd_agp.c $(srcdir)/../shared/pm_noop.c $(srcdir)/bsd_apm.c \
> + arm64_video.c $(srcdir)/../shared/ioperm_noop.c arm_video.c \
> + hppa_video.c i386_video.c luna88k_video.c ppc_video.c \
> + sgi_video.c sparc64_video.c bsd_sbus.c \
> + $(srcdir)/../shared/agp_noop.c bsd_agp.c \
> + $(srcdir)/../shared/pm_noop.c $(srcdir)/bsd_apm.c \
> $(srcdir)/bsd_kqueue_apm.c $(srcdir)/../shared/kmod_noop.c \
> bsd_kmod.c
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@am__objects_1
> = sparc64_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@
> bsd_sbus.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@
> ioperm_noop.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_TRUE@am__objects_1
> = sgi_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_TRUE@
> ioperm_noop.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_TRUE@am__objects_1
> = ppc_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_TRUE@
> ioperm_noop.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_TRUE@am__objects_1
> = luna88k_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_TRUE@
> ioperm_noop.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_TRUE@am__objects_1
> = i386_video.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_TRUE@am__objects_1 =
> hppa_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_TRUE@ ioperm_noop.lo
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_TRUE@am__objects_1 = arm_video.lo \
> -@ALPHA_VIDEO_FALSE@@ARM_VIDEO_TRUE@ ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@am__objects_1
> = sparc64_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@
> bsd_sbus.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@
> ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_TRUE@am__objects_1
> = sgi_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_TRUE@
> ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_TRUE@am__objects_1
> = ppc_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_TRUE@
> ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_TRUE@am__objects_1
> = luna88k_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_TRUE@
> ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_TRUE@am__objects_1
> = i386_video.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_TRUE@am__objects_1
> = hppa_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_TRUE@
> ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_TRUE@am__objects_1 =
> arm_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_FALSE@@ARM_VIDEO_TRUE@ ioperm_noop.lo
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_TRUE@am__objects_1 = arm64_video.lo \
> +@ALPHA_VIDEO_FALSE@@ARM64_VIDEO_TRUE@ ioperm_noop.lo
> @ALPHA_VIDEO_TRUE@am__objects_1 = alpha_video.lo bsd_ev56.lo
> @AGP_FALSE@am__objects_2 = agp_noop.lo
> @AGP_TRUE@am__objects_2 = bsd_agp.lo
> @@ -519,6 +522,9 @@ noinst_LTLIBRARIES = libbsd.la
> @ALPHA_VIDEO_TRUE@ alpha_video.c \
> @ALPHA_VIDEO_TRUE@ bsd_ev56.c
>
> +@ARM64_VIDEO_TRUE@ARCH_SOURCES = arm64_video.c \
> +@ARM64_VIDEO_TRUE@ $(srcdir)/../shared/ioperm_noop.c
> +
> @ARM_VIDEO_TRUE@ARCH_SOURCES = arm_video.c \
> @ARM_VIDEO_TRUE@ $(srcdir)/../shared/ioperm_noop.c
>
> @@ -622,6 +628,7 @@ distclean-compile:
>
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/agp_noop.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alpha_video.Plo@am__quote@
> +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm64_video.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_video.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_VTsw.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_agp.Plo@am__quote@
> --- /dev/null Fri Feb 3 15:44:58 2017
> +++ hw/xfree86/os-support/bsd/arm64_video.c Thu Feb 2 17:50:50 2017
> @@ -0,0 +1,57 @@
> +/* $OpenBSD$ */
> +/*
> + * Copyright 1992 by Rich Murphey <[email protected]>
> + * Copyright 1993 by David Wexelblat <[email protected]>
> + *
> + * Permission to use, copy, modify, distribute, and sell this software and
> its
> + * documentation for any purpose is hereby granted without fee, provided that
> + * the above copyright notice appear in all copies and that both that
> + * copyright notice and this permission notice appear in supporting
> + * documentation, and that the names of Rich Murphey and David Wexelblat
> + * not be used in advertising or publicity pertaining to distribution of
> + * the software without specific, written prior permission. Rich Murphey and
> + * David Wexelblat make no representations about the suitability of this
> + * software for any purpose. It is provided "as is" without express or
> + * implied warranty.
> + *
> + * RICH MURPHEY AND DAVID WEXELBLAT DISCLAIM ALL WARRANTIES WITH REGARD TO
> + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
> + * FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID WEXELBLAT BE LIABLE FOR
> + * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
> + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
> + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
> + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + *
> + */
> +
> +#ifdef HAVE_XORG_CONFIG_H
> +#include <xorg-config.h>
> +#endif
> +
> +#include <X11/X.h>
> +#include "xf86.h"
> +#include "xf86Priv.h"
> +
> +#include "xf86_OSlib.h"
> +#include "xf86OSpriv.h"
> +
> +/***************************************************************************/
> +/* Video Memory Mapping section */
> +/***************************************************************************/
> +
> +void
> +xf86OSInitVidMem(VidMemInfoPtr pVidMem)
> +{
> + pVidMem->initialised = TRUE;
> +}
> +
> +#ifdef X_PRIVSEP
> +/*
> + * Do all initialisation that need root privileges
> + */
> +_X_EXPORT void
> +xf86PrivilegedInit(void)
> +{
> + xf86OpenConsole();
> +}
> +#endif
--
Matthieu Herrb
signature.asc
Description: PGP signature
