提交 0bdfc190 编写于 作者: J John Keller 提交者: Tony Luck

[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: NJohn Keller <jpk@sgi.com>
Signed-off-by: NTony Luck <tony.luck@intel.com>
上级 60b548df
...@@ -348,8 +348,7 @@ sn_scan_pcdp(void) ...@@ -348,8 +348,7 @@ sn_scan_pcdp(void)
continue; /* not PCI interconnect */ continue; /* not PCI interconnect */
if (if_pci.translation & PCDP_PCI_TRANS_IOPORT) if (if_pci.translation & PCDP_PCI_TRANS_IOPORT)
vga_console_iobase = vga_console_iobase = if_pci.ioport_tra;
if_pci.ioport_tra | __IA64_UNCACHED_OFFSET;
if (if_pci.translation & PCDP_PCI_TRANS_MMIO) if (if_pci.translation & PCDP_PCI_TRANS_MMIO)
vga_console_membase = vga_console_membase =
...@@ -429,7 +428,8 @@ void __init sn_setup(char **cmdline_p) ...@@ -429,7 +428,8 @@ void __init sn_setup(char **cmdline_p)
* bus containing the VGA console. * bus containing the VGA console.
*/ */
if (vga_console_iobase) { if (vga_console_iobase) {
io_space[0].mmio_base = vga_console_iobase; io_space[0].mmio_base =
(unsigned long) ioremap(vga_console_iobase, 0);
io_space[0].sparse = 0; io_space[0].sparse = 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册