DOCUMENT ID: 1475-02
SYNOPSIS: Standard Port & IRQ Assignments for PCs
OS RELEASE: Solaris x86 2.4
PRODUCT:
KEYWORDS: standard port irq assignments pc i/o card
SYMPTOMS:
The new I/O card you installed does not work or has intermittent
problems.
DESCRIPTION:
Either Solaris does not recognize an I/O card (either new or existing),
or your card works eratically. This starts either when you change your
hardware configuration or your software driver configuration (enabling
new features is a typical case).
SOLUTION:
Check for conflicting I/O ports and IRQs. In come cases default
settings between two boards will conflict and you must pick good
alternatives.
This document will list standard I/O and IRQ settings in a single
document. It also will list several standard alternate IRQ settings for
particular devices.
As a standard practice it is also a good idea to write a label with the
I/O, IRQ, DMA, and memory addresses for every device in your machine.
Paste this either on the back or inside the case. You should also save
it as a file on your disk that you can update and refer to when needed.
If you use MS-DOS or some other OS you should also keep a file in that
file system (CONFIG.SYS works great for MS-DOS).
It is very important to note the RANGE of I/O addresses for a device.
Many of the documents you see only list the STARTING address of a
device. Always try to get the entire range documented to insure that
you don't have a conflict later when you add another device.
Included is the Adaptec 154x SCSI controller as an example of where
a SCSI host adapter is commonly placed in the system. Please note that
when a SCSI adapter is used as the primary controller, it often needs to
be placed at the default addresses for I/O, DMA, etc. so that the
system can find it when it is booting. If that conflicts with another
card, like a network card, then you should change the other card to an
alternate address. Once the system has been booted it can read the
other cards configuration from a driver configuration file.
STANDARD I/O PORTS:
I/O ADDRESSES | DEVICE
---------------------------------------------------
1F0 - 1F8 | Fixed Disk (ST-506)
200 - 207 | Game I/O
260 - 268 | IDE Controller (Primary?)
278 - 27F | Parallel Port 2 - LPT2
2E8 - 2EF | Serial Port 4 - COM4
2F8 - 2FF | Serial Port 2 - COM2
300 - 31F | Prototype or network card
330 - 334 | Adaptec 154x SCSI controllers
360 - 363 | PC network (low address)
368 - 36B | PC network (high address)
378 - 37F | Parallel Port 1 - LPT1
380 - 38F | SDLC, Bisynchronous
3A0 - 3AF | Bisynchronous (primary)
3B0 - 3BF | Monochrome (IBM) display adapter
3C0 - 3CF | EGA/VGA display adapter
3D0 - 3DF | CGA/MCGA display adapter
3E8 - 3EF | Serial Port 3 - COM3
3F0 - 3F7 | Diskette controller
3F8 - 3FF | Serial Port 1 - COM1
STANDARD IRQs:
IRQ # | ASSIGNMENT
------------------------------------
NMI | Reports memory parity errors
0 | System timer
1 | Keyboard
2 | Cascade to (from?) IRQ 9 (Used by some VGA and network cards {NE2000})
3 | COM2 and COM4
4 | COM1 and COM3
5 | LPT2
6 | Floppy disk controller
7 | LPT1
8 | Realtime clock
9 | Software redirected to interrupt 0AH
10 |
11 | Adaptec 154x SCSI controllers
12 |
13 | Coprocessor
14 | Primary IDE interface
15 | Secondary IDE interface
NOTE: The IRQs with no assignment are often the target of SCSI, network,
and sound cards. These are often the safest place to use for a new IRQ,
but be sure it is not in use already.
The next best places are the IRQs for LPT2, Game cards, or IRQ2 & IRQ15.
These are good alternates because they are IRQs for devices you probably
do not have on a Solaris x86 system.
STANDARD DMA CHANNELS:
DMA # | ASSIGNMENT
-------------------
0 | RAM Refresh
2 | Floppy disk controller
5 | Adaptec 154x SCSI controllers
STANDARD MEMORY ADDRESSES:
ADDRESSES | CARD
--------------------------
C0000-C7FFF | SVGA
CC000-CFFFF | Network card
DC000-DFFFF | Adaptec 154x SCSI controllers
E0000-EFFFF | EMS page frame buffer
F0000-FFFFF | BIOS ROM
DATE APPROVED: 07/28/95