[LinuxBIOS] Can't boot from IDE on vt8237r
Peter Stuge
peter at stuge.se
Thu Jul 26 08:42:14 CEST 2007
On Thu, Jul 26, 2007 at 01:59:45AM -0400, Corey Osgood wrote:
> The cn700/vt8237r is almost working,
Cool!
> @line 259:
> In vt8237r_enable ffff ffff.
> Disabling static device: PCI: 00:0f.0
> In vt8237r_enable ffff ffff.
> Disabling static device: PCI: 00:0f.1
>
> why? [..] It looks like bad device numbers
--8<-- src/devices/pci_device.c
/* Now read the vendor and device id */
id = pci_read_config32(dev, PCI_VENDOR_ID);
/* If the device does not have a pci id disable it.
* Possibly this is because we have already disabled
* the device. But this also handles optional devices
* that may not always show up.
*/
/* If the chain is fully enumerated quit */
if ( (id == 0xffffffff) || (id == 0x00000000) ||
(id == 0x0000ffff) || (id == 0xffff0000))
{
if (dev->enabled) {
printk_info("Disabling static device: %s\n",
dev_path(dev));
dev->enabled = 0;
}
return dev;
}
-->8--
The devices are disabled by LB because of the 0xffff VID.
Theory: Some bit needs to be set somewhere in order to have the IDE
PCI device actually exist and return anything meaningful?
> FILO version 0.5 (amp at ampmobile) Sun Jul 22 00:31:32 EDT 2007
[..]
> pci_init: 00:0f.1 1106:0571 0101 8a
..and at this point that bit has been set, but the device hasn't been
enabled properly?
> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a
> find_ide_controller: primary channel: compatibility mode
> find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4
> Detected floating bus
> No drive detected on IDE channel 0
> devopen: failed to open ide
You could also try using my FILO IDE patch with the debugging
suggested in my message, it may provide some more debugging hints:
http://www.linuxbios.org/pipermail/linuxbios/2007-May/021586.html
> printk_err("NO HARD RESET ON VT8237R! FIX ME!\n");
Remove the function and undefine HAVE_HARD_RESET or whatever the
option is called then
//Peter
More information about the coreboot
mailing list