aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/kernel/iomv.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-29 21:03:03 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-29 21:03:03 -0700
commit9b4311eedb17fa88f02e4876cd6aa9a08e383cd6 (patch)
tree59cbb1af2c6de429b88818441e31963ec0aad42b /arch/ia64/sn/kernel/iomv.c
parent2949ccf9379678df66ecf2ca70ed4656159eacdd (diff)
parent0647d8cfd40f7974335884d73deef83feeffc2a0 (diff)
downloadkernel_samsung_smdk4412-9b4311eedb17fa88f02e4876cd6aa9a08e383cd6.zip
kernel_samsung_smdk4412-9b4311eedb17fa88f02e4876cd6aa9a08e383cd6.tar.gz
kernel_samsung_smdk4412-9b4311eedb17fa88f02e4876cd6aa9a08e383cd6.tar.bz2
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Diffstat (limited to 'arch/ia64/sn/kernel/iomv.c')
-rw-r--r--arch/ia64/sn/kernel/iomv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/sn/kernel/iomv.c b/arch/ia64/sn/kernel/iomv.c
index fec6d8b..7ce3cda 100644
--- a/arch/ia64/sn/kernel/iomv.c
+++ b/arch/ia64/sn/kernel/iomv.c
@@ -9,12 +9,16 @@
#include <linux/module.h>
#include <asm/io.h>
#include <asm/delay.h>
+#include <asm/vga.h>
#include <asm/sn/nodepda.h>
#include <asm/sn/simulator.h>
#include <asm/sn/pda.h>
#include <asm/sn/sn_cpuid.h>
#include <asm/sn/shub_mmr.h>
+#define IS_LEGACY_VGA_IOPORT(p) \
+ (((p) >= 0x3b0 && (p) <= 0x3bb) || ((p) >= 0x3c0 && (p) <= 0x3df))
+
/**
* sn_io_addr - convert an in/out port to an i/o address
* @port: port to convert
@@ -26,6 +30,8 @@
void *sn_io_addr(unsigned long port)
{
if (!IS_RUNNING_ON_SIMULATOR()) {
+ if (IS_LEGACY_VGA_IOPORT(port))
+ port += vga_console_iobase;
/* On sn2, legacy I/O ports don't point at anything */
if (port < (64 * 1024))
return NULL;