On 01.08.2019 12:22, Chao Gao wrote:
> --- a/xen/arch/x86/microcode.c
> +++ b/xen/arch/x86/microcode.c
> @@ -277,6 +277,9 @@ static long do_microcode_update(void *_info)
>       if ( error )
>           info->error = error;
>   
> +    if ( microcode_ops->end_update )
> +        microcode_ops->end_update();
> +
>       info->cpu = cpumask_next(info->cpu, &cpu_online_map);
>       if ( info->cpu < nr_cpu_ids )
>           return continue_hypercall_on_cpu(info->cpu, do_microcode_update, 
> info);

This being the only change in this file - don't you also need to
alter the early ucode loading path?

> @@ -631,11 +622,19 @@ static int start_update(void)
>       return 0;
>   }
>   
> +static void end_update(void)
> +{
> +#if CONFIG_HVM
> +    svm_host_osvw_init();
> +#endif
> +}

Instead of leaving an empty function in the !HVM case, ...

>   static const struct microcode_ops microcode_amd_ops = {
>       .cpu_request_microcode            = cpu_request_microcode,
>       .collect_cpu_info                 = collect_cpu_info,
>       .apply_microcode                  = apply_microcode,
>       .start_update                     = start_update,
> +    .end_update                       = end_update,

... could you please leave this pointer uninitialized (i.e.
NULL) in that case?

Jan
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to