Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3441730imm; Tue, 17 Jul 2018 05:03:43 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdMx8L47ikiZdnl/g1J4ucMaW7x5asW0cvyHtN3qVVmwGXGoplfLytrkpmmjxBSpbCjf/ph X-Received: by 2002:a63:ba43:: with SMTP id l3-v6mr1263238pgu.295.1531829023270; Tue, 17 Jul 2018 05:03:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531829023; cv=none; d=google.com; s=arc-20160816; b=Y9pkIiyZA/jSg3yjN5AqvZkTjwXAVgDUGlHjtUZhzLMhtswvZ8TJvEZ+yO/M96tp+d 6ZIm8klXljO9n5AN4OhCMZ0gNcD4N0NvyKfk4wbSs4nzStDOtfH/IUJqsVNL88Ha3nrs t5j77JCJMN2HYqnctcSnVGZD+VL9Bph54D674iZ6o5zmLmKbNY0y9bzaBdU/4zBEjvGI Z298//FiMQJa9vWa436b1/XtEAoPEMQTc57f1INZ1nrRmw2KTgckDdRT1TafS9SqJ57z T++3+9DnZZRs4FJouggEV6iqxNi1LgPEFL12k6O/dOVTMh0Yc/9Qn0mcZgAquLguKspX RhAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=Eik3KjtdxmLdx5OqVNgHJf5CW/5pRVMnInhsrBzBrsg=; b=BmN/zRWac6dsWrbqCYh+YC7ZzVYBkP9fxo/jUvAI+/WdUh3l86+DeBkGqS6MB3a/+v 9pfOdcvrgB8KCuJKbL8s3UuBjIWRiFNbHp/CS4AWkfklnZxicFWRDZzUUuU3whTjaV8I /qK1oDfnOmLB/OKZQ7rTYdg9GLnBHt0XmACPWv8NvZrfQp4L5xscKuMaaZI8kEyzOk89 J61ANkXvRceBVPGKgZDjyxpRleHKyAuCXEdaARJVgGv7rbycqTdI276pS07qegky+Gim IFmYbkiy0pVjJmg0mJcIW3AYudLZ/NJrAqEsw1OQ4wzhr7mMZ/W7Zf5GMZcSsIGCpQsY /UBQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 69-v6si783521pft.235.2018.07.17.05.03.28; Tue, 17 Jul 2018 05:03:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731356AbeGQMdk (ORCPT + 99 others); Tue, 17 Jul 2018 08:33:40 -0400 Received: from mx2.suse.de ([195.135.220.15]:45720 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731087AbeGQMdj (ORCPT ); Tue, 17 Jul 2018 08:33:39 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id CA74EAE64; Tue, 17 Jul 2018 12:01:19 +0000 (UTC) From: Juergen Gross To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org Cc: boris.ostrovsky@oracle.com, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, Juergen Gross Subject: [PATCH 1/4] xen: move pv irq related functions under CONFIG_XEN_PV umbrella Date: Tue, 17 Jul 2018 14:01:10 +0200 Message-Id: <20180717120113.12756-2-jgross@suse.com> X-Mailer: git-send-email 2.13.7 In-Reply-To: <20180717120113.12756-1-jgross@suse.com> References: <20180717120113.12756-1-jgross@suse.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org All functions in arch/x86/xen/irq.c and arch/x86/xen/xen-asm*.S are specific to PV guests. Include them in the kernel with CONFIG_XEN_PV only. Make the PV specific code in arch/x86/entry/entry_*.S dependent on CONFIG_XEN_PV instead of CONFIG_XEN. While at it reformat the Makefile to make it more readable. Signed-off-by: Juergen Gross --- arch/x86/entry/entry_32.S | 8 +++++--- arch/x86/entry/entry_64.S | 8 +++++--- arch/x86/xen/Makefile | 41 +++++++++++++++++++++++++++++++---------- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S index c371bfee137a..9ab289564dda 100644 --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -369,7 +369,7 @@ GLOBAL(__begin_SYSENTER_singlestep_region) * will ignore all of the single-step traps generated in this range. */ -#ifdef CONFIG_XEN +#ifdef CONFIG_XEN_PV /* * Xen doesn't set %esp to be precisely what the normal SYSENTER * entry point expects, so fix it up before using the normal path. @@ -807,7 +807,7 @@ ENTRY(spurious_interrupt_bug) jmp common_exception END(spurious_interrupt_bug) -#ifdef CONFIG_XEN +#ifdef CONFIG_XEN_PV ENTRY(xen_hypervisor_callback) pushl $-1 /* orig_ax = -1 => not a system call */ SAVE_ALL @@ -888,11 +888,13 @@ ENTRY(xen_failsafe_callback) _ASM_EXTABLE(3b, 8b) _ASM_EXTABLE(4b, 9b) ENDPROC(xen_failsafe_callback) +#endif /* CONFIG_XEN_PV */ +#ifdef CONFIG_XEN BUILD_INTERRUPT3(xen_hvm_callback_vector, HYPERVISOR_CALLBACK_VECTOR, xen_evtchn_do_upcall) +#endif -#endif /* CONFIG_XEN */ #if IS_ENABLED(CONFIG_HYPERV) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 73a522d53b53..dbcd507c6ac6 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -1049,7 +1049,7 @@ ENTRY(do_softirq_own_stack) ret ENDPROC(do_softirq_own_stack) -#ifdef CONFIG_XEN +#ifdef CONFIG_XEN_PV idtentry hypervisor_callback xen_do_hypervisor_callback has_error_code=0 /* @@ -1129,11 +1129,13 @@ ENTRY(xen_failsafe_callback) ENCODE_FRAME_POINTER jmp error_exit END(xen_failsafe_callback) +#endif /* CONFIG_XEN_PV */ +#ifdef CONFIG_XEN apicinterrupt3 HYPERVISOR_CALLBACK_VECTOR \ xen_hvm_callback_vector xen_evtchn_do_upcall +#endif -#endif /* CONFIG_XEN */ #if IS_ENABLED(CONFIG_HYPERV) apicinterrupt3 HYPERVISOR_CALLBACK_VECTOR \ @@ -1150,7 +1152,7 @@ idtentry debug do_debug has_error_code=0 paranoid=1 shift_ist=DEBUG_STACK idtentry int3 do_int3 has_error_code=0 idtentry stack_segment do_stack_segment has_error_code=1 -#ifdef CONFIG_XEN +#ifdef CONFIG_XEN_PV idtentry xennmi do_nmi has_error_code=0 idtentry xendebug do_debug has_error_code=0 idtentry xenint3 do_int3 has_error_code=0 diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile index d83cb5478f54..f723b5aa8f74 100644 --- a/arch/x86/xen/Makefile +++ b/arch/x86/xen/Makefile @@ -12,25 +12,46 @@ endif # Make sure early boot has no stackprotector nostackp := $(call cc-option, -fno-stack-protector) CFLAGS_enlighten_pv.o := $(nostackp) -CFLAGS_mmu_pv.o := $(nostackp) +CFLAGS_mmu_pv.o := $(nostackp) -obj-y := enlighten.o multicalls.o mmu.o irq.o \ - time.o xen-asm.o xen-asm_$(BITS).o \ - grant-table.o suspend.o platform-pci-unplug.o +obj-y += enlighten.o +obj-y += multicalls.o +obj-y += mmu.o +obj-y += time.o +obj-y += grant-table.o +obj-y += suspend.o +obj-y += platform-pci-unplug.o -obj-$(CONFIG_XEN_PVHVM) += enlighten_hvm.o mmu_hvm.o suspend_hvm.o -obj-$(CONFIG_XEN_PV) += setup.o apic.o pmu.o suspend_pv.o \ - p2m.o enlighten_pv.o mmu_pv.o -obj-$(CONFIG_XEN_PVH) += enlighten_pvh.o +obj-$(CONFIG_XEN_PVHVM) += enlighten_hvm.o +obj-$(CONFIG_XEN_PVHVM) += mmu_hvm.o +obj-$(CONFIG_XEN_PVHVM) += suspend_hvm.o -obj-$(CONFIG_EVENT_TRACING) += trace.o +obj-$(CONFIG_XEN_PV) += setup.o +obj-$(CONFIG_XEN_PV) += apic.o +obj-$(CONFIG_XEN_PV) += pmu.o +obj-$(CONFIG_XEN_PV) += suspend_pv.o +obj-$(CONFIG_XEN_PV) += p2m.o +obj-$(CONFIG_XEN_PV) += enlighten_pv.o +obj-$(CONFIG_XEN_PV) += mmu_pv.o +obj-$(CONFIG_XEN_PV) += irq.o +obj-$(CONFIG_XEN_PV) += xen-asm.o +obj-$(CONFIG_XEN_PV) += xen-asm_$(BITS).o + +obj-$(CONFIG_XEN_PVH) += enlighten_pvh.o +obj-$(CONFIG_XEN_PVH) += xen-pvh.o + +obj-$(CONFIG_EVENT_TRACING) += trace.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_XEN_PV_SMP) += smp_pv.o obj-$(CONFIG_XEN_PVHVM_SMP) += smp_hvm.o + obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o + obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o + obj-$(CONFIG_XEN_DOM0) += vga.o + obj-$(CONFIG_SWIOTLB_XEN) += pci-swiotlb-xen.o + obj-$(CONFIG_XEN_EFI) += efi.o -obj-$(CONFIG_XEN_PVH) += xen-pvh.o -- 2.13.7