|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 02/16] libxc: Load BIOS and ACPI table into guest memory
On Thu, Feb 25, 2016 at 02:56:00PM +0000, Anthony PERARD wrote:
> This adds two new firmware module, bios_module and full_acpi_module. They
> are loaded in the guest memory and final location is provided to hvmloader
> via the hvm_start_info struct.
>
> This patch create the hvm_start_info struct for HVM guest that have a
> device model, so this is now common code with HVM guest without device
> model.
>
I think you also need to update the relevant headers to say the
structures is now used by both PVHv2 and HVM.
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> ---
> Change in V3:
> - rename acpi_table_module to full_acpi_module.
> - factorise module loading, using new function to load existing optinal
> module, this should not change anything
> - should now use the same code to loads modules as for HVMlite VMs.
> this avoid duplication of code.
> - no more generic cmdline with a list of modules, each module have its name
> in the module specific cmdline.
> - scope change for common code between hvmlite and hvmloader
> ---
> tools/libxc/include/xc_dom.h | 4 ++
> tools/libxc/xc_dom_hvmloader.c | 4 ++
> tools/libxc/xc_dom_x86.c | 130
> ++++++++++++++++++++++++++++-------------
> 3 files changed, 96 insertions(+), 42 deletions(-)
>
> diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
> index 6ebe946..7dc3fe7 100644
> --- a/tools/libxc/include/xc_dom.h
> +++ b/tools/libxc/include/xc_dom.h
> @@ -209,6 +209,10 @@ struct xc_dom_image {
> /* If unset disables the setup of the IOREQ pages. */
> bool device_model;
>
> + /* BIOS and ACPI tables passed to HVMLOADER */
> + struct xc_hvm_firmware_module bios_module;
> + struct xc_hvm_firmware_module full_acpi_module;
> +
> /* Extra ACPI tables passed to HVMLOADER */
> struct xc_hvm_firmware_module acpi_module;
>
What is the difference between "ACPI tables" and "Extra ACPI tables"?
> diff --git a/tools/libxc/xc_dom_hvmloader.c b/tools/libxc/xc_dom_hvmloader.c
> index 54e096c..2c965c9 100644
> --- a/tools/libxc/xc_dom_hvmloader.c
> +++ b/tools/libxc/xc_dom_hvmloader.c
> @@ -160,6 +160,10 @@ static int modules_init(struct xc_dom_image *dom)
> {
> int rc;
[...]
> }
> else
> {
> + start_info_size +=
> + sizeof(struct hvm_modlist_entry) * HVMLOADER_MODULE_MAX_COUNT;
> + /* Add extra space to write modules name */
> + start_info_size += 10 * HVMLOADER_MODULE_MAX_COUNT;
Why magic number 10? I guess this is the length limit of the name? Can
you have a #define somewhere?
Wei.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |