diff -u -Nur --exclude CVS --exclude include/config --exclude pmag-aa-fb-v2.diff linux-mips-cvs-meeting/drivers/char/console.c linux-mips-cvs/drivers/char/console.c --- linux-mips-cvs-meeting/drivers/char/console.c 2002-10-03 22:53:35.000000000 +0200 +++ linux-mips-cvs/drivers/char/console.c 2002-10-03 23:18:17.000000000 +0200 @@ -1046,7 +1046,8 @@ underline = 0; reverse = 0; blink = 0; - color = def_color; + if (can_do_color) + color = def_color; } /* console_sem is held */ @@ -1119,7 +1120,8 @@ * with white underscore (Linux - use * default foreground). */ - color = (def_color & 0x0f) | background; + if (can_do_color) + color = (def_color & 0x0f) | background; underline = 1; break; case 39: /* ANSI X3.64-1979 (SCO-ish?) @@ -1127,11 +1129,13 @@ * Reset colour to default? It did this * before... */ - color = (def_color & 0x0f) | background; + if (can_do_color) + color = (def_color & 0x0f) | background; underline = 0; break; case 49: - color = (def_color & 0xf0) | foreground; + if (can_do_color) + color = (def_color & 0xf0) | foreground; break; default: if (par[i] >= 30 && par[i] <= 37) @@ -1274,9 +1278,11 @@ } break; case 8: /* store colors as defaults */ - def_color = attr; - if (hi_font_mask == 0x100) - def_color >>= 1; + if (can_do_color) { + def_color = attr; + if (hi_font_mask == 0x100) + def_color >>= 1; + } default_attr(currcons); update_attr(currcons); break; diff -u -Nur --exclude CVS --exclude include/config --exclude pmag-aa-fb-v2.diff linux-mips-cvs-meeting/drivers/video/Config.in linux-mips-cvs/drivers/video/Config.in --- linux-mips-cvs-meeting/drivers/video/Config.in 2002-10-03 22:53:35.000000000 +0200 +++ linux-mips-cvs/drivers/video/Config.in 2002-10-01 17:45:29.000000000 +0200 @@ -211,6 +211,7 @@ tristate ' HD64461 Frame Buffer support' CONFIG_FB_HIT fi if [ "$CONFIG_DECSTATION" = "y" ]; then + dep_bool ' PMAG-AA TURBOchannel framebuffer support' CONFIG_FB_PMAG_AA $CONFIG_TC dep_bool ' PMAG-BA TURBOchannel framebuffer support' CONFIG_FB_PMAG_BA $CONFIG_TC dep_bool ' PMAGB-B TURBOchannel framebuffer support' CONFIG_FB_PMAGB_B $CONFIG_TC dep_bool ' Maxine (Personal DECstation) onboard framebuffer support' CONFIG_FB_MAXINE @@ -225,6 +226,7 @@ bool ' Advanced low level driver options' CONFIG_FBCON_ADVANCED if [ "$CONFIG_FBCON_ADVANCED" = "y" ]; then tristate ' Monochrome support' CONFIG_FBCON_MFB + tristate ' 8 bpp monochrome support' CONFIG_FBCON_MFB8 tristate ' 2 bpp packed pixels support' CONFIG_FBCON_CFB2 tristate ' 4 bpp packed pixels support' CONFIG_FBCON_CFB4 tristate ' 8 bpp packed pixels support' CONFIG_FBCON_CFB8 diff -u -Nur --exclude CVS --exclude include/config --exclude pmag-aa-fb-v2.diff linux-mips-cvs-meeting/drivers/video/Makefile linux-mips-cvs/drivers/video/Makefile --- linux-mips-cvs-meeting/drivers/video/Makefile 2002-10-03 22:53:35.000000000 +0200 +++ linux-mips-cvs/drivers/video/Makefile 2002-10-01 17:45:55.000000000 +0200 @@ -14,7 +14,7 @@ fbcon-vga.o fbcon-iplan2p2.o fbcon-iplan2p4.o \ fbcon-iplan2p8.o fbcon-vga-planes.o fbcon-cfb16.o \ fbcon-cfb2.o fbcon-cfb24.o fbcon-cfb32.o fbcon-cfb4.o \ - fbcon-cfb8.o fbcon-mac.o fbcon-mfb.o \ + fbcon-cfb8.o fbcon-mac.o fbcon-mfb.o fbcon-mfb8.o \ cyber2000fb.o sa1100fb.o fbcon-hga.o fbgen.o # Each configuration option enables a list of files. @@ -81,6 +81,7 @@ obj-$(CONFIG_FB_CGFOURTEEN) += cgfourteenfb.o sbusfb.o obj-$(CONFIG_FB_P9100) += p9100fb.o sbusfb.o obj-$(CONFIG_FB_LEO) += leofb.o sbusfb.o +obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o @@ -143,6 +144,7 @@ obj-$(CONFIG_FBCON_IPLAN2P16) += fbcon-iplan2p16.o obj-$(CONFIG_FBCON_MAC) += fbcon-mac.o obj-$(CONFIG_FBCON_MFB) += fbcon-mfb.o +obj-$(CONFIG_FBCON_MFB8) += fbcon-mfb8.o obj-$(CONFIG_FBCON_VGA) += fbcon-vga.o obj-$(CONFIG_FBCON_HGA) += fbcon-hga.o obj-$(CONFIG_FBCON_STI) += fbcon-sti.o diff -u -Nur --exclude CVS --exclude include/config --exclude pmag-aa-fb-v2.diff linux-mips-cvs-meeting/drivers/video/dummycon.c linux-mips-cvs/drivers/video/dummycon.c --- linux-mips-cvs-meeting/drivers/video/dummycon.c 2001-01-10 06:27:34.000000000 +0100 +++ linux-mips-cvs/drivers/video/dummycon.c 2002-10-03 19:07:09.000000000 +0200 @@ -35,7 +35,13 @@ static void dummycon_init(struct vc_data *conp, int init) { +#if !defined(CONFIG_FBCON_MFB) && !defined(CONFIG_FBCON_MFB8) && \ + !defined(CONFIG_FBCON_ILBM) && !defined(CONFIG_FBCON_HGA) && \ + !defined(CONFIG_FBCON_AFB) conp->vc_can_do_color = 1; +#else + conp->vc_can_do_color = 0; +#endif if (init) { conp->vc_cols = DUMMY_COLUMNS; conp->vc_rows = DUMMY_ROWS; diff -u -Nur --exclude CVS --exclude include/config --exclude pmag-aa-fb-v2.diff linux-mips-cvs-meeting/drivers/video/fbcon-mfb8.c linux-mips-cvs/drivers/video/fbcon-mfb8.c --- linux-mips-cvs-meeting/drivers/video/fbcon-mfb8.c 1970-01-01 01:00:00.000000000 +0100 +++ linux-mips-cvs/drivers/video/fbcon-mfb8.c 2002-10-03 23:23:32.000000000 +0200 @@ -0,0 +1,246 @@ +/* + * linux/drivers/video/mfb8.c -- Low level frame buffer operations for + * 8 bit monochrome + * + * Created 28 September 2002 by Martin Schulze + * Based on mfb.c and cfb8.c by Geert Uytterhoeven + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive for + * more details. + */ + +#include +#include +#include +#include +#include + +#include