PCI transparent bridges (era Re: DUVIDAS)
> > bom... vamos a minha duvida.
> > eu queria saber pq quando compilo o kernel 2.4 pra placa Pentium 2, aparece essa
> > frase no inicializacao:
> > Unknown bridge resource 1: assuming transparent
> > Unknown bridge resource 2: assuming transparent
> >
> > tudo funciona bem, mas essa frase sempre aparece no init!
> > alguem pode me ajudar?
cd /usr/src/linux
find . -type f -name \*c | xargs grep -l 'Unknown bridge resource'
./drivers/pci/pci.c
less ./drivers/pci/pci.c
dentro da rotina pci_read_bridge_bases
------------------pci.c------------------
res = child->resource[1];
pci_read_config_word(dev, PCI_MEMORY_BASE, &mem_base_lo);
pci_read_config_word(dev, PCI_MEMORY_LIMIT, &mem_limit_lo);
base = (mem_base_lo & PCI_MEMORY_RANGE_MASK) << 16;
limit = (mem_limit_lo & PCI_MEMORY_RANGE_MASK) << 16;
if (base && base <= limit) {
res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM;
res->start = base;
res->end = limit + 0xfffff;
res->name = child->name;
} else {
/* See comment above. Same thing */
printk(KERN_ERR "Unknown bridge resource %d: assuming transparent\n", 1);
child->resource[1] = child->parent->resource[1];
}
res = child->resource[2];
pci_read_config_word(dev, PCI_PREF_MEMORY_BASE, &mem_base_lo);
pci_read_config_word(dev, PCI_PREF_MEMORY_LIMIT, &mem_limit_lo);
pci_read_config_dword(dev, PCI_PREF_BASE_UPPER32, &mem_base_hi);
pci_read_config_dword(dev, PCI_PREF_LIMIT_UPPER32, &mem_limit_hi);
base = (mem_base_lo & PCI_MEMORY_RANGE_MASK) << 16;
limit = (mem_limit_lo & PCI_MEMORY_RANGE_MASK) << 16;
#if BITS_PER_LONG == 64
base |= ((long) mem_base_hi) << 32;
limit |= ((long) mem_limit_hi) << 32;
#else
if (mem_base_hi || mem_limit_hi) {
printk(KERN_ERR "PCI: Unable to handle 64-bit address space for %s\n", child->name);
return;
}
#endif
------------------pci.c------------------
http://www.google.com <- search pci transparent bridges...
http://developer.intel.com/design/bridge/quicklist/
Transparent bridges (21150, 21152 and 21154) are used in many application types including PCI slot expansion not possible without PCI-to-PCI bridges, and for increasing the number of PCI devices on add-in cards.
Non-transparent bridges (21554 and 21555) link two processor domains. Non-transparent bridges present the sub-system as a single "device" to the host CPU and hide sub-system resources from the host.
Pelo que eu entendi, no seu computador quando o linux está inicializando
o barramento PCI e todos os seus dispositivos e subsistemas (as coisas onboard que você tem, muito provavelmente) ele encontra um susbsistema para o qual ele não consegue ler informações de endereçamento base (base address) ele assume que é uma bridge transparente. Confesso que não
sei nada sobre barramentos PCI (e nem ISA :P ) mas uma olhada na
saída do comando lspci da sua máquina poderia até ajudar.
Não conheço as especificações de PCI, acho que o HMH sabe mais sobre
isso, posso estar falando muita besteira :)
--
Eduardo Marcel Maçan Gerente de Redes / Network Manager
macan@colband.com.br Colégio Bandeirantes
--
To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to:
- References:
- DUVIDAS
- From: Marlon Noélio Cavalcante Nunes <spotcheck@uol.com.br>
- Re: DUVIDAS
- From: marciotex.l1@pro.via-rs.com.br