From: "Jan Beulich" 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 Acked-by: Andi Kleen Signed-off-by: Andrew Morton --- arch/x86_64/kernel/early_printk.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff -puN arch/x86_64/kernel/early_printk.c~allow-early-printk-to-use-more-than-25-lines arch/x86_64/kernel/early_printk.c --- 25/arch/x86_64/kernel/early_printk.c~allow-early-printk-to-use-more-than-25-lines 2005-05-15 03:04:55.000000000 -0700 +++ 25-akpm/arch/x86_64/kernel/early_printk.c 2005-05-15 03:04:55.000000000 -0700 @@ -2,20 +2,24 @@ #include #include #include +#include #include #include /* Simple VGA output */ #ifdef __i386__ +#include #define VGABASE (__ISA_IO_base + 0xb8000) #else +#include #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; _