On 21 November 2014 09:17, Kaiyuan <kaiyu...@tju.edu.cn> wrote:
> Thanks, Greg. It's useful to me. cpu_physical_memory_read()
> looks like a wrapper of translating guest addr to host addr
> Is there a function that translates guest address to host
> physical address?

No, QEMU never deals with host physical addresses at all.
In general there are three address types that might be
in use:
 * guest virtual address
 * guest physical address
 * host virtual address (only relevant if talking to RAM,
     rather than an emulated device)

For devices, the guest within the VM should deal with
converting a virtual address to a guest physical address,
and should write guest physical addresses to the device.
[If you think about real hardware, where the device is
separate from the CPU, there's no way the device can know
about guest virtual addresses, which are handled by the
CPU's built in MMU.]

So the function Greg suggests is the one you want.

-- PMM

Reply via email to