Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!paladin.american.edu!gatech!newsfeed.internetmci.com!howland.reston.ans.net!Germany.EU.net!zib-berlin.de!news.tu-chemnitz.de!irz401!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: ATI Mach-64 problems in Textmode!!!
Date: 19 Jan 1996 22:18:42 GMT
Organization: Private BSD site, Dresden
Lines: 83
Message-ID: <4dp5c2$4iv@uriah.heep.sax.de>
References: <199601110645.WAA10152@jaguar.cris.com> <Pine.SUN.3.91.960111150831.19397A-100000@fozzie.sun3.iaf.nl> <franky.821463790@pwood1> <4d9njd$mi0@fozzie.sun3.iaf.nl>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.3
geert@fozzie.sun3.iaf.nl (Geert Bosch) writes:
> : We've got an Intel Atlantis board with a built-in Mach64 video card.
> : Same problem. Have to disable the probes for the serial ports otherwise
> : the Mach64 is put in an inoperable state.
>
> The strange thing is that it is not sufficient to disable the 4th serial
> port (which has a conflict with I/O-port 0x2e8 that the Mach-64 uses) but
> you've got to disable *all* serial ports. I wouldn't guess myself that
> *that* would be the solution (or rather: workaround).
I went through this today, too. I've grabbed the patch from -current,
but it didn't fit quite well into 2.1R (the line next to the modified
code has been changed by the inclusion of the pccard [PCMCIA] code).
For the adventurous, here's the CVS diff from -current. The line with
``#if NCRD > 0'' prevents the last hunk from patching cleanly into
2.1R, so you have to hand-craft the reject into the code.
Index: /sys/i386/isa/sio.c
===================================================================
RCS file: /home/cvs/src/sys/i386/isa/sio.c,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -r1.122 -r1.123
--- sio.c 1995/11/29 14:39:57 1.122
+++ sio.c 1995/11/29 15:00:07 1.123
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.122 1995/11/29 14:39:57 julian Exp $
+ * $Id: sio.c,v 1.123 1995/11/29 15:00:07 bde Exp $
*/
#include "sio.h"
@@ -339,9 +339,6 @@
{ -1, -1 }
};
-/* XXX - configure this list */
-static Port_t likely_com_ports[] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8, };
-
static struct kern_devconf kdc_sio[NSIO] = { {
0, 0, 0, /* filled in by dev_attach */
"sio", 0, { MDDT_ISA, 0, "tty" },
@@ -502,13 +499,13 @@
struct isa_device *dev;
{
static bool_t already_init;
- Port_t *com_ptr;
bool_t failures[10];
int fn;
struct isa_device *idev;
Port_t iobase;
u_char mcr_image;
int result;
+ struct isa_device *xdev;
sioregisterdev(dev);
@@ -519,11 +516,9 @@
* from any used port that shares the interrupt vector.
* XXX the gate enable is elsewhere for some multiports.
*/
- for (com_ptr = likely_com_ports;
- com_ptr < &likely_com_ports[sizeof likely_com_ports
- / sizeof likely_com_ports[0]];
- ++com_ptr)
- outb(*com_ptr + com_mcr, 0);
+ for (xdev = isa_devtab_tty; xdev->id_driver != NULL; xdev++)
+ if (xdev->id_driver == &siodriver && xdev->id_enabled)
+ outb(xdev->id_iobase + com_mcr, 0);
#if NCRD > 0
/*
* If PC-Card probe required, then register driver with
--
cheers, J"org
joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)