PCI IDE Controller Base Address Register setting
Darmawan Salihun
darmawan_salihun at yahoo.com
Mon Dec 27 11:07:37 UTC 2010
Hi,
I'm trying to install FreeBSD 8.0 on AMD Geode LX800 (CS5536 "southbridge"). However, it cannot detect the IDE controller (in the CS5536) correctly. It says something similar to this:
"IDE controller not present"
I did lspci in Linux (BackTrack 3)
and I saw that the IDE controller Base Address Registers (BARs)
are all disabled (only contains zeros),
except for one of them (BAR4).
BAR4 decodes 16-bytes I/O ports (FFF0h-FFFFh).
The decoded ports "seems" to conform to the PCI IDE specification
for "native-PCI IDE controller" (relocatable within the
16-bit I/O address space).
I did "cat /proc/ioports" and I found that
the following I/O port address ranges decoded correctly
to the IDE controller in the CS5536 "southbridge":
1F0h-1F7h
3F6h
170h-177h
FFF0h-FFFFh
My question:
Does FreeBSD require the IDE controller BARs
to be programmed to also decode
legacy I/O ports ranges (1F0h-1F7h,3F6h and 170h-177h)?
What if those ranges are not programmed into the BARs
of the IDE controller?
Would the IDE controller be considered
not present (disabled)?
TIA,
Darmawan
PS: I'm working on the BIOS for this particular system
but I have yet to be able to program the BARs to the
aforementioned legacy I/O port ranges.
This system is very peculiar because the PCI subsystem
is virtualized.
More information about the freebsd-hackers
mailing list