aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/kernel/setup.c
diff options
context:
space:
mode:
authorJohn Keller <jpk@sgi.com>2007-03-20 14:50:10 -0400
committerTony Luck <tony.luck@intel.com>2007-03-20 16:49:53 -0400
commit0bdfc1900705dadef6286d69de7da0feef841734 (patch)
tree01e9d1a2424e022d5cde6da1b314a77ccd191929 /arch/ia64/sn/kernel/setup.c
parent60b548dfe4ad178dbf0fa8c2a50e36aaa42d603a (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.c6
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