|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC][PATCH 3/6] HVM PCI Passthrough (non-IOMMU)
1to1.patch:
- Added functionality in libxc / Hypervisor in order to populate a
HVM P2M
table in a 1:1 fashion. This is imperative for DMA to function
correctly.
- Early setup of the e820 memory map table is done in order to
"steal"
memory from dom0 and mark that stolen memory as NEO_1TO1, later
those
would be given to NativeDom.
- The first 12MB of NativDom are remapped, because Xen resides in
this region in x86_32. If a DMA address is to be allocated in that
region, there could be unpredicted result. This could be solved by
moving
Xen up in the x86_32 arch, or by abandoning it and using x86_64
where Xen
is already relocated to high memory (currently, Neocleus' patches
support
x86_32).
- Memory protection: Regions that are marked "usable" for Dom0, are
being
marked "reserved" for NativeDom and the corresponding mfns are not
being
populated in NativeDom's P2M table, whenever the guest accesses
those
addresses, a mm_access callback is called, which is calling
domain_crash_synchronic: this is used for debugging purposes only.
A more
mature implementation should inject a #GPF or crash the NativeDom.
- New hypercalls:
HVMOP_copy_nativedom_e820_map
XENMEM_populate_1to1_physmap
- Known bugs:
- domain destruction isn't handled, so you have only one chance
to launch NativeDom on each boot.
- Known issue: this haven't been figured out completely yet, but
it
seems that the 32bit bios relocation code exceeds available
memory.
Search for "NEO TODO: (hack) malloc size multipled by 20" to
see the
temporary hack that overcomes this...
Signed-off-by: Guy Zana <guy@xxxxxxxxxxxx>
Attachment:
1to1.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |