Pete Zaitcev wrote:
> 
> > > What hurts us the most is
> > > that PCI bus scan does not work.
> >
> > What do you mean ? I remember, I was able to do lspci on my JE1.
> 
> int pcibios_read_config_dword (unsigned char bus, unsigned char device_fn,
>                                unsigned char where, unsigned int *value)
> {
>         unsigned long flags;
>         if (where&3) return PCIBIOS_BAD_REGISTER_NUMBER;
>         if (bus != 0 ||
>             (device_fn != 0 && device_fn != 1 && device_fn != 0x80)) {
>                 *value = 0xffffffff;
>                 return PCIBIOS_SUCCESSFUL;
>         }
> ................
> 
> I have no idea how a why lspci works for you. In the code above you
> fool pci_scan_bus when it looks for devices. Of course the kernel
> crashes on anything that was no device function 0x80.

Have you tried to remove this ? As I can remember, access to config
spaces of non-existent devices just hangs JE1.

And I can't understand why the kernel crashes. pci_scan_bus hanles the
case when both PCIBIOS_SUCCESSFUL and 0xffffffff are returned from this
function.

> The logics of looking for "assigned-addresses: in pcic_map_pci_device()
> is broken as well. Just consider what happens when I plug 3C905 into
> JavaStation-E. The system ends with panic("PCIC: unable to locate prom
> node for pci device such and such\n").

As it supposed to work :-) But it should be extented to allow cards w/o
prom support, of course.

Regards,
Gleb.
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of the message to [EMAIL PROTECTED]

Reply via email to