PCI IDE Controller Base Address Register setting
darmawan_salihun at yahoo.com
Sun Dec 26 21:24:57 UTC 2010
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":
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)?
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
More information about the freebsd-questions