On 06/06/2016 11:37 AM, Boris Ostrovsky wrote:
> On 06/06/2016 08:26 AM, Wei Liu wrote:
>> On Tue, May 31, 2016 at 01:02:52PM +0800, Shannon Zhao wrote:
>>> From: Shannon Zhao <shannon.z...@linaro.org>
>>>
>>> The design of this feature is described as below.
>>> Firstly, the toolstack (libxl) generates the ACPI tables according the
>>> number of vcpus and gic controller.
>>>
>>> Then, it copies these ACPI tables to DomU memory space and passes
>>> them to UEFI firmware through the "ARM multiboot" protocol.
>>>
>>> At last, UEFI gets the ACPI tables through the "ARM multiboot" protocol
>>> and installs these tables like the usual way and passes both ACPI and DT
>>> information to the Xen DomU.
>>>
>>> Currently libxl only generates RSDP, XSDT, GTDT, MADT, FADT, DSDT tables
>>> since it's enough now.
>>>
>>> This has been tested using guest kernel with the Dom0 ACPI support
>>> patches which could be fetched from:
>>> https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/log/?h=efi/arm-xen
>>>
>>> Shannon Zhao (14):
>>>   libxl/arm: Fix the function name in error log
>>>   libxl/arm: Factor out codes for generating DTB
>>>   libxc: Add placeholders for ACPI tables blob and size
>>>   tools: add ACPI tables relevant definitions
>>>   libxl/arm: Construct ACPI GTDT table
>>>   libxl/arm: Construct ACPI FADT table
>>>   libxl/arm: Construct ACPI DSDT table
>>>   libxl/arm: Construct ACPI MADT table
>>>   libxl/arm: Construct ACPI XSDT table
>>>   libxl/arm: Construct ACPI RSDP table
>>>   libxl/arm: Initialize domain param HVM_PARAM_CALLBACK_IRQ
>>>   libxl/arm: Add ACPI module
>>>   libxl/arm: initialize memory information of ACPI blob
>>>   libxc/xc_dom_core: Copy ACPI tables to guest memory space
>>>
>> After going through this series, I think the code mostly looks good.
>>
>> There is one higher level question: you seem to have put a lot of the
>> table construction code in libxl, while I failed to see why specific
>> libxl information is needed. Have you considered moving the code to
>> libxc?
>>
>> What I don't want to see is that x86 builds its ACPI table in libxc
>> while ARM builds its in libxl. That would make future merger harder.
>>
>> Boris?
> TBH, I am not sure which library this should really belong to. I felt
> libxc would be more appropriate.

Actually, I now remember why I picked libxc: because I wanted ACPI pages
to be loaded as part of xc_dom_build_image().

-boris



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to