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 | |
| 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>
| -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 | ||
