[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC XEN PATCH v2 07/15] tools/libacpi: expose the minimum alignment used by mem_ops.alloc
The AML builder added later requires this information to implement a memory allocator that can allocate contiguous memory across multiple calls to mem_ops.alloc(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Changes in v2: * Only expose the minimal alignment. * Rename min_alloc_align to min_alloc_byte_align to clarify the unit. --- tools/firmware/hvmloader/util.c | 2 ++ tools/libacpi/libacpi.h | 2 ++ tools/libxl/libxl_x86_acpi.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index 03cfb795d3..d289361317 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -971,6 +971,8 @@ void hvmloader_acpi_build_tables(struct acpi_config *config, ctxt.mem_ops.free = acpi_mem_free; ctxt.mem_ops.v2p = acpi_v2p; + ctxt.min_alloc_byte_align = 16; + acpi_build_tables(&ctxt, config); hvm_param_set(HVM_PARAM_VM_GENERATION_ID_ADDR, config->vm_gid_addr); diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h index 67bd67fa0a..2049a1b032 100644 --- a/tools/libacpi/libacpi.h +++ b/tools/libacpi/libacpi.h @@ -51,6 +51,8 @@ struct acpi_ctxt { void (*free)(struct acpi_ctxt *ctxt, void *v, uint32_t size); unsigned long (*v2p)(struct acpi_ctxt *ctxt, void *v); } mem_ops; + + uint32_t min_alloc_byte_align; /* minimum alignment used by mem_ops.alloc */ }; struct acpi_config { diff --git a/tools/libxl/libxl_x86_acpi.c b/tools/libxl/libxl_x86_acpi.c index c0a6e321ec..f242450166 100644 --- a/tools/libxl/libxl_x86_acpi.c +++ b/tools/libxl/libxl_x86_acpi.c @@ -183,6 +183,8 @@ int libxl__dom_load_acpi(libxl__gc *gc, libxl_ctxt.c.mem_ops.v2p = virt_to_phys; libxl_ctxt.c.mem_ops.free = acpi_mem_free; + libxl_ctxt.c.min_alloc_byte_align = 16; + rc = init_acpi_config(gc, dom, b_info, &config); if (rc) { LOG(ERROR, "init_acpi_config failed (rc=%d)", rc); -- 2.12.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |