|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V2 9/25] tools/libxl: build DMAR table for a guest with one virtual VTD
On 2017年08月24日 19:08, Wei Liu wrote:
>>>> If add dmar table for hvmlite, we should combine dmar table with other
>>>> > >> ACPI table and populate into acpi_modules[2]. This is how hvmlite add
>>>> > >> other ACPI tables in libxl__dom_load_acpi().
>>>> > >>
>>> > >
>>> > > Sure, that sounds plausible.
>>> > >
>>> > > What I would like to see is to have one entry point to manipulate APCI
>>> > > tables.
>>> > >
>>> > > Given the patch volume we're seeing now, we expect contributors to drive
>>> > > the discussion forward. If you're not sure, feel free to ask more
>>> > > questions.
>> >
>> > I am not sure whether I understood correctly.
>> >
>> > PVHv2 builds all ACPI table in tool stack and uses acpi_module[0, 1, 2]
>> > to pass related table content.
>> >
>> > HVM builds ACPI tables in hvmloader and just use acpi_module[0] to pass
>> > additional ACPI firmware or table.
>> >
>> > These two modes have different way to use acpi_modules[]. So I think we
>> > can't combine them, right?
>> >
> There might be some misunderstanding. We probably don't want to
> manipulate the content of the tables in libxl.
>
>> > For build dmar table, we have introduced construct_dmar() in under
>> > libacpi to build dmar table and PVHv2 also can use it in
>> > libxl__dom_load_acpi().
>> >
> My major complain is now there are two functions and in two different
> locations, in two different phases of domain construction that would
> manipulate ACPI tables. I would like to have only one.
>
> The function you're currently modifying libxl__domain_firmware is not
> the right place. It's primary function is to load files from disks.
>
> You should be able to call the function you introduced in
> libxl__dom_load_acpi, provided appropriate checks are added.
But libxl__dom_load_acpi() isn't called on hvm guest code path. It just
works for PVHv2/HVMlite and have some conflict with hvm guest
configuration(i.e, acpi_module).
int libxl__arch_domain_finalise_hw_description(libxl__gc *gc,
libxl_domain_build_info
*info,
struct xc_dom_image *dom)
{
int rc = 0;
if ((info->type == LIBXL_DOMAIN_TYPE_HVM) &&
(info->device_model_version == LIBXL_DEVICE_MODEL_VERSION_NONE)) {
rc = libxl__dom_load_acpi(gc, info, dom);
if (rc != 0)
LOGE(ERROR, "libxl_dom_load_acpi failed");
}
return rc;
}
--
Best regards
Tianyu Lan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |