Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Amiga wscons/Xorg support, first phase.



details:   https://anonhg.NetBSD.org/src/rev/7552b1f0d8a8
branches:  trunk
changeset: 772050:7552b1f0d8a8
user:      phx <phx%NetBSD.org@localhost>
date:      Thu Dec 15 14:25:12 2011 +0000

description:
Amiga wscons/Xorg support, first phase.
Implemented wscons for CV64 and CV64/3D. Other graphics cards drivers are
prepared for it, but will not be attempted before Xorg is not running.
The wscons support is disabled by default. A GENERIC kernel should behave
like always. Use WSCONS to try out a kernel with wscons support.
Done by rkujawa@ and phx@.

diffstat:

 sbin/wsconsctl/util.c             |    3 +-
 sys/arch/amiga/amiga/conf.c       |   13 +-
 sys/arch/amiga/amiga/machdep.c    |    9 +-
 sys/arch/amiga/conf/DRACO         |    8 +-
 sys/arch/amiga/conf/GENERIC       |   12 +-
 sys/arch/amiga/conf/GENERIC.in    |   35 +--
 sys/arch/amiga/conf/INSTALL       |   12 +-
 sys/arch/amiga/conf/WSCONS        |   16 +-
 sys/arch/amiga/conf/files.amiga   |    8 +-
 sys/arch/amiga/dev/amidisplaycc.c |    6 +-
 sys/arch/amiga/dev/grf.c          |  445 +++++++++++++++++++++++++++++++++++++-
 sys/arch/amiga/dev/grf_cc.c       |    7 +-
 sys/arch/amiga/dev/grf_cl.c       |   11 +-
 sys/arch/amiga/dev/grf_cv.c       |  271 ++++++++++++++++++++++-
 sys/arch/amiga/dev/grf_cv3d.c     |  276 +++++++++++++++++++++++-
 sys/arch/amiga/dev/grf_cv3dreg.h  |    8 +-
 sys/arch/amiga/dev/grf_cvreg.h    |   10 +-
 sys/arch/amiga/dev/grf_et.c       |   11 +-
 sys/arch/amiga/dev/grf_rh.c       |    9 +-
 sys/arch/amiga/dev/grf_rt.c       |    7 +-
 sys/arch/amiga/dev/grf_ul.c       |    9 +-
 sys/arch/amiga/dev/grfvar.h       |   57 +++-
 sys/arch/amiga/dev/grfws.h        |   73 ++++++
 sys/arch/amiga/dev/ite.c          |    9 +-
 sys/dev/wscons/wsconsio.h         |    3 +-
 25 files changed, 1194 insertions(+), 134 deletions(-)

diffs (truncated from 2207 to 300 lines):

diff -r 300712802fac -r 7552b1f0d8a8 sbin/wsconsctl/util.c
--- a/sbin/wsconsctl/util.c     Thu Dec 15 13:27:06 2011 +0000
+++ b/sbin/wsconsctl/util.c     Thu Dec 15 14:25:12 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: util.c,v 1.29 2011/02/06 21:38:09 pooka Exp $ */
+/*     $NetBSD: util.c,v 1.30 2011/12/15 14:25:12 phx Exp $ */
 
 /*-
  * Copyright (c) 1998, 2006 The NetBSD Foundation, Inc.
@@ -126,6 +126,7 @@
        { WSDISPLAY_TYPE_TVRX,          "hp-tiger" },
        { WSDISPLAY_TYPE_HYPERION,      "hp-hyperion" },
        { WSDISPLAY_TYPE_AMIGACC,       "amiga-cc" },
+       { WSDISPLAY_TYPE_GRF,           "grf" },
        { WSDISPLAY_TYPE_SUN24,         "sun24" },
        { WSDISPLAY_TYPE_NEWPORT,       "sgi-newport" },
        { WSDISPLAY_TYPE_GR2,           "sgi-gr2" },
diff -r 300712802fac -r 7552b1f0d8a8 sys/arch/amiga/amiga/conf.c
--- a/sys/arch/amiga/amiga/conf.c       Thu Dec 15 13:27:06 2011 +0000
+++ b/sys/arch/amiga/amiga/conf.c       Thu Dec 15 14:25:12 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: conf.c,v 1.72 2005/12/11 12:16:26 christos Exp $       */
+/*     $NetBSD: conf.c,v 1.73 2011/12/15 14:25:12 phx Exp $    */
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: conf.c,v 1.72 2005/12/11 12:16:26 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: conf.c,v 1.73 2011/12/15 14:25:12 phx Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -42,6 +42,7 @@
 #include "ser.h"
 #include "ite.h"
 #include "amidisplaycc.h"
+#include "wsdisplay.h"
 
 /*
  * This entire table could be autoconfig()ed but that would mean that
@@ -50,14 +51,18 @@
  * known algorithm unless we see a pressing need otherwise.
  */
 cons_decl(ser);
+cons_decl(grf);
+cons_decl(amidisplaycc_);
 cons_decl(ite);
-cons_decl(amidisplaycc_);
 
 struct consdev constab[] = {
 #if NSER > 0
        cons_init(ser),
 #endif
-#if NAMIDISPLAYCC>0
+#if NWSDISPLAY > 0
+       { dev_init(grf,cnprobe), dev_init(grf,cninit) },
+#endif
+#if NAMIDISPLAYCC > 0
        cons_init(amidisplaycc_),
 #endif
 #if NITE > 0
diff -r 300712802fac -r 7552b1f0d8a8 sys/arch/amiga/amiga/machdep.c
--- a/sys/arch/amiga/amiga/machdep.c    Thu Dec 15 13:27:06 2011 +0000
+++ b/sys/arch/amiga/amiga/machdep.c    Thu Dec 15 14:25:12 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.236 2011/12/12 19:03:08 mrg Exp $        */
+/*     $NetBSD: machdep.c,v 1.237 2011/12/15 14:25:12 phx Exp $        */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -48,7 +48,7 @@
 #include "opt_m68k_arch.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.236 2011/12/12 19:03:08 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.237 2011/12/15 14:25:12 phx Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -107,6 +107,7 @@
 #include <amiga/amiga/cia.h>
 #include <amiga/amiga/cc.h>
 #include <amiga/amiga/memlist.h>
+#include <amiga/amiga/device.h>
 
 #include "fd.h"
 #include "ser.h"
@@ -182,6 +183,10 @@
        } else
 #endif
                custom_chips_init();
+
+       /* preconfigure graphics cards */
+       config_console();
+
        /*
         * Initialize the console before we print anything out.
         */
diff -r 300712802fac -r 7552b1f0d8a8 sys/arch/amiga/conf/DRACO
--- a/sys/arch/amiga/conf/DRACO Thu Dec 15 13:27:06 2011 +0000
+++ b/sys/arch/amiga/conf/DRACO Thu Dec 15 14:25:12 2011 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: DRACO,v 1.145 2011/11/22 21:24:55 tls Exp $
+# $NetBSD: DRACO,v 1.146 2011/12/15 14:25:12 phx Exp $
 #
 # This file was automatically created.
 # Changes will be lost when make is run in this directory.
 #
-# Created from: # NetBSD: GENERIC.in,v 1.86 2011/10/30 11:16:05 rkujawa Exp $
+# Created from: # NetBSD: GENERIC.in,v 1.87 2011/11/22 21:24:56 tls Exp $
 #
 ##
 # GENERIC machine description file
@@ -29,7 +29,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident                 "GENERIC-$Revision: 1.145 $"
+#ident                 "GENERIC-$Revision: 1.146 $"
 
 
 maxusers       8
@@ -270,12 +270,10 @@
 # Don't enable wskbd if you use ite.
 #
 # XXX in std.amiga: kbd0 at mainbus0
-
 #wskbd0                at kbd0 console ?
 
 
 
-
 #wsmouse*      at ms?
 
 #
diff -r 300712802fac -r 7552b1f0d8a8 sys/arch/amiga/conf/GENERIC
--- a/sys/arch/amiga/conf/GENERIC       Thu Dec 15 13:27:06 2011 +0000
+++ b/sys/arch/amiga/conf/GENERIC       Thu Dec 15 14:25:12 2011 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: GENERIC,v 1.275 2011/11/22 21:24:56 tls Exp $
+# $NetBSD: GENERIC,v 1.276 2011/12/15 14:25:12 phx Exp $
 #
 # This file was automatically created.
 # Changes will be lost when make is run in this directory.
 #
-# Created from: # NetBSD: GENERIC.in,v 1.86 2011/10/30 11:16:05 rkujawa Exp $
+# Created from: # NetBSD: GENERIC.in,v 1.87 2011/11/22 21:24:56 tls Exp $
 #
 ##
 # GENERIC machine description file
@@ -29,7 +29,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident                 "GENERIC-$Revision: 1.275 $"
+#ident                 "GENERIC-$Revision: 1.276 $"
 
 
 maxusers       8
@@ -265,7 +265,6 @@
 # wscons aware interface to amiga custom chips.
 # If you enable it enable also wskbd.
 #
-
 #amidisplaycc0 at mainbus0             # wscons interface to custom chips
 #wsdisplay0    at amidisplaycc0 console ?
 #options       WSEMUL_VT100
@@ -298,6 +297,9 @@
 ite6           at grf6                 # terminal emulators for grfs
 ite7           at grf7                 # terminal emulators for grfs
 
+#wsdisplay*    at grf5 console ?       # wsdisplay on top of grf (CV64)
+#wsdisplay*    at grf7 console ?       # wsdisplay on top of grf (CV64/3D)
+
 msc0           at zbus0                # A2232 MSC multiport serial.
 mfc0           at zbus0                # MultiFaceCard I/O board
 mfcs0          at mfc0 unit 0          # MFC serial
@@ -327,7 +329,6 @@
 # Don't enable wskbd if you use ite.
 #
 # XXX in std.amiga: kbd0 at mainbus0
-
 #wskbd0                at kbd0 console ?
 
 
@@ -345,7 +346,6 @@
 aucc*          at mainbus0             # Amiga CC audio
 audio*         at aucc?
 
-
 #wsmouse*      at ms?
 
 #
diff -r 300712802fac -r 7552b1f0d8a8 sys/arch/amiga/conf/GENERIC.in
--- a/sys/arch/amiga/conf/GENERIC.in    Thu Dec 15 13:27:06 2011 +0000
+++ b/sys/arch/amiga/conf/GENERIC.in    Thu Dec 15 14:25:12 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC.in,v 1.87 2011/11/22 21:24:56 tls Exp $
+# $NetBSD: GENERIC.in,v 1.88 2011/12/15 14:25:12 phx Exp $
 #
 ##
 # GENERIC machine description file
@@ -29,7 +29,6 @@
 # make DRACO extracts the DRACO configuration file.
 # make GENERIC extracts the GENERIC configuration file.
 # make INSTALL extracts the INSTALL configuration file.
-# make WSCONS extracts the WSCONS configuration file.
 #
 # commit them, too.
 #
@@ -46,10 +45,6 @@
 #
 m4_ifelse(M4_Target, `DRACO', `', `m4_define(`AMIGA_CONFIGURATION', `')')
 
-# If building WSCONS, uncomment various options
-#
-m4_ifdef(`WSCONS_CONFIGURATION', `m4_define(`WSOFF', `wson')', `m4_define(`WSOFF', `wsoff')')
-
 
 m4_divert(0)m4_dnl
 
@@ -57,7 +52,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident                 "GENERIC-$Revision: 1.87 $"
+#ident                 "GENERIC-$Revision: 1.88 $"
 
 m4_ifdef(`INSTALL_CONFIGURATION', `m4_dnl
 makeoptions    COPTS="-Os"
@@ -326,22 +321,13 @@
 # wscons aware interface to amiga custom chips.
 # If you enable it enable also wskbd.
 #
-m4_ifdef(`WSCONS_CONFIGURATION', `m4_dnl
-amidisplaycc0  at mainbus0             # wscons interface to custom chips
-wsdisplay0     at amidisplaycc0 console ?
-options        WSEMUL_VT100
-options        FONT_VT220L8x10
-options        FONT_VT220ISO8x16
-', `
 #amidisplaycc0 at mainbus0             # wscons interface to custom chips
 #wsdisplay0    at amidisplaycc0 console ?
 #options       WSEMUL_VT100
 #options       FONT_VT220L8x10
 #options       FONT_VT220ISO8x16
 ')m4_dnl
-')m4_dnl
 
-m4_ifdef(`WSCONS_CONFIGURATION', `', `m4_dnl
 m4_ifdef(`AMIGA_CONFIGURATION', `m4_dnl
 grfcc0         at mainbus0             # custom chips
 grfrt0         at zbus0                # retina II
@@ -376,7 +362,9 @@
 ite5           at grf5                 # terminal emulators for grfs
 ite6           at grf6                 # terminal emulators for grfs
 ite7           at grf7                 # terminal emulators for grfs
-')m4_dnl
+
+#wsdisplay*    at grf5 console ?       # wsdisplay on top of grf (CV64)
+#wsdisplay*    at grf7 console ?       # wsdisplay on top of grf (CV64/3D)
 ')m4_dnl
 
 msc0           at zbus0                # A2232 MSC multiport serial.
@@ -408,11 +396,7 @@
 # Don't enable wskbd if you use ite.
 #
 # XXX in std.amiga: kbd0 at mainbus0
-m4_ifdef(`WSCONS_CONFIGURATION', `m4_dnl
-wskbd0         at kbd0 console ?
-', `
 #wskbd0                at kbd0 console ?
-')m4_dnl
 
 
 m4_ifdef(`AMIGA_CONFIGURATION', `m4_dnl
@@ -433,11 +417,7 @@
 ')m4_dnl
 ')m4_dnl
 
-m4_ifdef(`WSCONS_CONFIGURATION', `m4_dnl
-wsmouse*       at ms?
-', `
 #wsmouse*      at ms?
-')m4_dnl
 
 m4_ifdef(`DRACO_CONFIGURATION', `m4_dnl
 #
@@ -656,13 +636,8 @@
 ')m4_dnl
 pseudo-device  clockctl                # user control of clock subsystem
 
-m4_ifdef(`WSCONS_CONFIGURATION', `m4_dnl
-pseudo-device  wsfont                  # wsfont(4) dynamic font loading support
-pseudo-device  wsmux                   # mouse & keyboard multiplexor
-', `m4_dnl
 #pseudo-device wsfont                  # wsfont(4) dynamic font loading support



Home | Main Index | Thread Index | Old Index