public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <npiggin@suse.de>,
	Mark McLoughlin <markmc@redhat.com>,
	xen-devel <xen-devel@lists.xensource.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Vegard Nossum <vegard.nossum@gmail.com>,
	Stephen Tweedie <sct@redhat.com>,
	x86@kernel.org, LKML <linux-kernel@vger.kernel.org>,
	Yinghai Lu <yhlu.kernel@gmail.com>
Subject: Re: [Xen-devel] Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support
Date: Fri, 27 Jun 2008 12:04:03 -0700	[thread overview]
Message-ID: <486539A3.3030102@goop.org> (raw)
In-Reply-To: <20080627160333.GA27072@elte.hu>

Ingo Molnar wrote:
> this problem still reproduces.
>
> i've pushed out all fixes into tip/x86/xen-64bit. That branch combined 
> with the config above still reproduces the build failure above.
>   

Subject: x86_64: fix non-paravirt compilation

Make sure SWAPGS and PARAVIRT_ADJUST_EXCEPTION_FRAME are properly
defined when CONFIG_PARAVIRT is off.

Fixes Ingo's build failure:
arch/x86/kernel/entry_64.S: Assembler messages:
arch/x86/kernel/entry_64.S:1201: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_64.S:1205: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_64.S:1209: Error: invalid character '_' in mnemonic
arch/x86/kernel/entry_64.S:1213: Error: invalid character '_' in mnemonic

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
 include/asm-x86/irqflags.h  |   22 +++++++++++++---------
 include/asm-x86/processor.h |    3 ---
 2 files changed, 13 insertions(+), 12 deletions(-)

===================================================================
--- a/include/asm-x86/irqflags.h
+++ b/include/asm-x86/irqflags.h
@@ -167,7 +167,20 @@
 #define INTERRUPT_RETURN_NMI_SAFE	NATIVE_INTERRUPT_RETURN_NMI_SAFE
 
 #ifdef CONFIG_X86_64
+#define SWAPGS	swapgs
+/*
+ * Currently paravirt can't handle swapgs nicely when we
+ * don't have a stack we can rely on (such as a user space
+ * stack).  So we either find a way around these or just fault
+ * and emulate if a guest tries to call swapgs directly.
+ *
+ * Either way, this is a good way to document that we don't
+ * have a reliable stack. x86_64 only.
+ */
 #define SWAPGS_UNSAFE_STACK	swapgs
+
+#define PARAVIRT_ADJUST_EXCEPTION_FRAME	/*  */
+
 #define INTERRUPT_RETURN	iretq
 #define USERGS_SYSRET64				\
 	swapgs;					\
@@ -233,15 +246,6 @@
 #else
 
 #ifdef CONFIG_X86_64
-/*
- * Currently paravirt can't handle swapgs nicely when we
- * don't have a stack we can rely on (such as a user space
- * stack).  So we either find a way around these or just fault
- * and emulate if a guest tries to call swapgs directly.
- *
- * Either way, this is a good way to document that we don't
- * have a reliable stack. x86_64 only.
- */
 #define ARCH_LOCKDEP_SYS_EXIT		call lockdep_sys_exit_thunk
 #define ARCH_LOCKDEP_SYS_EXIT_IRQ	\
 	TRACE_IRQS_ON; \
===================================================================
--- a/include/asm-x86/processor.h
+++ b/include/asm-x86/processor.h
@@ -541,9 +541,6 @@
 }
 
 #define set_iopl_mask native_set_iopl_mask
-#define SWAPGS	swapgs
-
-#define PARAVIRT_ADJUST_EXCEPTION_FRAME	/*  */
 #endif /* CONFIG_PARAVIRT */
 
 /*




  reply	other threads:[~2008-06-27 19:04 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-25  4:18 [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support Jeremy Fitzhardinge
2008-06-25  4:18 ` [PATCH 01 of 36] x86: asm-x86/pgtable.h: fix compiler warning Jeremy Fitzhardinge
2008-06-25  4:18 ` [PATCH 02 of 36] x86: add memory clobber to save/loadsegment Jeremy Fitzhardinge
2008-06-25  4:18 ` [PATCH 03 of 36] x86: add memory barriers to wrmsr Jeremy Fitzhardinge
2008-06-25  4:44   ` Arjan van de Ven
2008-06-25 21:08     ` Jeremy Fitzhardinge
2008-06-25 22:31       ` Arjan van de Ven
2008-06-25 23:05         ` Jeremy Fitzhardinge
2008-06-25 23:18         ` H. Peter Anvin
2008-06-25 23:37           ` Jeremy Fitzhardinge
2008-06-25 23:42             ` H. Peter Anvin
2008-06-25  4:19 ` [PATCH 04 of 36] x86: remove open-coded save/load segment operations Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 05 of 36] x86_64: use write_gdt_entry in vsyscall_set_cpu Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 06 of 36] x86_64: use p??_populate() to attach pages to pagetable Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 07 of 36] x86_64: unify early_ioremap Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 08 of 36] x86_64: Add gate_offset() and gate_segment() macros Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 09 of 36] x86_64: Use __pgd() on mk_kernel_pgd() Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 10 of 36] x86: unify pgd_index Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 11 of 36] x86: unify mmu_context.h Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 12 of 36] x86_64: replace end_pfn with num_physpages Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 13 of 36] x86_64: add prototype for x86_64_start_kernel() Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 14 of 36] x86_64: add sync_cmpxchg Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 15 of 36] x86: simplify vmalloc_sync_all Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 16 of 36] x86/paravirt: add a pgd_alloc/free hooks Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 17 of 36] x86: preallocate and prepopulate separately Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 18 of 36] x86/paravirt: add debugging for missing operations Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 19 of 36] paravirt_ops: define PARA_INDIRECT for indirect asm calls Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 20 of 36] paravirt/x86_64: move __PAGE_OFFSET to leave a space for hypervisor Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 21 of 36] x86-64: add FIX_PARAVIRT_BOOTMAP fixmap slot Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 22 of 36] x86_64: split x86_64_start_kernel Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 23 of 36] x86_64: adjust mapping of physical pagetables to work with Xen Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 24 of 36] x86_64: create small vmemmap mappings if PSE not available Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 25 of 36] x86_64: PSE no longer a hard requirement Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 26 of 36] x86_64: Split set_pte_vaddr() Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 27 of 36] x86_64: __switch_to(): Move arch_leave_lazy_cpu_mode() to the right place Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 28 of 36] Save %fs and %gs before load_TLS() and arch_leave_lazy_cpu_mode() Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 29 of 36] Use __KERNEL_DS as SS when returning to a kernel thread (VERIFY) Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 30 of 36] x86/paravirt_ops: split sysret and sysexit Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 31 of 36] x86_64 pvops: don't restore user rsp within sysret Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 32 of 36] Add sysret/sysexit pvops for returning to 32-bit compatibility userspace Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 33 of 36] x86_64: ia32entry: replace privileged instructions with pvops Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 34 of 36] x86_64: swapgs pvop with a user-stack can never be called Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 35 of 36] x86_64/paravirt: add adjust_exception_frame Jeremy Fitzhardinge
2008-06-25  4:19 ` [PATCH 36 of 36] x86_64/paravirt: Make load_gs_index() a paravirt operation Jeremy Fitzhardinge
2008-06-25  8:47   ` Ingo Molnar
2008-06-25 11:48     ` Jeremy Fitzhardinge
2008-06-25  8:42 ` [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support Ingo Molnar
2008-06-25 11:46   ` Jeremy Fitzhardinge
2008-06-25 15:22   ` Ingo Molnar
2008-06-25 20:12     ` Jeremy Fitzhardinge
2008-06-26 10:57       ` Ingo Molnar
2008-06-26 10:58         ` Ingo Molnar
2008-06-26 14:34           ` [Xen-devel] " Jeremy Fitzhardinge
2008-06-27 15:56             ` Ingo Molnar
2008-06-27 16:02               ` Jeremy Fitzhardinge
2008-06-27 16:06                 ` Ingo Molnar
2008-06-27 16:25                   ` Jeremy Fitzhardinge
2008-06-27 16:03             ` Ingo Molnar
2008-06-27 19:04               ` Jeremy Fitzhardinge [this message]
2008-06-29  8:43                 ` Ingo Molnar
2008-06-30  3:02                   ` Jeremy Fitzhardinge
2008-06-30  4:35                     ` Yinghai Lu
2008-06-30  5:32                       ` Jeremy Fitzhardinge
2008-06-30  8:21                     ` Ingo Molnar
2008-06-30  9:22                       ` Ingo Molnar
2008-06-30 17:17                         ` Jeremy Fitzhardinge
2008-06-30 18:12                           ` Ingo Molnar
2008-06-30 18:36                             ` Jeremy Fitzhardinge
2008-06-30 18:44                               ` Ingo Molnar
2008-06-30 17:57                         ` Jeremy Fitzhardinge
2008-06-30 18:03                           ` Ingo Molnar
2008-06-30 23:04                         ` Jeremy Fitzhardinge
2008-07-01  8:52                           ` Ingo Molnar
2008-07-01  9:21                             ` Ingo Molnar
2008-07-01 16:10                               ` Jeremy Fitzhardinge
2008-07-01 16:14                               ` Jeremy Fitzhardinge
2008-07-01 20:31                                 ` Ingo Molnar
2008-07-03  9:10                                   ` Ingo Molnar
2008-07-03 15:47                                     ` Jeremy Fitzhardinge
2008-07-03 18:20                                     ` Yinghai Lu
2008-07-03 18:25                                       ` Jeremy Fitzhardinge
2008-07-03 18:30                                         ` Yinghai Lu
2008-07-03 18:41                                           ` Jeremy Fitzhardinge
2008-07-03 18:51                                             ` Yinghai Lu
2008-07-03 19:19                                               ` Yinghai Lu
2008-07-03 19:29                                                 ` Yinghai Lu
2008-07-09  7:42                                                   ` Ingo Molnar
2008-06-26 14:28         ` Jeremy Fitzhardinge
2008-06-26 18:25         ` Jeremy Fitzhardinge
2008-06-26 19:02         ` Jeremy Fitzhardinge
2008-06-25 12:40 ` Andi Kleen
2008-06-25 18:45   ` [Xen-devel] " Keir Fraser
2008-06-25 19:13     ` Andi Kleen
2008-06-25 19:22       ` Keir Fraser
2008-06-25 20:14         ` Andi Kleen
2008-06-25 20:03   ` Jeremy Fitzhardinge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=486539A3.3030102@goop.org \
    --to=jeremy@goop.org \
    --cc=ehabkost@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markmc@redhat.com \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=sct@redhat.com \
    --cc=vegard.nossum@gmail.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=yhlu.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox