diff options
author | John Keller <jpk@sgi.com> | 2007-03-20 14:50:10 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-03-20 16:49:53 -0400 |
commit | 0bdfc1900705dadef6286d69de7da0feef841734 (patch) | |
tree | 01e9d1a2424e022d5cde6da1b314a77ccd191929 /arch/ia64/sn/kernel/setup.c | |
parent | 60b548dfe4ad178dbf0fa8c2a50e36aaa42d603a (diff) |
[IA64] Altix: ioremap vga_console_iobase
When booting an SN system without specifing a console
(i.e., no "console=" on boot line), the system will hang during
boot at the point where /sbin/init is run.
The problem is that vga_console_iobase is not converted to a
virtual address before storing in io_space[0].mmio_base.
The conversion was happening in sn_scan_pcdp(), but not in
setup_vga_console().
Signed-off-by: John Keller <jpk@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn/kernel/setup.c')
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index bd5373d593e1..a9bed5ca2ed8 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -348,8 +348,7 @@ sn_scan_pcdp(void) | |||
348 | continue; /* not PCI interconnect */ | 348 | continue; /* not PCI interconnect */ |
349 | 349 | ||
350 | if (if_pci.translation & PCDP_PCI_TRANS_IOPORT) | 350 | if (if_pci.translation & PCDP_PCI_TRANS_IOPORT) |
351 | vga_console_iobase = | 351 | vga_console_iobase = if_pci.ioport_tra; |
352 | if_pci.ioport_tra | __IA64_UNCACHED_OFFSET; | ||
353 | 352 | ||
354 | if (if_pci.translation & PCDP_PCI_TRANS_MMIO) | 353 | if (if_pci.translation & PCDP_PCI_TRANS_MMIO) |
355 | vga_console_membase = | 354 | vga_console_membase = |
@@ -429,7 +428,8 @@ void __init sn_setup(char **cmdline_p) | |||
429 | * bus containing the VGA console. | 428 | * bus containing the VGA console. |
430 | */ | 429 | */ |
431 | if (vga_console_iobase) { | 430 | if (vga_console_iobase) { |
432 | io_space[0].mmio_base = vga_console_iobase; | 431 | io_space[0].mmio_base = |
432 | (unsigned long) ioremap(vga_console_iobase, 0); | ||
433 | io_space[0].sparse = 0; | 433 | io_space[0].sparse = 0; |
434 | } | 434 | } |
435 | 435 | ||