|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC XEN PATCH 06/16] tools: reserve guest memory for ACPI from device model
On Wed, Feb 08, 2017 at 09:39:09AM +0800, Haozhong Zhang wrote:
> On 01/27/17 15:44 -0500, Konrad Rzeszutek Wilk wrote:
> > On Mon, Oct 10, 2016 at 08:32:25AM +0800, Haozhong Zhang wrote:
> > > One guest page is reserved for the device model to place guest ACPI. The
> >
> > guest ACPI what? ACPI SSDT? MADT?
>
> For NVDIMM, it includes NFIT and SSDT. However, the mechanism
> implemented in this and following libacpi patches can be a generic one
> to pass guest ACPI from device model. A simple conflict detection is
> implemented in patch 11.
>
> >
> > Also why one page? What if there is a need for more than one page?
> >
> > You add HVM_XS_DM_ACPI_LENGTH which makes me think this is accounted
> > for?
> >
>
> One page is enough for NVDIMM (NFIT + SSDT). I don't see fundamental
> restriction to not allow more one page, so I use HVM_XS_DM_ACPI_LENGTH
> to pass the reserved size to allow changing the size in future.
640K ought to be enough for everybody ? :-)
>
> > > base address and size of the reserved area are passed to the device
> > > model via XenStore keys hvmloader/dm-acpi/{address, length}.
> > >
> > > Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx>
> > > ---
> > > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> > > Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> > > ---
> > > tools/libxc/include/xc_dom.h | 1 +
> > > tools/libxc/xc_dom_x86.c | 7 +++++++
> > > tools/libxl/libxl_dom.c | 25 +++++++++++++++++++++++++
> > > xen/include/public/hvm/hvm_xs_strings.h | 11 +++++++++++
> > > 4 files changed, 44 insertions(+)
> > >
> > > diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
> > > index 608cbc2..19d65cd 100644
> > > --- a/tools/libxc/include/xc_dom.h
> > > +++ b/tools/libxc/include/xc_dom.h
> > > @@ -98,6 +98,7 @@ struct xc_dom_image {
> > > xen_pfn_t xenstore_pfn;
> > > xen_pfn_t shared_info_pfn;
> > > xen_pfn_t bootstack_pfn;
> > > + xen_pfn_t dm_acpi_pfn;
> >
> > Perhaps an pointer to an variable size array?
> >
> > xen_pfn_t *dm_acpi_pfns;
> > unsigned int dm_apci_nr;
> >
> > ?
>
> dm_acpi_pfn is passed to QEMU via xenstore. Though passing an array of
> pfns via xenstore is also doable, a pair of base pfn and length is
> simpler.
Whatever you think is correct - as long as you can do more than
one page.
Thanks!
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |