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 */
/*
next prev parent 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