122 lines
4.4 KiB
Diff
Executable File
122 lines
4.4 KiB
Diff
Executable File
Implements console support
|
|
|
|
|
|
Index: linux-2.6.33-source/drivers/video/console/Kconfig
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/drivers/video/console/Kconfig
|
|
+++ linux-2.6.33-source/drivers/video/console/Kconfig
|
|
@@ -6,7 +6,7 @@
|
|
|
|
config VGA_CONSOLE
|
|
bool "VGA text console" if EMBEDDED || !X86
|
|
- depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE && !SUPERH && !BLACKFIN && !AVR32 && !MN10300
|
|
+ depends on !COOPERATIVE && !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE && !SUPERH && !BLACKFIN && !AVR32 && !MN10300
|
|
default y
|
|
help
|
|
Saying Y here will allow you to use Linux in text mode through a
|
|
@@ -43,6 +43,14 @@
|
|
buffer. Each 64KB will give you approximately 16 80x25
|
|
screenfuls of scrollback buffer
|
|
|
|
+config COOPERATIVE_CONSOLE
|
|
+ bool 'coLinux Pseudo-VGA text console' if COOPERATIVE
|
|
+ depends on !VGA_CONSOLE && COOPERATIVE
|
|
+ default y
|
|
+ help
|
|
+ You need to say Y here if you compile a Linux kernel in cooperative
|
|
+ mode.
|
|
+
|
|
config MDA_CONSOLE
|
|
depends on !M68K && !PARISC && ISA
|
|
tristate "MDA text console (dual-headed) (EXPERIMENTAL)"
|
|
@@ -69,7 +77,7 @@
|
|
|
|
config DUMMY_CONSOLE
|
|
bool
|
|
- depends on VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y
|
|
+ depends on COOPERATIVE_CONSOLE!=y || VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y
|
|
default y
|
|
|
|
config DUMMY_CONSOLE_COLUMNS
|
|
Index: linux-2.6.33-source/include/linux/console.h
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/include/linux/console.h
|
|
+++ linux-2.6.33-source/include/linux/console.h
|
|
@@ -61,6 +61,7 @@
|
|
|
|
extern const struct consw dummy_con; /* dummy console buffer */
|
|
extern const struct consw vga_con; /* VGA text console */
|
|
+extern const struct consw colinux_con; /* coLinux Mode text console */
|
|
extern const struct consw newport_con; /* SGI Newport console */
|
|
extern const struct consw prom_con; /* SPARC PROM console */
|
|
|
|
Index: linux-2.6.33-source/drivers/video/console/Makefile
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/drivers/video/console/Makefile
|
|
+++ linux-2.6.33-source/drivers/video/console/Makefile
|
|
@@ -24,6 +24,7 @@
|
|
obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
|
|
obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
|
|
obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
|
|
+obj-$(CONFIG_COOPERATIVE_CONSOLE) += cocon.o
|
|
obj-$(CONFIG_MDA_CONSOLE) += mdacon.o
|
|
obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o
|
|
ifeq ($(CONFIG_FB_TILEBLITTING),y)
|
|
Index: linux-2.6.33-source/drivers/video/console/cocon.c
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/drivers/video/console/cocon.c
|
|
+++ linux-2.6.33-source/drivers/video/console/cocon.c
|
|
@@ -170,8 +170,8 @@
|
|
co_console_message_t *message;
|
|
co_message_t *co_message;
|
|
|
|
- if (count > CO_MAX_PARAM_SIZE/2 - 16)
|
|
- return;
|
|
+// if (count > CO_MAX_PARAM_SIZE/2 - 16)
|
|
+// return;
|
|
|
|
co_message = co_send_message_save(&flags);
|
|
if (!co_message)
|
|
@@ -454,8 +454,8 @@
|
|
co_send_message_restore(flags);
|
|
}
|
|
|
|
-static int cocon_resize(struct vc_data *c, unsigned int width,
|
|
- unsigned int height)
|
|
+static int cocon_resize(struct vc_data *vc, unsigned int width,
|
|
+ unsigned int height, unsigned int user)
|
|
{
|
|
return -EINVAL;
|
|
}
|
|
Index: linux-2.6.33-source/include/linux/console_struct.h
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/include/linux/console_struct.h
|
|
+++ linux-2.6.33-source/include/linux/console_struct.h
|
|
@@ -130,7 +130,11 @@
|
|
#define CUR_HWMASK 0x0f
|
|
#define CUR_SWMASK 0xfff0
|
|
|
|
-#define CUR_DEFAULT CUR_UNDERLINE
|
|
+#ifdef CONFIG_COOPERATIVE
|
|
+# define CUR_DEFAULT CUR_DEF
|
|
+#else
|
|
+# define CUR_DEFAULT CUR_UNDERLINE
|
|
+#endif
|
|
|
|
#define CON_IS_VISIBLE(conp) (*conp->vc_display_fg == conp)
|
|
|
|
Index: linux-2.6.33-source/drivers/char/vt.c
|
|
===================================================================
|
|
--- linux-2.6.33-source.orig/drivers/char/vt.c
|
|
+++ linux-2.6.33-source/drivers/char/vt.c
|
|
@@ -2858,7 +2858,8 @@
|
|
vc->vc_palette[k++] = default_grn[j] ;
|
|
vc->vc_palette[k++] = default_blu[j] ;
|
|
}
|
|
- vc->vc_def_color = 0x07; /* white */
|
|
+ if (!vc->vc_def_color)
|
|
+ vc->vc_def_color = 0x07; /* white */
|
|
vc->vc_ulcolor = default_underline_color;
|
|
vc->vc_itcolor = default_italic_color;
|
|
vc->vc_halfcolor = 0x08; /* grey */
|