diff -Naurp linux-2.6.15.1.orig/arch/mips/kernel/setup.c linux-2.6.15.1/arch/mips/kernel/setup.c --- linux-2.6.15.1.orig/arch/mips/kernel/setup.c 2006-01-02 22:21:10.000000000 -0500 +++ linux-2.6.15.1/arch/mips/kernel/setup.c 2006-02-01 00:05:24.000000000 -0500 @@ -51,6 +51,10 @@ EXPORT_SYMBOL(cpu_data); struct screen_info screen_info; #endif +#ifdef CONFIG_VGA_CONSOLE +unsigned long vgacon_remap_base; +#endif + /* * Despite it's name this variable is even if we don't have PCI */ diff -Naurp linux-2.6.15.1.orig/arch/mips/mips-boards/malta/malta_setup.c linux-2.6.15.1/arch/mips/mips-boards/malta/malta_setup.c --- linux-2.6.15.1.orig/arch/mips/mips-boards/malta/malta_setup.c 2006-01-02 22:21:10.000000000 -0500 +++ linux-2.6.15.1/arch/mips/mips-boards/malta/malta_setup.c 2006-02-01 00:05:24.000000000 -0500 @@ -42,6 +42,9 @@ #ifdef CONFIG_VT #include #endif +#ifdef CONFIG_VGA_CONSOLE +#include +#endif extern void mips_reboot_setup(void); extern void mips_time_init(void); @@ -210,6 +213,12 @@ void __init plat_setup(void) VIDEO_TYPE_VGAC, /* orig-video-isVGA */ 16 /* orig-video-points */ }; + +#ifdef CONFIG_64BIT + vgacon_remap_base = 0xffffffffb0000000; +#else + vgacon_remap_base = 0xb0000000; +#endif #endif #endif diff -Naurp linux-2.6.15.1.orig/include/asm-mips/vga.h linux-2.6.15.1/include/asm-mips/vga.h --- linux-2.6.15.1.orig/include/asm-mips/vga.h 2006-01-02 22:21:10.000000000 -0500 +++ linux-2.6.15.1/include/asm-mips/vga.h 2006-02-01 00:05:24.000000000 -0500 @@ -13,7 +13,9 @@ * access the videoram directly without any black magic. */ -#define VGA_MAP_MEM(x) (0xb0000000L + (unsigned long)(x)) +extern unsigned long vgacon_remap_base; + +#define VGA_MAP_MEM(x) (vgacon_remap_base + (unsigned long)(x)) #define vga_readb(x) (*(x)) #define vga_writeb(x,y) (*(y) = (x))