[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC v2 21/23] xen/mem_paging: move paging op arguments into a union
From: Joshua Otto <jtotto@xxxxxxxxxxxx> In preparation for the addition of a mem paging op with different arguments than the existing ops, move the op-specific arguments into a union. No functional change. Signed-off-by: Joshua Otto <jtotto@xxxxxxxxxxxx> --- tools/libxc/xc_mem_paging.c | 8 ++++---- xen/arch/x86/mm/mem_paging.c | 6 +++--- xen/include/public/memory.h | 12 ++++++++---- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/libxc/xc_mem_paging.c b/tools/libxc/xc_mem_paging.c index 28611f4..f314b08 100644 --- a/tools/libxc/xc_mem_paging.c +++ b/tools/libxc/xc_mem_paging.c @@ -29,10 +29,10 @@ static int xc_mem_paging_memop(xc_interface *xch, domid_t domain_id, memset(&mpo, 0, sizeof(mpo)); - mpo.op = op; - mpo.domain = domain_id; - mpo.gfn = gfn; - mpo.buffer = (unsigned long) buffer; + mpo.op = op; + mpo.domain = domain_id; + mpo.u.single.gfn = gfn; + mpo.u.single.buffer = (unsigned long) buffer; return do_memory_op(xch, XENMEM_paging_op, &mpo, sizeof(mpo)); } diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c index a049e0d..e23e26c 100644 --- a/xen/arch/x86/mm/mem_paging.c +++ b/xen/arch/x86/mm/mem_paging.c @@ -49,15 +49,15 @@ int mem_paging_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_paging_op_t) arg) switch( mpo.op ) { case XENMEM_paging_op_nominate: - rc = p2m_mem_paging_nominate(d, mpo.gfn); + rc = p2m_mem_paging_nominate(d, mpo.u.single.gfn); break; case XENMEM_paging_op_evict: - rc = p2m_mem_paging_evict(d, mpo.gfn); + rc = p2m_mem_paging_evict(d, mpo.u.single.gfn); break; case XENMEM_paging_op_prep: - rc = p2m_mem_paging_prep(d, mpo.gfn, mpo.buffer); + rc = p2m_mem_paging_prep(d, mpo.u.single.gfn, mpo.u.single.buffer); if ( !rc ) copyback = 1; break; diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h index 6eee0c8..49ef162 100644 --- a/xen/include/public/memory.h +++ b/xen/include/public/memory.h @@ -394,10 +394,14 @@ struct xen_mem_paging_op { uint8_t op; /* XENMEM_paging_op_* */ domid_t domain; - /* PAGING_PREP IN: buffer to immediately fill page in */ - uint64_aligned_t buffer; - /* Other OPs */ - uint64_aligned_t gfn; /* IN: gfn of page being operated on */ + union { + struct { + /* PAGING_PREP IN: buffer to immediately fill page in */ + uint64_aligned_t buffer; + /* Other OPs */ + uint64_aligned_t gfn; /* IN: gfn of page being operated on */ + } single; + } u; }; typedef struct xen_mem_paging_op xen_mem_paging_op_t; DEFINE_XEN_GUEST_HANDLE(xen_mem_paging_op_t); -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |