I will try the code and use normal scan.

YH.

-----邮件原件-----
发件人: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
发送时间: 2003年12月4日 21:36
收件人: YhLu
抄送: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
主题: Re: Tyan S2885

YhLu <[EMAIL PROTECTED]> writes:

> Eric,
> 
> I found in amdk8_scan_root_bus in northbridge/amd/amdk8/northbridge.c
> You put
>          /* Unmap all of the other pci busses */
>       for(reg = 0xe0; reg <= 0xec; reg += 4) {
>                 f1_write_config32(reg, 0);
>         }
> 
> Why you need to clear that? After you clear that, I can not see the 8151
and
> AGP in s2885.

Hmm.  This looks like a thinko. 

So right now the code says:
unsigned int amdk8_scan_root_bus(device_t root, unsigned int max)
{
        unsigned reg;
        max = pci_scan_bus(&root->link[0], PCI_DEVFN(0x18, 0), 0xff, max);
        /* Unmap all of the other pci busses */
        for(reg = 0xe0; reg <= 0xec; reg += 4) {
                f1_write_config32(reg, 0);
        }
        return max;
}

And I think what I meant was: 
unsigned int amdk8_scan_root_bus(device_t root, unsigned int max)
{
        unsigned reg;
        /* Unmap all of the other pci busses */
        for(reg = 0xe0; reg <= 0xec; reg += 4) {
                f1_write_config32(reg, 0);
        }
        max = pci_scan_bus(&root->link[0], PCI_DEVFN(0x18, 0), 0xff, max);
        return max;
}

I don't have a clue why it works at all with clearing those registers after
the pci bus scan.  

I wonder if that is the reason scan order matters because I don't
clear those registers out first and things are dual mapped.  

Anyway my intention was to be very careful and to clear the HT chain
mapping registers before we scanned them so we didn't have any old
configurations getting in the way.

Eric
_______________________________________________
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to