pci device configuration: bars &...

15
PC Chipset: Functions & Devices Ch-2 Intel Architecture Technical Training Page 1 PC Chipset: Functions & Devices PCI Device PCI Device Configuration: Configuration: BARs & Interrupts BARs & Interrupts Chapter 2 Chapter 2 Copyright Copyright © 1996 1996- 2003 Intel Corp. 2003 Intel Corp. CH-2 Slide-2 PC Chipset: Functions & Devices PCI Device Configuration OBJECTIVES: Upon completion of this topic, the participant will be able to do the following: Recognize ® Windows ® Device Manager displays. Discuss the functions of the PCI Command register Describe memory space allocation using BARs Explain the use of PCI Interrupt Pin/Line Configuration Registers IATT Web Site: http://iatt.intel.com

Upload: vuthuan

Post on 19-Mar-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 1

PC Chipset: Functions & Devices

PCI Device PCI Device Configuration:Configuration:

BARs & Interrupts BARs & Interrupts Chapter 2Chapter 2

Copyright Copyright ©© 19961996--2003 Intel Corp.2003 Intel Corp.

CH-2 Slide-2PC Chipset: Functions & Devices

PCI Device ConfigurationOBJECTIVES: Upon completion of this topic, the

participant will be able to do the following:Recognize ® Windows ® Device Manager displays. Discuss the functions of the PCI Command registerDescribe memory space allocation using BARsExplain the use of PCI Interrupt Pin/Line Configuration Registers

IATT Web Site: http://iatt.intel.com

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 2

CH-2 Slide-3PC Chipset: Functions & Devices

PCI - Auto-configuration by DesignUsers can install a PCI peripheral device without having to manually configure jumpers/DIP switches.

Configuration registers are built into each component Configuration registers are set up during system initialization and allow identification of the devices (SCSI, LAN, etc.)

These registers also allow configuration of the device's I/O addresses, memory addresses, interrupt levels.PCI Device configuration includes:

Enabling access to memory and/or I/O regions.Allocating the amount and location of PCI I/O and PCI memory space a device can use.Assigning interrupts for devices.

A PCI device won’t respond to cycles until configured.

CH-2 Slide-4PC Chipset: Functions & Devices

Device manager allows users to view hardware devices and manage those hardware devices easily.

Displays a list of components which you can double click to view additional information such resources it is using.

You can use Device Manager to enable or disable devices, change resources such as interrupt requests (IRQs), etc.

I/O is expanded on next slide

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 3

CH-2 Slide-5PC Chipset: Functions & Devices

Portion of Windows DEV MGR I/O Map

Note: One I/O address associated with the AC97 device is “E800”. The allocation of Memory & I/O

addresses are described later in this chapter.

AC97 I/O = E800

See Appendix for more Information

CH-2 Slide-6PC Chipset: Functions & Devices

Device ID Vendor ID

Status Command

Class Code RevisionID

00h

04h

08h

016 1531Format of a PCI Configuration Header

CMD Register is 16 bits at offset 05-04 and provides control over device’s ability to respond to PCI accesses—e.g., allows access to I/O or memory by Device Driver.

Bit 2 (Bus Master Enable) is only for Bus Master devices such as EIDE, SCSI, LAN.See the PCI spec for bit 15-3 definitions.

Enable I/O and memory accesses by setting bits

0 and 1 in the PCI Command register at

offset 04H in PCI Configuration space Set these bits to a “1” to enable

• Bit 0 = I/O Space Enable • Bit 1 = Memory Space Enable• Bit 2 = Bus Master Enable

• Writing 3 hex (binary 0011) to offset 4 will enable both memory and I/O accesses.

• Writing 5 hex (binary 0101) to offset 4 will enable I/O accesses and Bus Mastering.

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 4

CH-2 Slide-7PC Chipset: Functions & Devices

Making Changes to CMD Regs ( 1 of 2)The dump below of AC97 PCI configuration space shows offset 4 contains a hex “05” or binary “0101”. This means bits 2 and 0 are both set—I/O & Bus Mstr are both enabled.

[P0]>showpci (0,1f,5) /* Device 31, Fun 5-–AC97 ctlr */

Offset F E D C B A 9 8 7 6 5 4 3 2 1 0

--------------------------------------------

0F...00: 00000000 04010005 02800005 24458086

Note: The I/O address associated with the AC97 device is “E800”.

The allocation of Memory & I/O addresses are described later in this chapter.

ICH AC97 Mixer RegisterOffset 2 is Vol/Mute (Addr E802)

MSB is Mute: 8000 = MuteOther bits are Left/Rt vol.

Example values are:8000 = Mute0000 = Full Volume0505 = Mid Range8505 = Mute & Mid Vol3f3f = Min Volume

16 bit regs

ICH AC97 Mixer Register (part of)

CH-2 Slide-8PC Chipset: Functions & Devices

Making Changes to CMD Regs ( 2 of 2)The ITP Debug Tool commands below show what happens when I/O access is enabled/disabled by setting/clearing bits in the command register--offset 04h.

[P0]>dport (0cf8)=8000fd04;port (0cfc)

05 /* This reads 05 from AC97 cmd reg (bus mstr & I/O enabled) */

[P0]>wport (0e802) /* AC97 I/O range E800-E8FF */

8505 /* Able to read 8505 (mute & Mid Vol) from I/O addr E802 */

[P0]>/* Now change cmd reg to 00: bus mstr & I/O disabled */

[P0]>dport (0cf8)=8000fd04;port (0cfc)=00

[P0]>wport (0e802)

ffff /* No longer able to read data from I/O address E802 */

[P0]>dport (0cf8)=8000fd04;port (0cfc)=05

[P0]>/* Change cmd reg back to 05 = bus mstr & I/o enabled again */

[P0]>wport (0e802)

8505 /* Again able to read data of “8505” from I/O addr E802 */

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 5

CH-2 Slide-9PC Chipset: Functions & Devices

The Command Register in PCI Configuration space is 16 bits starting at offset 04 and allows control of ______ and I/O space enable/disable.

Memory

M-1M-1

CH-2 Slide-10PC Chipset: Functions & Devices

Device ID Vendor ID

Status Command

Class Code RevisionID

BIST HeaderType

LatencyTimer

Cache LineSize

Base Address Registers(32 bits each at offsets 10h-27h)

Reserved

Reserved

Expansion ROM Base Address

Reserved

Reserved

Max_Lat Min_Gnt InterruptPin

Interrupt Line

00h

04h

08h

0Ch

10h

14h

18h

1Ch

20h

24h

28h

2Ch

30h

34h

38h

3Ch

016 1531

Base Address Regs (BAR) BAR is used to allocate the amount and location of PCI I/O and PCI Memory space a device can use. Power up system software (BIOS and or O/S) is responsible for initializing BARs in a resource conflict free manner (Plug & Play)Upon completion of the PNP configuration the system writes the assigned base address value for the device into the BAR. For example, an AGP card might be assigned BAR= FD000000h

A PCI device won’t respond to ANY cycles until configured.

Each device may use up to 6 BAR registers to identify up to 6 individual address spaces of various sizes to

be used by the device.

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 6

CH-2 Slide-11PC Chipset: Functions & Devices

Base Address Registers (BAR)Upon power-up, the BAR identifies the resources required by the device. BIOS and other software writes all 1’s and reads value back to determine size and alignment (see PCI spec for details)System software uses these addresses to access device.

0 for memory space1 for I/O space

Base Address

31 0

Bottom bit of Base Address Reg specifies which address space.

The remainder of the bits identify how much space is required.

BAR USE:Request memory and/or I/O space.

BARs provide the mechanism for mapping PCI devices into the

system address space.

PCI devices do not need to utilize all of the BAR regions available.

A BAR value of zero indicates that the device has not requested that any system resources.

CH-2 Slide-12PC Chipset: Functions & Devices

Example Memory Map - After configuration

PCI Device A

Bridge.PCI Bus

PCI Device B PCI Device C

BAR =2 GB

BAR =3 GB

BAR =1 GB

System Memory Space

640KB 1MB 4GB0 3GBDev C

2GBDev B

1GBDev A

Top of Memory(256 MB for example) Physical memory (i.e., SDRAM)

does not exist above T.O.M.

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 7

CH-2 Slide-13PC Chipset: Functions & Devices

Windows Device MGR I/O Map

After Configuration: AC97 was assigned I/O space

starting at 0000E800 & 0000EF00

AC97 E800

CH-2 Slide-14PC Chipset: Functions & Devices

Windows Device MGR Memory Map

AGP F8000000

AGP A00000

After Configuration: AGP was assigned memory space starting at F8000000 &

FC900000 & FD000000 (as well as the standard VGA Video Buffer at 000A0000--reserved mem area below Top of Memory)

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 8

CH-2 Slide-15PC Chipset: Functions & Devices

PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 1a308086 [dport(0cf8)=8000003c]

BAR-10=f8000008, BAR-14=00000000 /* Mem Ctlr */

PCI Dev# 1 [ 1h]: Fun# 0 DID/VID = 1a318086 [dport(0cf8)=8000083c]

BAR-10=00000000, BAR-14=00000000 /* AGP Bridge */

PCI Dev# 31 [1Fh]: Fun# 4 DID/VID = 24448086 [dport(0cf8)=8000fc3c]

BAR-10=00000000, BAR-14=00000000 /* USB #2 */

PCI Dev# 31 [1Fh]: Fun# 5 DID/VID = 24458086 [dport(0cf8)=8000fd3c]

BAR-10=0000e801, BAR-14=0000ef01 /* AC97 */

Now dumping PCI bus 1.

PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 011010de [dport(0cf8)=8001003c]

BAR-10=fd000000, BAR-14=e8000008 /* AGP card */

Now dumping PCI bus 2.

PCI Dev# 10 [ Ah]: Fun# 0 DID/VID = 00109005 [dport(0cf8)=8002503c]

BAR-10=0000d801, BAR-14=feaff004 /* SCSI card */

PCI Dev# 11 [ Bh]: Fun# 0 DID/VID = 920010b7 [dport(0cf8)=8002583c]

BAR-10=0000dc01, BAR-14=feafec00 /* LAN card */

ITP Dump of BARs After Configuration

••• Note: Partial list – not all devices shown

Compare this to Device MGR display on previous slides

PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 1a308086 [dport(0cf8)=8000003c]

BAR-10=f8000008, BAR-14=00000000 /* Mem Ctlr */

PCI Dev# 1 [ 1h]: Fun# 0 DID/VID = 1a318086 [dport(0cf8)=8000083c]

BAR-10=00000000, BAR-14=00000000 /* AGP Bridge */

PCI Dev# 31 [1Fh]: Fun# 4 DID/VID = 24448086 [dport(0cf8)=8000fc3c]

BAR-10=00000000, BAR-14=00000000 /* USB #2 */

PCI Dev# 31 [1Fh]: Fun# 5 DID/VID = 24458086 [dport(0cf8)=8000fd3c]

BAR-10=0000e801, BAR-14=0000ef01 /* AC97 */

Now dumping PCI bus 1.

PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 011010de [dport(0cf8)=8001003c]

BAR-10=fd000000, BAR-14=e8000008 /* AGP card */

Now dumping PCI bus 2.

PCI Dev# 10 [ Ah]: Fun# 0 DID/VID = 00109005 [dport(0cf8)=8002503c]

BAR-10=0000d801, BAR-14=feaff004 /* SCSI card */

PCI Dev# 11 [ Bh]: Fun# 0 DID/VID = 920010b7 [dport(0cf8)=8002583c]

BAR-10=0000dc01, BAR-14=feafec00 /* LAN card */

CH-2 Slide-16PC Chipset: Functions & Devices

Effects of writing to AGP MemoryPortion of Windows desktop. The digital data representing this screen is stored in AGP video memory at A0000 and System memory at E8000000.0x00000000000a0000P efbeefbe ef9eef9e ef9eef9e ef9eef9e

0x00000000000a0010P f79ef79e f7def7bf f7def7be f7bef7be

0x00000000000a0020P f79ef79e f7bef7be f7bff7bf ef9ef79f

0x00000000e8000000P efbeefbe ef9eef9e ef9eef9e ef9eef9e

0x00000000e8000010P f79ef79e f7def7bf f7def7be f7bef7be

0x00000000e8000020P f79ef79e f7bef7be f7bff7bf ef9ef79f

Desktop after writing to AGP video memory at A0000.0x00000000000a0000P f0f0f0f0 f0f0f0f0 f0f0f0f0 f0f0f0f0

0x00000000000a0010P f0f0f0f0 f0f0f0f0 f0f0f0f0 f0f0f0f0

0x00000000000a0020P f0f0f0f0 f0f0f0f0 f0f0f0f0 f0f0f0f0

“f0f0f0f0” changes part of screen to a red color

Desktop after writing to System memory at E8000000.0x00000000e8000000P 33223322 33223322 33223322 33223322

0x00000000e8000010P 33223322 33223322 33223322 33223322

0x00000000e8000020P 33223322 33223322 33223322 33223322

0x00000000e8000030P 33223322 33223322 33223322 33223322

“33223322” changes part of red screen to a green colorNote: Red & Green shades not visible in Grayscale handout

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 9

CH-2 Slide-17PC Chipset: Functions & Devices

The bottom bit of the Base Address Register specifies:

1: Max size of the BAR register

2: Config complete/not done

3: Memory or I/O Space

4: Amount of space required

3: Memory or I/O Space

M-1M-1

CH-2 Slide-18PC Chipset: Functions & Devices

Supported in newer O/S’s (e.g. Windows 2000/XP)

and supports 24 interrupts.

15 IRQs

DECODEINTA

CYCLE

CPU

PIC#1

00

010203

04

050607

INTR

8 Data

INTA

8

9

A

B

C

D

E

F

70

71

72

73

74

75

76

77

INTR08

091011

12

131415

Data

IRQ

INTACycle

Generate

INTA

PIC#2

IRQ

DECODEINTA

CYCLE

CPU

PIC#1

00

010203

04

050607

INTR

8 Data

INTA

8

9

A

B

C

D

E

F

70

71

72

73

74

75

76

77

INTR08

091011

12

131415

Data

IRQ

INTACycle

Generate

INTA

PIC#2

IRQ

The standard interrupt controller (8259 PIC) is

intended for use in a uni-processor system and supports 15 interrupts

Processor Core

Local APICModule

PICD1

PICD0

PICCLK APIC Clock

I/O APIC (in chipset or discrete device)

System Interrupt Request Lines

Uses a 3-wire bus between the I/O APIC and the local APIC within

processor(s).

24 IRQs

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 10

CH-2 Slide-19PC Chipset: Functions & Devices

PCI Hardware InterruptsMultiple PCI devices can be assigned to same IRQ.

The operating system calls each interrupt handler until one of the handlers claims the interrupt.

A typical chipset has 8 PIRQ input signals: PIRQ[H:A]# PCI connector interrupts signals (INTA, B, C, D) will connect to 1 of 8 ICH interrupt inputs (PIRQA#-PIRQH#).

Any PCI interrupt source (onboard or from a PCI add-in card) connects to one of these PIRQ signals.

In APIC mode, PIRQA#-PIRQH# are often routed to PCI interrupts IRQ16-IRQ23 respectively.

In PIC mode (legacy interrupts), the ICH can connect each PIRQ line internally to one of the IRQ signals (3-7, 9-12, 14, & 15)--each PIRQx# line has a separate Route Control register (e.g.,D31:F0 offsets 60h-6Bh for PIRQA#-PIRQH#

CH-2 Slide-20PC Chipset: Functions & Devices

PCI Configuration Registers--InterruptsRegister Number

Selects register within a particular Bus, Device, & Function (e.g., offset 3C or 3D)

016 1531

Device ID (02-03) Vendor ID (00-01)

Status Command

Class Code RevisionID

BIST HeaderType

LatencyTimer

Cache LineSize

Base Address Registers

Reserved

Reserved

Expansion ROM Base Address

Reserved

Reserved

Max_Lat Min_Gnt InterruptPin (3D)

Interrupt Line (3C)

00h

04h

08h

0Ch

10h

14h

18h

1Ch

20h

24h

28h

2Ch

30h

34h

38h

3Ch

3C3F 3E 3D

Interrupt Pin & Line use example:Pin (3D): 01 for INTA; 02 for INTB Line (3C): 10h -> IRQ16, 11h -> IRQ17

More details in next slides

Each PCI slot has 4 pins: INTA#, INTB#, INTC#, INTD#INTA is used for all add-in cards that require only 1 IRQINTB for the 2nd interrupt on cards that require 2 or more INTC & INTD: 3rd & 4th (not absolute requirements)

The interrupt line (IRQ) is read by software (O/S &

drivers) from the Interrupt Line register (offset 3C) in

the PCI Configuration Space of a device (3C

holds hex value of IRQ).

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 11

CH-2 Slide-21PC Chipset: Functions & Devices

Each PCI slot has 4 pins: INTA#, INTB#, INTC#, and INTD#.

True

or

False

True

M-1M-1

CH-2 Slide-22PC Chipset: Functions & Devices

Typical Interrupt Routing (from TPS)

Chipset

ICH

(APIC mode)

PIRQA# [IRQ16]

PIRQB# [IRQ17]PIRQC# [IRQ18]PIRQD# [IRQ19]PIRQE# [IRQ20]PIRQF# [IRQ21]PIRQG# [IRQ22]

PIRQH# [IRQ23]

Input pins to chipset (ICH)

PIRQ[A :H]#

A typical chipset has 8 PIRQ input signals. PIRQ[H:A]# Each PCI slot has 4 pins: INTA#, INTB#, INTC#, INTD# INTA is used for all add-in cards that require only 1 IRQ

Typical APIC IRQs: 16 17 18 19 20 21 22 23

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 12

CH-2 Slide-23PC Chipset: Functions & Devices

Typical Interrupt Map (from TPS)IRQ System Resource0 * Interval Timer

1 * Keyboard

2 * Cascade from slave PIC

3 COM2 – can be changed

4 COM1 – can be changed

5 LPT2 / User available

6 Diskette drive

7 LPT1 – can be changed

8 Real-time clock

9 * ICH SM Bus

10 (0ah) User available

11 (0bh) User available

IRQ System Resource13 (0dh) * Math Coprocessor

14 (0eh) Pri IDE / User available

15 (0fh) Sec IDE / User available

16-23 Available in APIC mode only

16 (10h) USB UHCI Ctlr1(PIRQA)

17 (11h) AC97 / avail (PIRQB)

18 (12h) ICH USB Ctlr 3 (PIRQC)

19 (13h) ICH USB Ctlr 2 (PIRQD)

20 (14h) ICH LAN (opt) (PIRQE)

21 (15h) User available (PIRQF)

22 (16h) User available (PIRQG)

23 (17h) ICH USB2 EHCI (PIRQH)

12 (0ch) Mouse / User available * = Reserved16-23 avail in APIC mode only

CH-2 Slide-24PC Chipset: Functions & Devices

Device MGR IRQs (Win 2K w/ PIC)

Note that with the standard ISA

compatible 8259 PICs (Programmable

Interrupt Controllers), many PCI devices share interrupt 9

Note – NOT USING APIC

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 13

CH-2 Slide-25PC Chipset: Functions & Devices

Device MGR IRQs (Win XP w/ APIC)

Note that with the APIC (Advanced

Programmable Interrupt Controller), PCI devices

do not need to share interrupt 9, and most

are assigned their own interrupt

CH-2 Slide-26PC Chipset: Functions & Devices

ITP Dump of Interrupt Pin/Line (APIC)PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 1a308086 [dport(0cf8)=8000003c]

Intr Pin=00:No INT, Intr Line=0:0h /* Mem Ctlr NO INTERRUPTS USED */

PCI Dev# 31 [1Fh]: Fun# 2 DID/VID = 24428086 [dport(0cf8)=8000fa3c]

Intr Pin=04:INTD, Intr Line=19:13h /* USB #1 – PCI Interrupt 19 */

PCI Dev# 31 [1Fh]: Fun# 3 DID/VID = 24438086 [dport(0cf8)=8000fb3c]

Intr Pin=02:INTB, Intr Line=10:0ah /* SMBus Ctlr - PCI Interrupt 10 */

PCI Dev# 31 [1Fh]: Fun# 4 DID/VID = 24448086 [dport(0cf8)=8000fc3c]

Intr Pin=03:INTC, Intr Line=23:17h /* USB #2 - PCI Interrupt 23 */

PCI Dev# 31 [1Fh]: Fun# 5 DID/VID = 24458086 [dport(0cf8)=8000fd3c]

Intr Pin=02:INTB, Intr Line=17:11h /* AC97 - PCI Interrupt 17 */

Now dumping PCI bus 1.

PCI Dev# 0 [ 0h]: Fun# 0 DID/VID = 011010de [dport(0cf8)=8001003c]

Intr Pin=01:INTA, Intr Line=16:10h /* AGP card - PCI Interrupt 16 */

Now dumping PCI bus 2.

PCI Dev# 10 [ Ah]: Fun# 0 DID/VID = 00109005 [dport(0cf8)=8002503c]

Intr Pin=01:INTA, Intr Line=22:16h /* SCSI card - PCI Interrupt 22

/* SCSI card in PCI slot 2--this would be IRQ21 if card in PCI slot 1 */

PCI Dev# 11 [ Bh]: Fun# 0 DID/VID = 920010b7 [dport(0cf8)=8002583c]

Intr Pin=01:INTA, Intr Line=23:17h /* LAN card - PCI Interrupt 23 */

Compare these to Device MGR display on previous slide

Note: Partial list – not all devices shown

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 14

CH-2 Slide-27PC Chipset: Functions & Devices

SYSTEM BUS VS. APIC BUSPCI Message signaled interrupts (MSI) are available on newer systems with (x)APIC architecture.

The xAPIC architecture (Pentium 4 and Xeon) is an extension of the P6 family APIC architecture .

(x) = Extensions--extra features beyond standard I/O APIC.xIOAPIC sends interrupt requests to CPUs on system bus. I/O APIC & CPU APICs communicate with 3-wire APIC bus

Standard APIC bus messages are invisible to software

Message signaled interrupts allow devices to request interrupt service via a standard PCI transaction (S/W)

Eliminates need for interrupt traces and sharing IRQs Number of MSIs is virtually unlimitedTraditionally, when a PCI device signals an interrupt it grounds one of its H/W pins (INTx#” where x is {A, B, C, D}.

CH-2 Slide-28PC Chipset: Functions & Devices

Chapter 3 Quiz1) The Command Register is 16 bits at offset 05-04 in PCI

Configuration space and provides control over:A) Bus Master EnableB) Memory Space EnableC) I/O Space Enable D) All of the above

2) The _________ is used to allocate the amount and location of PCI I/O and PCI Memory space a device can use.A) RR (Resource Reg) C) BAR (Base Address Reg) B) IOR (IO Enable Reg) D) MAR (Mem Allocation Reg)

3) The hex value of the IRQ is read by software from the Interrupt Line register (offset 3C) in the PCI Configuration Space of a device. (True / False)

M-3M-3

PC Chipset: Functions & Devices Ch-2

Intel Architecture Technical Training Page 15

CH-2 Slide-29PC Chipset: Functions & Devices

REVIEW & SUMMARYWindows ® Device Manager display.

Device manager allows users to view hardware devices and manage those hardware devices easily.

Displays IRQs, DMA, and Memory & I/O maps

Functions of the PCI Command registerCMD Reg (16 bits at offset 05-04) and provides control over device’s ability to respond to PCI accessesEnable I/O & memory accesses by setting bits 0 and 1

Memory space allocation using BARsBase Address Registers are used to allocate amount & location of PCI I/O and Memory space a device can use.

Power up system software (BIOS and or O/S) is responsible for initializing BARs in a resource conflict free manner.

CH-2 Slide-30PC Chipset: Functions & Devices

REVIEW & SUMMARYUse of PCI Interrupt Pin/Line Configuration Registers

PCI connector interrupts signals (INTA, B, C, D) will connect to 1 of 8 ICH interrupt inputs (PIRQA#-PIRQH#).Interrupt Pin at offset 3D; Interrupt Line at offset 3C

Interrupt Pin (3D): 01 for INTA; 02 for INTB Interrupt Line (3C): 17 -> IRQ17, 23 -> IRQ23

With the APIC (24 IRQs), most devices are assigned their own interrupts (e.g., IRQ16-23)

With standard ISA compatible 8259 PICs (15 IRQs), many devices share interrupts (for example IRQ 9).

End of Chapter 2End of Chapter 2