svn commit: r314997 - head/sys/dev/syscons

Bruce Evans bde at FreeBSD.org
Fri Mar 10 10:25:50 UTC 2017


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


More information about the svn-src-head mailing list