diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2009-05-02 21:28:09 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2009-05-02 21:28:09 +0000 |
commit | c70ba38296fab8e5c88a25c88e45e0826ef7f0e7 (patch) | |
tree | b4ec560bc8c7ca8dbf952acf4cd52eea5fb0068e | |
parent | b192fbb6a6c5837c6a44913ea1d86f57742a1375 (diff) |
Explain why the short window of widget #0 needs to be accessed through a
large window IOTTE.
-rw-r--r-- | sys/arch/sgi/sgi/ip27_machdep.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/arch/sgi/sgi/ip27_machdep.c b/sys/arch/sgi/sgi/ip27_machdep.c index 20535bda1b5..bab1ca3af03 100644 --- a/sys/arch/sgi/sgi/ip27_machdep.c +++ b/sys/arch/sgi/sgi/ip27_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip27_machdep.c,v 1.2 2009/04/15 18:46:40 miod Exp $ */ +/* $OpenBSD: ip27_machdep.c,v 1.3 2009/05/02 21:28:08 miod Exp $ */ /* * Copyright (c) 2008, 2009 Miodrag Vallat. @@ -125,8 +125,15 @@ ip27_setup() paddr_t ip27_widget_short(int16_t nasid, u_int widget) { + /* + * A hardware bug on the PI side of the Hub chip (at least in + * earlier versions) causes accesses to the short window #0 + * to be unreliable. + * The PROM implements a workaround by remapping it to + * big window #6 (the last programmable big window). + */ if (widget == 0) - return ip27_widget_long(nasid, 6); /* ??? */ + return ip27_widget_long(nasid, 6); return ((uint64_t)(widget) << 24) | ((uint64_t)(nasid) << 32) | io_base; } |