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 address identical. > >If PCI mem (BUS) address is identical to phy addr, you should not have problem > >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 > >Documentation/DMA-mapping.txt. > 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 > something? 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. Jun