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

Re: BIOS and BARs



Anne ABIVEN wrote:
> 
> I am now testing a PCI board under DOS. Only two base address registers are 
> set. BAR 0 requires 4kbytes of I/O space and BAR1 requires 4kbytes of 
> memory, under 1Mbyte to be seen by dos.
> At boot, the PC (the BIOS) does not give any warning message or error 
> massage but when I look at the content of my BAR1 I see that it did not 
> implement it below 1 Mbyte but on top of the 4Gbytes, so I cannot access my 
> board under DOS.
> Is it normal that the BIOS gives no warning message when it does not respect 
> the requirements given ?
> Is it normal that a PC with nothing else than this board (with 2 BARs only) 
> is not able to satisfy these requirements (4kbytes of memory)?
> 
Requesting 4K of I/O space is not allowed according to the spec., the reason 
being that the early PC "architecture" only decoded 10 address bits. So this is 
probably the reason for the BIOS to skip your device, but I can imagine that 
some BIOSes have problems with allocation of memory areas below 1MB (it's a very 
unusual request). Unless there is some very good technical reason to have it 
below 1MB, don't restrict it. As has been discussed on this reflector earlier, 
I/O space can be used by boot code and DOS, while operating systems have no 
problems in using memory mapped I/O above 1MB.
rds,1Mbyte tP$