Subject: Re: Splash screen boot HOWTO
To: Mark Kirby <mark@coris.org.uk>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: current-users
Date: 02/19/2006 10:21:32
On Sun, 19 Feb 2006, Mark Kirby wrote:
> Yes it works fine. Im using xorg from pkgsrc.

I think I have found the problem. Please try the following patch:

Cheers,
Jared

Index: vga.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/vga.c,v
retrieving revision 1.83
diff -u -r1.83 vga.c
--- vga.c	11 Dec 2005 12:21:29 -0000	1.83
+++ vga.c	19 Feb 2006 14:07:02 -0000
@@ -720,6 +720,13 @@
  int
  vga_is_console(bus_space_tag_t iot, int type)
  {
+#ifdef __i386__
+	struct device *dv;
+
+	for (dv = alldevs.tqh_first; dv; dv=dv->dv_list.tqe_next)
+		if (strncmp(dv->dv_xname, "vesafb", 6) == 0)
+			return (0);
+#endif
  	if (vgaconsole &&
  	    !vga_console_attached &&
  	    iot == vga_console_vc.hdl.vh_iot &&
Index: vga_common.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/vga_common.c,v
retrieving revision 1.6
diff -u -r1.6 vga_common.c
--- vga_common.c	11 Dec 2005 12:21:29 -0000	1.6
+++ vga_common.c	19 Feb 2006 14:07:02 -0000
@@ -51,9 +51,18 @@
  	u_int16_t vgadata;
  	int gotio_vga, gotio_6845, gotmem, mono, rv;
  	int dispoffset;
+#ifdef __i386__
+	struct device *dv;
+#endif

  	gotio_vga = gotio_6845 = gotmem = rv = 0;

+#ifdef __i386__
+	for (dv = alldevs.tqh_first; dv; dv=dv->dv_list.tqe_next)
+		if (strncmp(dv->dv_xname, "vesafb", 6) == 0)
+			goto bad;
+#endif
+
  	if (bus_space_map(iot, 0x3c0, 0x10, 0, &ioh_vga))
  		goto bad;
  	gotio_vga = 1;