[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1 03/20] acpi/hvmloader: Initialize vm_gid data outside ACPI code



>>> On 05.07.16 at 21:05, <boris.ostrovsky@xxxxxxxxxx> wrote:
> This way ACPI code won't use xenstore-read() and hvm_param_set()
> which are private to hvmloader.
> 
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> ---
> 
> This is one patch that modifies config->ainfo.vm_gid_addr in build.c, with 
> that change
> consumed by the caller (when it sets VM_PARAM_VM_GENERATION_ID_ADDR). We could
> make the caller fill out config->ainfo.vm_gid_addr to avoid this as suggested 
> by Jan but
> I think logically this belongs in the ACPI builder.

Yeah, looking at the patch I think this is fine as is.

> --- a/tools/firmware/hvmloader/acpi/build.c
> +++ b/tools/firmware/hvmloader/acpi/build.c
> @@ -446,32 +446,24 @@ static int construct_secondary_tables(unsigned long 
> *table_ptrs,
>   *
>   * Return 0 if memory failure, != 0 if success
>   */
> -static int new_vm_gid(struct acpi_info *acpi_info)
> +static int new_vm_gid(struct acpi_config *config)
>  {
> -    uint64_t vm_gid[2], *buf;
> -    const char * s;
> -    char *end;
> -
> -    acpi_info->vm_gid_addr = 0;
> -
> -    /* read ID and check for 0 */
> -    s = xenstore_read("platform/generation-id", "0:0");
> -    vm_gid[0] = strtoll(s, &end, 0);
> -    vm_gid[1] = 0;
> -    if ( end && end[0] == ':' )
> -        vm_gid[1] = strtoll(end+1, NULL, 0);
> -    if ( !vm_gid[0] && !vm_gid[1] )
> +    uint64_t *buf;

Afaict you no-where deref that pointer, so I can't see why it can't
be void *.

> +    config->ainfo.vm_gid_addr = 0;
> +
> +    /* check for 0 ID*/
> +    if ( !config->vm_gid[0] && !config->vm_gid[1] )
>          return 1;
>  
>      /* copy to allocate BIOS memory */
> -    buf = (uint64_t *) mem_alloc(sizeof(vm_gid), 8);
> +    buf = (uint64_t *) mem_alloc(sizeof(config->vm_gid), 8);

In any event this cast is pointless (and has been before).

Jan


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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.