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. ;-)