diff options
author | Mark Maule <maule@sgi.com> | 2005-04-26 11:01:00 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-06-28 12:23:04 -0400 |
commit | a9f9de7378e3a81f7266f542f2290399a298ef52 (patch) | |
tree | f88da35e16834984a43b79c66cb8ea3918944271 /arch | |
parent | 66b7f8a30437b8639e798f7db8e9be1da5711efa (diff) |
[IA64-SGI] altix: enable vgacon support
Altix patch to enable use of vgacon driver on that platform. Depends on the
PCDP generalization patch discussed at:
http://marc.theaimsgroup.com/?l=linux-ia64&m=111446235101939&w=2
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/configs/sn2_defconfig | 4 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/iomv.c | 6 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 16 |
3 files changed, 18 insertions, 8 deletions
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index 487d2e36b0a6..c05613980300 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_defconfig | |||
@@ -99,7 +99,7 @@ CONFIG_ACPI_DEALLOCATE_IRQ=y | |||
99 | # Firmware Drivers | 99 | # Firmware Drivers |
100 | # | 100 | # |
101 | CONFIG_EFI_VARS=y | 101 | CONFIG_EFI_VARS=y |
102 | # CONFIG_EFI_PCDP is not set | 102 | CONFIG_EFI_PCDP=y |
103 | CONFIG_BINFMT_ELF=y | 103 | CONFIG_BINFMT_ELF=y |
104 | # CONFIG_BINFMT_MISC is not set | 104 | # CONFIG_BINFMT_MISC is not set |
105 | 105 | ||
@@ -650,7 +650,7 @@ CONFIG_MMTIMER=y | |||
650 | # | 650 | # |
651 | # Console display driver support | 651 | # Console display driver support |
652 | # | 652 | # |
653 | # CONFIG_VGA_CONSOLE is not set | 653 | CONFIG_VGA_CONSOLE=y |
654 | CONFIG_DUMMY_CONSOLE=y | 654 | CONFIG_DUMMY_CONSOLE=y |
655 | 655 | ||
656 | # | 656 | # |
diff --git a/arch/ia64/sn/kernel/iomv.c b/arch/ia64/sn/kernel/iomv.c index fec6d8b8237b..7ce3cdad627b 100644 --- a/arch/ia64/sn/kernel/iomv.c +++ b/arch/ia64/sn/kernel/iomv.c | |||
@@ -9,12 +9,16 @@ | |||
9 | #include <linux/module.h> | 9 | #include <linux/module.h> |
10 | #include <asm/io.h> | 10 | #include <asm/io.h> |
11 | #include <asm/delay.h> | 11 | #include <asm/delay.h> |
12 | #include <asm/vga.h> | ||
12 | #include <asm/sn/nodepda.h> | 13 | #include <asm/sn/nodepda.h> |
13 | #include <asm/sn/simulator.h> | 14 | #include <asm/sn/simulator.h> |
14 | #include <asm/sn/pda.h> | 15 | #include <asm/sn/pda.h> |
15 | #include <asm/sn/sn_cpuid.h> | 16 | #include <asm/sn/sn_cpuid.h> |
16 | #include <asm/sn/shub_mmr.h> | 17 | #include <asm/sn/shub_mmr.h> |
17 | 18 | ||
19 | #define IS_LEGACY_VGA_IOPORT(p) \ | ||
20 | (((p) >= 0x3b0 && (p) <= 0x3bb) || ((p) >= 0x3c0 && (p) <= 0x3df)) | ||
21 | |||
18 | /** | 22 | /** |
19 | * sn_io_addr - convert an in/out port to an i/o address | 23 | * sn_io_addr - convert an in/out port to an i/o address |
20 | * @port: port to convert | 24 | * @port: port to convert |
@@ -26,6 +30,8 @@ | |||
26 | void *sn_io_addr(unsigned long port) | 30 | void *sn_io_addr(unsigned long port) |
27 | { | 31 | { |
28 | if (!IS_RUNNING_ON_SIMULATOR()) { | 32 | if (!IS_RUNNING_ON_SIMULATOR()) { |
33 | if (IS_LEGACY_VGA_IOPORT(port)) | ||
34 | port += vga_console_iobase; | ||
29 | /* On sn2, legacy I/O ports don't point at anything */ | 35 | /* On sn2, legacy I/O ports don't point at anything */ |
30 | if (port < (64 * 1024)) | 36 | if (port < (64 * 1024)) |
31 | return NULL; | 37 | return NULL; |
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index 44bfc7f318cb..3e5ba34ac2ef 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/machvec.h> | 36 | #include <asm/machvec.h> |
37 | #include <asm/system.h> | 37 | #include <asm/system.h> |
38 | #include <asm/processor.h> | 38 | #include <asm/processor.h> |
39 | #include <asm/vga.h> | ||
39 | #include <asm/sn/arch.h> | 40 | #include <asm/sn/arch.h> |
40 | #include <asm/sn/addrs.h> | 41 | #include <asm/sn/addrs.h> |
41 | #include <asm/sn/pda.h> | 42 | #include <asm/sn/pda.h> |
@@ -273,14 +274,17 @@ void __init sn_setup(char **cmdline_p) | |||
273 | 274 | ||
274 | ia64_sn_plat_set_error_handling_features(); | 275 | ia64_sn_plat_set_error_handling_features(); |
275 | 276 | ||
277 | #if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE) | ||
276 | /* | 278 | /* |
277 | * If the generic code has enabled vga console support - lets | 279 | * If there was a primary vga adapter identified through the |
278 | * get rid of it again. This is a kludge for the fact that ACPI | 280 | * EFI PCDP table, make it the preferred console. Otherwise |
279 | * currtently has no way of informing us if legacy VGA is available | 281 | * zero out conswitchp. |
280 | * or not. | ||
281 | */ | 282 | */ |
282 | #if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE) | 283 | |
283 | if (conswitchp == &vga_con) { | 284 | if (vga_console_membase) { |
285 | /* usable vga ... make tty0 the preferred default console */ | ||
286 | add_preferred_console("tty", 0, NULL); | ||
287 | } else { | ||
284 | printk(KERN_DEBUG "SGI: Disabling VGA console\n"); | 288 | printk(KERN_DEBUG "SGI: Disabling VGA console\n"); |
285 | #ifdef CONFIG_DUMMY_CONSOLE | 289 | #ifdef CONFIG_DUMMY_CONSOLE |
286 | conswitchp = &dummy_con; | 290 | conswitchp = &dummy_con; |