On 8/19/2010 9:26 PM, Glenn Tremblay wrote:
Sander -- thank you for the prompt response. My follow up is below.
> Two options:
> 1) create a virtual device that reads and writes from/to guest memory;
> you can map guest memory into host memory, but that is generally
discouraged
Our plans are to run a single guest per vbox instance -- so guest
security is not as much of an issue.
I'd like to know what calls I would need to map (and nmap) a guest
[physical?] address into host address space?
The pfnPhysGCPhys2CCPtr(ReadOnly) PDM helper should be used to get the
host virtual address of a guest physical page. If you just need the
mapping to copy the contents,
then you can also use read/write functions for access GC virtual or
physical memory.
> 2) create a virtual device that maps an associated MMIO range into guest
> memory (our VGA device does that)
So the associated MMIO memory would be allocated by the host and
associated with the PCI device I create? And the guest would have to
copy its I/O buffer data to/from this region? With this approach there
is a lot of copy overhead. Due to our isolated environment I'd prefer
to temporarily map each guest I/O buffer (which is in our own
proprietary format) so the host can access it for the duration of the
I/O operation. Is this feasible? How expensive are the
mapping/unmapping operations?
They are fairly cheap. Especially on 64-bit hosts as we map the entire
guest physical ram into the address space of the VM process. On 32-bit
hosts you can trigger expensive mapping operations; not with the current
releases, but with the next major release.
--
Kind regards / Mit freundlichen Gruessen / Met vriendelijke groet
--
Sander van Leeuwen | Senior Staff Engineer, VirtualBox
Oracle Virtualization
ORACLE Deutschland B.V. & Co. KG | Werkstrasse 24 | 71384 Weinstadt
ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Komplementärin: ORACLE Deutschland Verwaltung B.V.
Rijnzathe 6, 3454PV De Meern, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev