Re: virt_to_bus and virt_to_phys on Apple G4 target

From: Paul Mackerras (
Date: Wed Jul 04 2001 - 02:56:57 EST writes:

> I am running linux 2.4.2 on Apple G4 machine. I think the 'PCI bus
> addresses' and 'physical addresses' are same on this architecture. I

They are the same on an Apple G4 but not necessarily on other PowerPC
machines. It depends on the PCI host bridge implementation.

> expected the two be different but according to asm/io.h 'virt_to_bus(addr)
> = virt_to_phys(addr) + PCI_DRAM_OFFSET'. I printed the value of
> 'PCI_DRAM_OFFSET' and that come out to be zero. Is this correct?

Yes, for an Apple G4.

> If I somehow get the physical address of a user space buffer in a module
> and take this as a PCI bus address, will I be able to do DMA properly?

Yes, on an Apple G4. If you use virt_to_bus then it should work on
all PowerPC machines that I know of (that run 32-bit PPC/Linux). But
as Dave points out, you should use the interfaces described in
Documentation/DMA-mapping.txt instead if at all possible. It's quite
possible that virt_to_bus will be removed during 2.5.x development.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jul 07 2001 - 21:00:13 EST