Zhang Fuxin wrote:
> hi,Jun Sun£¬
> ÔÚ 2001-09-19 12:39:00 you wrote£º
> >> >It is typically much easier to modify PCI device BARS so that they do
> >> >coincide
> >> >with the same physical address. You can control that by using the
> >> >correct
> >> >starting address for PCI MEM space in pci_auto.c resource assignment.
> >> It seems a good way to solve the ioremap problem and X problem.But
> >> virt_to_bus
> >> & bus_to_virt problem remains?
> >What is the virt_to_bus() problem? Is the address beyond 512MB (phy addr)?
> No,I mean problem caused different cpu & pci address space.from pci's view,
> the main memory is at address 0x80000000-0x90000000 in p6032.But for cpu,
> they are 0x0-0x10000000.So current virt_to_bus & bus_to_virt won't work.
You should make sys memory appears starting from 0x0 in PCI memory as well.
That was part of what I meant by making PCI memory address and CPU physical
> >If PCI mem (BUS) address is identical to phy addr, you should not have
> >unless the address is beyond 512MB.
> yes:).When i solve the 8259,i will try to make them same.
> >BTW, virt_to_bus()/bus_to_virt() are deprecicated. See
> I think the "depreciated" is only for direct usage: they are used in
> arch/mips/pci-dma.c to implement new interface pci_alloc_consistent.
> And there are still many driver using them(grep tell me).Am i missing
Hmm, I am not too sure here. My understanding is any new driver should try
*not* to use it. pci-dma.c may use it because of lack of other means or just
a quick hack.