mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] allow early printk to use more than 25 lines
@ 2005-05-12  8:20 Jan Beulich
  0 siblings, 0 replies; only message in thread
From: Jan Beulich @ 2005-05-12  8:20 UTC (permalink / raw)
  To: ak; +Cc: linux-kernel, discuss

[-- Attachment #1: Type: text/plain, Size: 1726 bytes --]

(Note: Patch also attached because the inline version is certain to get
line wrapped.)

Allow early printk code to take advantage of the full size of the screen,
not just the first 25 lines.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

diff -Npru linux-2.6.12-rc4.base/arch/x86_64/kernel/early_printk.c linux-2.6.12-rc4/arch/x86_64/kernel/early_printk.c
--- linux-2.6.12-rc4.base/arch/x86_64/kernel/early_printk.c	2005-05-11 17:27:54.819859960 +0200
+++ linux-2.6.12-rc4/arch/x86_64/kernel/early_printk.c	2005-05-11 17:50:36.252890680 +0200
@@ -2,20 +2,24 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/string.h>
+#include <linux/tty.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
 /* Simple VGA output */
 
 #ifdef __i386__
+#include <asm/setup.h>
 #define VGABASE		(__ISA_IO_base + 0xb8000)
 #else
+#include <asm/bootsetup.h>
 #define VGABASE		((void __iomem *)0xffffffff800b8000UL)
 #endif
 
-#define MAX_YPOS	25
-#define MAX_XPOS	80
+#define MAX_YPOS	max_ypos
+#define MAX_XPOS	max_xpos
 
+static int max_ypos = 25, max_xpos = 80;
 static int current_ypos = 1, current_xpos = 0; 
 
 static void early_vga_write(struct console *con, const char *str, unsigned n)
@@ -196,7 +200,10 @@ int __init setup_early_printk(char *opt)
 	} else if (!strncmp(buf, "ttyS", 4)) { 
 		early_serial_init(buf);
 		early_console = &early_serial_console;		
-	} else if (!strncmp(buf, "vga", 3)) {
+	} else if (!strncmp(buf, "vga", 3)
+	           && SCREEN_INFO.orig_video_isVGA == 1) {
+		max_xpos = SCREEN_INFO.orig_video_cols;
+		max_ypos = SCREEN_INFO.orig_video_lines;
 		early_console = &early_vga_console; 
 	}
 	early_console_initialized = 1;



[-- Attachment #2: linux-2.6.12-rc4-early-printk.patch --]
[-- Type: text/plain, Size: 1672 bytes --]

(Note: Patch also attached because the inline version is certain to get
line wrapped.)

Allow early printk code to take advantage of the full size of the screen,
not just the first 25 lines.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

diff -Npru linux-2.6.12-rc4.base/arch/x86_64/kernel/early_printk.c linux-2.6.12-rc4/arch/x86_64/kernel/early_printk.c
--- linux-2.6.12-rc4.base/arch/x86_64/kernel/early_printk.c	2005-05-11 17:27:54.819859960 +0200
+++ linux-2.6.12-rc4/arch/x86_64/kernel/early_printk.c	2005-05-11 17:50:36.252890680 +0200
@@ -2,20 +2,24 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/string.h>
+#include <linux/tty.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
 /* Simple VGA output */
 
 #ifdef __i386__
+#include <asm/setup.h>
 #define VGABASE		(__ISA_IO_base + 0xb8000)
 #else
+#include <asm/bootsetup.h>
 #define VGABASE		((void __iomem *)0xffffffff800b8000UL)
 #endif
 
-#define MAX_YPOS	25
-#define MAX_XPOS	80
+#define MAX_YPOS	max_ypos
+#define MAX_XPOS	max_xpos
 
+static int max_ypos = 25, max_xpos = 80;
 static int current_ypos = 1, current_xpos = 0; 
 
 static void early_vga_write(struct console *con, const char *str, unsigned n)
@@ -196,7 +200,10 @@ int __init setup_early_printk(char *opt)
 	} else if (!strncmp(buf, "ttyS", 4)) { 
 		early_serial_init(buf);
 		early_console = &early_serial_console;		
-	} else if (!strncmp(buf, "vga", 3)) {
+	} else if (!strncmp(buf, "vga", 3)
+	           && SCREEN_INFO.orig_video_isVGA == 1) {
+		max_xpos = SCREEN_INFO.orig_video_cols;
+		max_ypos = SCREEN_INFO.orig_video_lines;
 		early_console = &early_vga_console; 
 	}
 	early_console_initialized = 1;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-12  8:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-12  8:20 [PATCH] allow early printk to use more than 25 lines Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®