On 21/05/20 07:57, 彭浩(Richard) wrote:
> pic_in_kernel(),ioapic_in_kernel() and irqchip_kernel() have the
> same implementation.
> 
> Signed-off-by: Peng Hao <[email protected]>
> ---
>  arch/x86/kvm/ioapic.h  |  8 ++------
>  arch/x86/kvm/irq.h     | 14 ++++----------
>  arch/x86/kvm/lapic.c   |  1 +
>  arch/x86/kvm/mmu/mmu.c |  1 +
>  arch/x86/kvm/x86.c     |  1 +
>  5 files changed, 9 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/x86/kvm/ioapic.h b/arch/x86/kvm/ioapic.h
> index 2fb2e3c..7a3c53b 100644
> --- a/arch/x86/kvm/ioapic.h
> +++ b/arch/x86/kvm/ioapic.h
> @@ -5,7 +5,7 @@
>  #include <linux/kvm_host.h>
> 
>  #include <kvm/iodev.h>
> -
> +#include "irq.h"
>  struct kvm;
>  struct kvm_vcpu;
> 
> @@ -108,11 +108,7 @@ do {\
> 
>  static inline int ioapic_in_kernel(struct kvm *kvm)
>  {
> -int mode = kvm->arch.irqchip_mode;
> -
> -/* Matches smp_wmb() when setting irqchip_mode */
> -smp_rmb();
> -return mode == KVM_IRQCHIP_KERNEL;
> +return irqchip_kernel(kvm);
>  }
> 
>  void kvm_rtc_eoi_tracking_restore_one(struct kvm_vcpu *vcpu);
> diff --git a/arch/x86/kvm/irq.h b/arch/x86/kvm/irq.h
> index f173ab6..e133c1a 100644
> --- a/arch/x86/kvm/irq.h
> +++ b/arch/x86/kvm/irq.h
> @@ -16,7 +16,6 @@
>  #include <linux/spinlock.h>
> 
>  #include <kvm/iodev.h>
> -#include "ioapic.h"
>  #include "lapic.h"
> 
>  #define PIC_NUM_PINS 16
> @@ -66,15 +65,6 @@ void kvm_pic_destroy(struct kvm *kvm);
>  int kvm_pic_read_irq(struct kvm *kvm);
>  void kvm_pic_update_irq(struct kvm_pic *s);
> 
> -static inline int pic_in_kernel(struct kvm *kvm)
> -{
> -int mode = kvm->arch.irqchip_mode;
> -
> -/* Matches smp_wmb() when setting irqchip_mode */
> -smp_rmb();
> -return mode == KVM_IRQCHIP_KERNEL;
> -}
> -
>  static inline int irqchip_split(struct kvm *kvm)
>  {
>  int mode = kvm->arch.irqchip_mode;
> @@ -93,6 +83,10 @@ static inline int irqchip_kernel(struct kvm *kvm)
>  return mode == KVM_IRQCHIP_KERNEL;
>  }
> 
> +static inline int pic_in_kernel(struct kvm *kvm)
> +{
> +return irqchip_kernel(kvm);
> +}
>  static inline int irqchip_in_kernel(struct kvm *kvm)
>  {
>  int mode = kvm->arch.irqchip_mode;
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index 9af25c9..de4d046 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -36,6 +36,7 @@
>  #include <linux/jump_label.h>
>  #include "kvm_cache_regs.h"
>  #include "irq.h"
> +#include "ioapic.h"
>  #include "trace.h"
>  #include "x86.h"
>  #include "cpuid.h"
> diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> index 8071952..6133f69 100644
> --- a/arch/x86/kvm/mmu/mmu.c
> +++ b/arch/x86/kvm/mmu/mmu.c
> @@ -16,6 +16,7 @@
>   */
> 
>  #include "irq.h"
> +#include "ioapic.h"
>  #include "mmu.h"
>  #include "x86.h"
>  #include "kvm_cache_regs.h"
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index d786c7d..c8b62ac 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -18,6 +18,7 @@
> 
>  #include <linux/kvm_host.h>
>  #include "irq.h"
> +#include "ioapic.h"
>  #include "mmu.h"
>  #include "i8254.h"
>  #include "tss.h"
> --
> 2.7.4
> 
> ________________________________
> OPPO
> 
> 本电子邮件及其附件含有OPPO公司的保密信息,仅限于邮件指明的收件人使用(包含个人及群组)。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件,请立即以电子邮件通知发件人并删除本邮件及其附件。
> 
> This e-mail and its attachments contain confidential information from OPPO, 
> which is intended only for the person or entity whose address is listed 
> above. Any use of the information contained herein in any way (including, but 
> not limited to, total or partial disclosure, reproduction, or dissemination) 
> by persons other than the intended recipient(s) is prohibited. If you receive 
> this e-mail in error, please notify the sender by phone or email immediately 
> and delete it!
> 

Queued, thanks.

Paolo

Reply via email to