Messages in this thread | | | Date | Wed, 19 Aug 2009 08:26:37 +0300 | From | Avi Kivity <> | Subject | Re: [Alacrityvm-devel] [PATCH v3 3/6] vbus: add a "vbus-proxy" bus model for vbus_driver objects |
| |
On 08/19/2009 03:44 AM, Ira W. Snyder wrote: >> You don't need in fact a third mode. You can mmap the x86 address space >> into your ppc userspace and use the second mode. All you need then is >> the dma engine glue and byte swapping. >> >> > Hmm, I'll have to think about that. > > The ppc is a 32-bit processor, so it has 4GB of address space for > everything, including PCI, SDRAM, flash memory, and all other > peripherals. > > This is exactly like 32bit x86, where you cannot have a PCI card that > exposes a 4GB PCI BAR. The system would have no address space left for > its own SDRAM. >
(you actually can, since x86 has a 36-40 bit physical address space even with a 32-bit virtual address space, but that doesn't help you).
> On my x86 computers, I only have 1GB of physical RAM, and so the ppc's > have plenty of room in their address spaces to map the entire x86 RAM > into their own address space. That is exactly what I do now. Accesses to > ppc physical address 0x80000000 "magically" hit x86 physical address > 0x0. >
So if you mmap() that, you could work with virtual addresses. It may be more efficient to work with physical addresses directly though.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
| |