[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

re: PCI BAR and Expansion ROM



Windson,
  In answer to your questions:

PCI BAR Question:  You can use the type bits of the BAR for memory under 
1Mb in this manner, however,  the BIOS will have to allocate on the 
granulariy of a shadow region (usually 16k), further reducing the space 
available for expansion ROMs.  Depending on the amount of memory you need, 
it would be better to request IO and use that region to access your memory.

Accessing Expansion Rom during init:  This should be avoided. If the BAR is 
disabled and zeroed before init of the expansion ROM (as is the case with 
the Phoenix BIOS),  you will not know which address is available for use.  
You will have to have a very complex algorithm for detemination of free 
areas - which involves looking at all other PCI devices, and system device 
nodes (PnP runtime services.)  Otherwise you run a pretty go chance of 
hanging the system. 

If there is an address in the expansion Rom base register after boot...:   
As mentioned above, the Phoenix BIOS clears this register out before boot.  
Since clearing of this register is BIOS specific, you are on shaky ground 
to make assumptions about it.

Frances Cohen
Phoenix Technologies
frances_cohen@ptltd.com
-------------
Original Text
From pci-sig-request@znyx.com, on 8/13/96 10:30 AM:
To: "Mailing List Recipients" <pci-sig-request@znyx.com>

Hello, everyone,

First of all, thank you very much for the enthusiastic inputs from
everybody especially David O'Shea from Corollary.
it's really helpful. I have some more questions, though.

ASSUMPTION:
(1) Architecture: Intel PC and PCI boot device.
(2) O.S:  Window NT, Window95 or SCO and others.
(3) BAR:  The memory map address only; NO ALTERNATIVE
I/O ACCESS TO THE BAR.

PCI BAR QUESTION:
Can I force the TYPE bits of the BAR to be under 1M and
implement INT13 in real mode to access the BAR? Any
unforseen problems with above assumptions?

PCI EXPANSION ROM QUESTIONS:
Since Gilbert Yeung from Lanworks Technologies Inc brought up
some interesting issues about PCI Expansion ROM, I have
some questions also.

(1) During INIT before the O.S is booted, can the Intialization routine
switch to Protected mode to access Expansion Rom Register
instead of calling INT15 function 87?

(2) If there is an address in the Expansion ROM Base Register after
the O.S. is booted, is it safe for the Device Driver to claim it (in
Protected Mode) by setting bit 0 of the ROM BAR? This is under the
assumption that BAR and Expansion ROM DO NOT share the same
address decoder for the Boot Device.

(3) According to the book " PCI Hardware and Software Architecture
& Design", author by Edward Solari & George Willse, PCI System
BIOS will zero out the ROM Register after it copied the ROM image to
RAM area (c8000h to e0000h).  However, it did not happened to one
of my PC system.  Is it up to the individual System BIOS vendor to
zero out after the ROM image was copied to the RAM area? In
other words, some will do and some will not do?

Thank you very much.

Windson Wong
(714) 513-8119
Emulex Corp Network Systems.
3535 Harbor Bl.,
Costa Mesa, Ca92626

n
$œŒ