patch-2.1.23 linux/drivers/sbus/char/suncons.c
Next file: linux/drivers/sbus/char/sunfb.c
Previous file: linux/drivers/sbus/char/rtc.c
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Sun Jan 26 12:07:18 1997
- Orig file:
v2.1.22/linux/drivers/sbus/char/suncons.c
- Orig date:
Tue Dec 31 21:41:07 1996
diff -u --recursive --new-file v2.1.22/linux/drivers/sbus/char/suncons.c linux/drivers/sbus/char/suncons.c
@@ -1,4 +1,4 @@
-/* $Id: suncons.c,v 1.43 1996/12/23 10:16:12 ecd Exp $
+/* $Id: suncons.c,v 1.44 1997/01/25 02:47:10 miguel Exp $
*
* suncons.c: Sun SparcStation console support.
*
@@ -74,6 +74,7 @@
#include <asm/sbus.h>
#include <asm/fbio.h>
#include <asm/io.h>
+#include <asm/smp.h>
#include "../../char/kbd_kern.h"
#include "../../char/vt_kern.h"
@@ -383,7 +384,7 @@
__initfunc(void con_type_init_finish(void))
{
- int i;
+ int i, cpu;
char *p = con_fb_base + skip_bytes;
char q[2] = {0,5};
int currcons = 0;
@@ -408,14 +409,17 @@
fbinfo[0].color_map CM(i+32,2) = linux_logo_blue [i];
}
(*fbinfo [0].loadcmap)(&fbinfo [0], 0, LINUX_LOGO_COLORS + 32);
- for (i = 0; i < 80; i++, p += chars_per_line)
- memcpy (p, linux_logo + 80 * i, 80);
+ for (i = 0; i < 80; i++, p += chars_per_line){
+ for (cpu = 0; cpu < linux_num_cpus; cpu++){
+ memcpy (p + (cpu * 84), linux_logo + 80 * i, 80);
+ }
+ }
} else if (con_depth == 1) {
for (i = 0; i < 80; i++, p += chars_per_line)
memcpy (p, linux_logo_bw + 10 * i, 10);
}
putconsxy(0, q);
- ush = (unsigned short *) video_mem_base + video_num_columns * 2 + 20;
+ ush = (unsigned short *) video_mem_base + video_num_columns * 2 + 20 + 80 * (linux_num_cpus - 1);
for (p = "Linux/SPARC version " UTS_RELEASE; *p; p++, ush++) {
*ush = (attr << 8) + *p;
@@ -1163,6 +1167,7 @@
prom_printf("Could not probe console, bailing out...\n");
prom_halt();
}
+
sun_clear_screen();
for (i = FRAME_BUFFERS; i > 1; i--)
if (fbinfo[i - 1].type.fb_type != FBTYPE_NOTYPE) break;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov