|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 0/4] introduce XENMEM_exchange_and_pin and XENMEM_unpin
Hi all,
this patch series introduces two new hypercalls to allow autotranslate
guests to allocate a contiguous buffer in machine addresses.
The XENMEM_exchange_and_pin returns the mfns and makes sure to pin the
pages so that the hypervisor won't change their p2m mappings while in
use.
XENMEM_unpin simply unpins the pages.
Cheers,
Stefano
Changes in v4:
- move steal_page to common code;
- introduce a generic p2m walker and use it in p2m_lookup,
guest_physmap_pin_range and guest_physmap_unpin_range;
- return -EINVAL when the P2M_DMA_PIN check fails;
- change the printk into a gdprintk;
- add a comment on what type of page can be pinned;
- rename XENMEM_get_dma_buf to XENMEM_exchange_and_pin;
- rename XENMEM_get_dma_buf to XENMEM_unpin;
- move the pinning before we copy back the mfn to the guest;
- propagate errors returned by guest_physmap_pin_range;
- use xen_memory_exchange_t as parameter for XENMEM_exchange_and_pin;
- use an unsigned iterator in unpin;
- improve the documentation of the new hypercalls;
- add a note about out.address_bits for XENMEM_exchange.
Changes in v3:
- implement guest_physmap_pin_range and guest_physmap_unpin_range on
ARM;
- implement XENMEM_put_dma_buf.
Changes in v2:
- actually don't print the warning more than once.
Stefano Stabellini (4):
xen/arm: implement steal_page
xen/arm: introduce a generic p2m walker and use it in p2m_lookup
xen: implement guest_physmap_(un)pin_range
xen: introduce XENMEM_exchange_and_pin and XENMEM_unpin
xen/arch/arm/mm.c | 6 --
xen/arch/arm/p2m.c | 147 +++++++++++++++++++++++++++++++++++-------
xen/arch/x86/mm.c | 49 --------------
xen/common/memory.c | 116 +++++++++++++++++++++++++++++++++-
xen/include/asm-arm/mm.h | 6 +-
xen/include/asm-arm/page.h | 7 ++-
xen/include/asm-x86/mm.h | 2 -
xen/include/asm-x86/p2m.h | 12 ++++
xen/include/public/memory.h | 38 +++++++++++
xen/include/xen/mm.h | 1 +
10 files changed, 297 insertions(+), 87 deletions(-)
git://xenbits.xen.org/people/sstabellini/xen-unstable.git exchange_and_pin_3
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |