Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Mar 2017 10:25:49 +0000 (UTC)
From:      Bruce Evans <bde@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r314997 - head/sys/dev/syscons
Message-ID:  <201703101025.v2AAPnHW083764@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bde
Date: Fri Mar 10 10:25:48 2017
New Revision: 314997
URL: https://svnweb.freebsd.org/changeset/base/314997

Log:
  Fix compilation on sparc64.  The frame buffer address is in a field that
  is unavailable on sparc64 only.  This makes the new ec_putc() a non-op
  on sparc64 but still calls it.  On other non-x86 arches, it should
  compile but might not work.
  
  Reported by:	gjb

Modified:
  head/sys/dev/syscons/syscons.c

Modified: head/sys/dev/syscons/syscons.c
==============================================================================
--- head/sys/dev/syscons/syscons.c	Fri Mar 10 10:09:44 2017	(r314996)
+++ head/sys/dev/syscons/syscons.c	Fri Mar 10 10:25:48 2017	(r314997)
@@ -277,7 +277,9 @@ static	u_int	ec_scroffset;
  * set (likely non-fake) graphics mode to get a null initial ec_putc().
  */
 static	scr_stat	fake_main_console = {
+#ifndef __sparc64__
 	.scr.vtb_buffer = 0xb8000,
+#endif
 	.xsize = 80,
 	.ysize = 25,
 #if !defined(__amd64__) && !defined(__i386__)
@@ -290,6 +292,7 @@ static	scr_stat	fake_main_console = {
 static void
 ec_putc(int c)
 {
+#ifndef __sparc64__
 	u_short *scrptr;
 	u_int ind;
 	int attr, column, mysize, width, xsize, yborder, ysize;
@@ -321,6 +324,7 @@ ec_putc(int c)
 	do
 		scrptr[ind++ % mysize] = (attr << 8) | c;
 	while (--width != 0);
+#endif /* !__sparc64__ */
 }
 
 #undef main_console



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703101025.v2AAPnHW083764>