Re: [PATCH] xen: setup pv irq ops vector earlier

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

 



On 07/02/2018 06:00 AM, Juergen Gross wrote:
> Setting pv_irq_ops for Xen PV domains should be done as early as
> possible in order to support e.g. very early printk() usage.

Will printk() work as result of this move? We still, for example,
haven't set up console.

This will (probably) allow us not to crash (due to STI and such) but I
am not sure "support" is the right term here.

-boris


>
> Remove the no longer necessary conditional in xen_init_irq_ops()
> from PVH V1 times to make clear this is a PV only function.
>
> Cc: <stable@xxxxxxxxxxxxxxx> # 4.14
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> ---
>  arch/x86/xen/enlighten_pv.c | 3 +--
>  arch/x86/xen/irq.c          | 4 +---
>  2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
> index 8d4e2e1ae60b..0f4cd9e5bed4 100644
> --- a/arch/x86/xen/enlighten_pv.c
> +++ b/arch/x86/xen/enlighten_pv.c
> @@ -1213,6 +1213,7 @@ asmlinkage __visible void __init xen_start_kernel(void)
>  	pv_info = xen_info;
>  	pv_init_ops.patch = paravirt_patch_default;
>  	pv_cpu_ops = xen_cpu_ops;
> +	xen_init_irq_ops();
>  
>  	x86_platform.get_nmi_reason = xen_get_nmi_reason;
>  
> @@ -1249,8 +1250,6 @@ asmlinkage __visible void __init xen_start_kernel(void)
>  	get_cpu_cap(&boot_cpu_data);
>  	x86_configure_nx();
>  
> -	xen_init_irq_ops();
> -
>  	/* Let's presume PV guests always boot on vCPU with id 0. */
>  	per_cpu(xen_vcpu_id, 0) = 0;
>  
> diff --git a/arch/x86/xen/irq.c b/arch/x86/xen/irq.c
> index 74179852e46c..7515a19fd324 100644
> --- a/arch/x86/xen/irq.c
> +++ b/arch/x86/xen/irq.c
> @@ -128,8 +128,6 @@ static const struct pv_irq_ops xen_irq_ops __initconst = {
>  
>  void __init xen_init_irq_ops(void)
>  {
> -	/* For PVH we use default pv_irq_ops settings. */
> -	if (!xen_feature(XENFEAT_hvm_callback_vector))
> -		pv_irq_ops = xen_irq_ops;
> +	pv_irq_ops = xen_irq_ops;
>  	x86_init.irqs.intr_init = xen_init_IRQ;
>  }




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux