Date: Mon, 27 Dec 2010 04:58:14 +0800 (SGT) From: Darmawan Salihun <darmawan_salihun@yahoo.com> To: freebsd-questions@freebsd.org Subject: PCI IDE Controller Base Address Register setting Message-ID: <413394.37578.qm@web76812.mail.sg1.yahoo.com>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?413394.37578.qm>