|
|
|
|
|
|
|
|
|
|
xen-devel
[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>
1to1.patch
Description: 1to1.patch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [RFC][PATCH 3/6] HVM PCI Passthrough (non-IOMMU),
Guy Zana <=
|
|
|
|
|