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