[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN key in HVMOP
On Fri, 26 Apr 2024, Henry Wang wrote: > For use cases such as Dom0less PV drivers, a mechanism to communicate > Dom0less DomU's static data with the runtime control plane (Dom0) is > needed. Since on Arm HVMOP is already the existing approach to address > such use cases (for example the allocation of HVM_PARAM_CALLBACK_IRQ), > add a new HVMOP key HVM_PARAM_MAGIC_BASE_PFN for storing the magic > page region base PFN. The value will be set at Dom0less DomU > construction time after Dom0less DomU's magic page region has been > allocated. > > To keep consistent, also set the value for HVM_PARAM_MAGIC_BASE_PFN > for libxl guests in alloc_magic_pages(). > > Reported-by: Alec Kwapis <alec.kwapis@xxxxxxxxxxxxx> > Signed-off-by: Henry Wang <xin.wang2@xxxxxxx> > --- > tools/libs/guest/xg_dom_arm.c | 2 ++ > xen/arch/arm/dom0less-build.c | 2 ++ > xen/arch/arm/hvm.c | 1 + > xen/include/public/hvm/params.h | 1 + > 4 files changed, 6 insertions(+) > > diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c > index 8cc7f27dbb..3c08782d1d 100644 > --- a/tools/libs/guest/xg_dom_arm.c > +++ b/tools/libs/guest/xg_dom_arm.c > @@ -74,6 +74,8 @@ static int alloc_magic_pages(struct xc_dom_image *dom) > xc_clear_domain_page(dom->xch, dom->guest_domid, base + > MEMACCESS_PFN_OFFSET); > xc_clear_domain_page(dom->xch, dom->guest_domid, dom->vuart_gfn); > > + xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_MAGIC_BASE_PFN, > + base); > xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_CONSOLE_PFN, > dom->console_pfn); > xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN, > diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c > index 40dc85c759..72187c167d 100644 > --- a/xen/arch/arm/dom0less-build.c > +++ b/xen/arch/arm/dom0less-build.c > @@ -861,6 +861,8 @@ static int __init construct_domU(struct domain *d, > free_domheap_pages(magic_pg, > get_order_from_pages(NR_MAGIC_PAGES)); > return rc; > } > + > + d->arch.hvm.params[HVM_PARAM_MAGIC_BASE_PFN] = gfn_x(gfn); I apologize as I have not read the whole email thread in reply to this patch. Why do we need to introduce a new hvm param instead of just setting HVM_PARAM_CONSOLE_PFN and HVM_PARAM_STORE_PFN directly here?
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |