[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PC Com ports on PCI... Problems ???
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: PC Com ports on PCI... Problems ???
- From: Tom Warren <tom.warren@tempe.vlsi.com>
- Date: Wed, 04 Sep 1996 16:13:00 -0700
- Cc: mike.hollenbeck@TSDMS1.SSI1.COM (mike hollenbeck)
- Resent-Date: Wed, 04 Sep 1996 16:13:00 -0700
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"IsGXc1.0.Wm2.9lWBo"@dart>
- Resent-Sender: pci-sig-request@znyx.com
At 02:50 PM 9/4/96 PDT, you wrote:
> I have heard that there may be some problems implementing a PC
> com port on a PCI bus. If anyone knows what this is all about I
> could use the enlightenment
>
> Thanks...
>
> Mike Hollenbeck
>
Mike,
There are 2 areas of concern: I/O & IRQs.
1) I/O - the PC/AT COM ports use 3F8h/2F8/3E8h/2E8h for COM1/2/3/4. These
addresses are 'ISA' addresses, and aren't typically assigned to PCI devices
(PCI devices usually get assigned I/O resources ranging from 1000h to FFFxh,
to avoid conflicting w/ISA devices). A PCI COM board/modem/UART that wanted
to look like a classic PC/AT port would have to A) decode the ISA I/O
addresses (non-compliant) or B) have an expansion ROM/driver that assigned
the ISA addresses to the board's I/O BAR (overwriting the PCI BIOS
assignment). You can't do A) because only VGA & IDE are allowed to
participate in ISA I/O, and B) is problematic, due to possible ISA COM port
conflicts, PCI BIOS resource wastage, Win95 Device Manager conflicts, etc.
You could accept the I/O resource assigned by the BIOS, but you'd give up
DOS/AT compatibility. MSoft has said that their serial VxD only needs 8 I/O
addresses (contiguous) and 1 IRQ (see below), so you'd be OK in Win95.
>If you build an add-in modem card that is PCI compliant and asks for 8
>IO and one PCI IRQ, it will be supported in Windows 95. If you build
>an add-in modem card that supports only legacy DOS resource
>assignments, it won't be PCI compliant and won't work in Windows 95
>either.
>
>Matt Squires
>Pierre-Yves Santerre
>Microsoft Windows 9x developers
2) IRQs - PC/AT COM ports use IRQ 4/3, as I'm sure you know. Most (good)
communications software lets you pick & choose your IRQ (3,4,5,7,etc.). As
MSoft states, above, Win95 will work with any PCI IRQ. The problem occurs
(again) with DOS compatibility. Some core-logic chipsets (including VLSI's)
don't let you assign/route IRQ 3 or 4 to a PCI slot. Some BIOS don't let you
choose which PCI IRQs are assigned/routed to which slot. If you're looking
to provide compatibility with COM1, IRQ4, say, then you're probably out of
luck. If you're looking to abandon DOS support & move completely to PCI,
then you'll have few problems, since it's easy to hook up a UART to a PCI
I/O address range & IRQ, and get Win95 native support. You'd need drivers
for each OS, of course.
Most (all) of this has been discussed at length on this reflector back in
March. Look through the archives, using "PCI/Cardbus Modems" and "Microsoft
view on PCI Modems" as subjects.
Good luck!
--------- Sometimes you're the windshield, sometimes you're the bug -----------
Tom Warren - Staff Software Engineer VLSI Technology, Inc. 8375 S. River Pkwy
tom.warren@tempe.vlsi.com M/S 265 Tempe, AZ 85284
76167.1572@compuserve.com FON (602) 752-6396 FAX (602) 752-6000
Å h V