WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit

To: Ingo Molnar <mingo@xxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH 00 of 36] x86/paravirt: groundwork for 64-bit Xen support
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 27 Jun 2008 12:04:03 -0700
Cc: Nick Piggin <npiggin@xxxxxxx>, Mark McLoughlin <markmc@xxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Eduardo Habkost <ehabkost@xxxxxxxxxx>, Vegard Nossum <vegard.nossum@xxxxxxxxx>, Stephen Tweedie <sct@xxxxxxxxxx>, x86@xxxxxxxxxx, LKML <linux-kernel@xxxxxxxxxxxxxxx>, Yinghai Lu <yhlu.kernel@xxxxxxxxx>
Delivery-date: Fri, 27 Jun 2008 12:04:26 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20080627160333.GA27072@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <patchbomb.1214367536@localhost> <20080625084253.GA11524@xxxxxxx> <20080625152212.GA3442@xxxxxxx> <4862A6A9.1030109@xxxxxxxx> <20080626105722.GA12640@xxxxxxx> <20080626105818.GA13805@xxxxxxx> <4863A8E6.1010807@xxxxxxxx> <20080627160333.GA27072@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.14 (X11/20080501)
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@xxxxxxxxxx>
---
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 */

/*




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>