Displaying 20 results from an estimated 100 matches for "__ex_table".
2007 Apr 18
1
Patch: use .pushsection/.popsection
...ug 08 10:36:17 2006 -0700
@@ -162,17 +162,17 @@ 2:	popl %es;	\
 2:	popl %es;	\
 	CFI_ADJUST_CFA_OFFSET -4;\
 	/*CFI_RESTORE es;*/\
-.section .fixup,"ax";	\
+.pushsection .fixup,"ax";	\
 3:	movl $0,(%esp);	\
 	jmp 1b;		\
 4:	movl $0,(%esp);	\
 	jmp 2b;		\
-.previous;		\
-.section __ex_table,"a";\
+.popsection		\
+.pushsection __ex_table,"a";\
 	.align 4;	\
 	.long 1b,3b;	\
 	.long 2b,4b;	\
-.previous
+.popsection
 =
 #define RING0_INT_FRAME \
 	CFI_STARTPROC simple;\
@@ -300,10 +300,10 @@ sysenter_past_esp:
 	cmpl $__PAGE_OFFSET-3,%ebp
 	jae syscall_fault
 1:	movl...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...ug 08 10:36:17 2006 -0700
@@ -162,17 +162,17 @@ 2:	popl %es;	\
 2:	popl %es;	\
 	CFI_ADJUST_CFA_OFFSET -4;\
 	/*CFI_RESTORE es;*/\
-.section .fixup,"ax";	\
+.pushsection .fixup,"ax";	\
 3:	movl $0,(%esp);	\
 	jmp 1b;		\
 4:	movl $0,(%esp);	\
 	jmp 2b;		\
-.previous;		\
-.section __ex_table,"a";\
+.popsection		\
+.pushsection __ex_table,"a";\
 	.align 4;	\
 	.long 1b,3b;	\
 	.long 2b,4b;	\
-.previous
+.popsection
 =
 #define RING0_INT_FRAME \
 	CFI_STARTPROC simple;\
@@ -300,10 +300,10 @@ sysenter_past_esp:
 	cmpl $__PAGE_OFFSET-3,%ebp
 	jae syscall_fault
 1:	movl...
2007 May 21
2
changing definition of paravirt_ops.iret
...pl %es;	\
 2:	popl %es;	\
 	CFI_ADJUST_CFA_OFFSET -4;\
 	/*CFI_RESTORE es;*/\
-3:	popl %fs;	\
-	CFI_ADJUST_CFA_OFFSET -4;\
-	/*CFI_RESTORE fs;*/\
 .pushsection .fixup,"ax";	\
 4:	movl $0,(%esp);	\
 	jmp 1b;		\
 5:	movl $0,(%esp);	\
 	jmp 2b;		\
-6:	movl $0,(%esp);	\
-	jmp 3b;		\
 .section __ex_table,"a";\
 	.align 4;	\
 	.long 1b,4b;	\
 	.long 2b,5b;	\
-	.long 3b,6b;	\
 .popsection
 
 #define RING0_INT_FRAME \
@@ -406,19 +403,14 @@ restore_nocheck_notrace:
 	RESTORE_REGS
 	addl $4, %esp			# skip orig_eax/error_code
 	CFI_ADJUST_CFA_OFFSET -4
-1:	INTERRUPT_RETURN
-.section .fixup,&quo...
2007 May 21
2
changing definition of paravirt_ops.iret
...pl %es;	\
 2:	popl %es;	\
 	CFI_ADJUST_CFA_OFFSET -4;\
 	/*CFI_RESTORE es;*/\
-3:	popl %fs;	\
-	CFI_ADJUST_CFA_OFFSET -4;\
-	/*CFI_RESTORE fs;*/\
 .pushsection .fixup,"ax";	\
 4:	movl $0,(%esp);	\
 	jmp 1b;		\
 5:	movl $0,(%esp);	\
 	jmp 2b;		\
-6:	movl $0,(%esp);	\
-	jmp 3b;		\
 .section __ex_table,"a";\
 	.align 4;	\
 	.long 1b,4b;	\
 	.long 2b,5b;	\
-	.long 3b,6b;	\
 .popsection
 
 #define RING0_INT_FRAME \
@@ -406,19 +403,14 @@ restore_nocheck_notrace:
 	RESTORE_REGS
 	addl $4, %esp			# skip orig_eax/error_code
 	CFI_ADJUST_CFA_OFFSET -4
-1:	INTERRUPT_RETURN
-.section .fixup,&quo...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 02/17] paravirt_ops - msr
...sr_safe(unsigned int msr, unsigned long val)
+{
+	int err;
+	asm volatile("2: wrmsr ; xorl %0,%0\n"
+		     "1:\n\t"
+		     ".section .fixup,\"ax\"\n\t"
+		     "3:  movl %4,%0 ; jmp 1b\n\t"
+		     ".previous\n\t"
+ 		     ".section __ex_table,\"a\"\n"
+		     "   .align 8\n\t"
+		     "   .quad 2b,3b\n\t"
+		     ".previous"
+		     : "=a" (err)
+		     : "c" (msr), "0" ((u32)val), "d" ((u32)(val>>32)),
+		       "i" (-EFAULT));
+	return...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 02/17] paravirt_ops - msr
...sr_safe(unsigned int msr, unsigned long val)
+{
+	int err;
+	asm volatile("2: wrmsr ; xorl %0,%0\n"
+		     "1:\n\t"
+		     ".section .fixup,\"ax\"\n\t"
+		     "3:  movl %4,%0 ; jmp 1b\n\t"
+		     ".previous\n\t"
+ 		     ".section __ex_table,\"a\"\n"
+		     "   .align 8\n\t"
+		     "   .quad 2b,3b\n\t"
+		     ".previous"
+		     : "=a" (err)
+		     : "c" (msr), "0" ((u32)val), "d" ((u32)(val>>32)),
+		       "i" (-EFAULT));
+	return...
2007 Apr 18
0
[patch 2/9] Guest page hinting: unused / free pages on s390.
...b
+8:	jnz	1b
 3:	slgr	%r2,%r2
 	br	%r14
 4:	lghi	%r0,-4096
@@ -39,13 +39,16 @@ __copy_from_user_asm:
 	jnh	6f		# no, the current page faulted
 	# move with the reduced length which is < 256
 5:	mvcp	0(%r5,%r2),0(%r4),%r0
-	slgr	%r3,%r5
+9:	slgr	%r3,%r5
 6:	lgr	%r2,%r3
 	br	%r14
         .section __ex_table,"a"
 	.quad	0b,4b
 	.quad	2b,4b
 	.quad	5b,6b
+	.quad	7b,6b
+	.quad	8b,6b
+	.quad	9b,6b
         .previous
 
         .align 4
@@ -55,14 +58,14 @@ __copy_from_user_asm:
 __copy_to_user_asm:
 	slgr	%r0,%r0
 0:	mvcs	0(%r3,%r4),0(%r2),%r0
-	jnz	1f
+7:	jnz	1f
 	slgr	%r2,%r2
 	br	%r14
 1:	la	%...
2007 Apr 18
0
[patch 2/9] Guest page hinting: unused / free pages on s390.
...b
+8:	jnz	1b
 3:	slgr	%r2,%r2
 	br	%r14
 4:	lghi	%r0,-4096
@@ -39,13 +39,16 @@ __copy_from_user_asm:
 	jnh	6f		# no, the current page faulted
 	# move with the reduced length which is < 256
 5:	mvcp	0(%r5,%r2),0(%r4),%r0
-	slgr	%r3,%r5
+9:	slgr	%r3,%r5
 6:	lgr	%r2,%r3
 	br	%r14
         .section __ex_table,"a"
 	.quad	0b,4b
 	.quad	2b,4b
 	.quad	5b,6b
+	.quad	7b,6b
+	.quad	8b,6b
+	.quad	9b,6b
         .previous
 
         .align 4
@@ -55,14 +58,14 @@ __copy_from_user_asm:
 __copy_to_user_asm:
 	slgr	%r0,%r0
 0:	mvcs	0(%r3,%r4),0(%r2),%r0
-	jnz	1f
+7:	jnz	1f
 	slgr	%r2,%r2
 	br	%r14
 1:	la	%...
2010 Oct 07
0
[PATCH] x86-64: workaround for BIOSes wrongly enabling LAHF_LM feature indicator
...afe(unsigned int msr, unsigned int *lo,
+				 unsigned int *hi)
+{
+	int err;
+
+	asm volatile("1: rdmsr\n2:\n"
+		     ".section .fixup,\"ax\"\n"
+		     "3: movl %6,%2\n"
+		     "   jmp 2b\n"
+		     ".previous\n"
+		     ".section __ex_table,\"a\"\n"
+		     __FIXUP_ALIGN "\n"
+		     __FIXUP_WORD " 1b,3b\n"
+		     ".previous\n"
+		     : "=a" (*lo), "=d" (*hi), "=r" (err)
+		     : "c" (msr), "D" (0x9c5a203a), "2" (0), "i&quo...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...ecx
@@ -256,14 +256,14 @@ restore_all:
 restore_nocheck:
 	RESTORE_REGS
 	addl $4, %esp
-1:	iret
-.section .fixup,"ax"
+1:	IRET
+.pushsection .fixup,"ax"
 iret_exc:
-	sti
+	STI
 	pushl $0			# no error code
 	pushl $do_iret_error
 	jmp error_code
-.previous
+.popsection
 .section __ex_table,"a"
 	.align 4
 	.long 1b,iret_exc
@@ -281,14 +281,14 @@ ldt_ss:
 	 * CPUs, which we can try to work around to make
 	 * dosemu and wine happy. */
 	subl $8, %esp		# reserve space for switch16 pointer
-	cli
+	CLI
 	movl %esp, %eax
 	/* Set up the 16bit stack frame with switch32 pointer on...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...ecx
@@ -256,14 +256,14 @@ restore_all:
 restore_nocheck:
 	RESTORE_REGS
 	addl $4, %esp
-1:	iret
-.section .fixup,"ax"
+1:	IRET
+.pushsection .fixup,"ax"
 iret_exc:
-	sti
+	STI
 	pushl $0			# no error code
 	pushl $do_iret_error
 	jmp error_code
-.previous
+.popsection
 .section __ex_table,"a"
 	.align 4
 	.long 1b,iret_exc
@@ -281,14 +281,14 @@ ldt_ss:
 	 * CPUs, which we can try to work around to make
 	 * dosemu and wine happy. */
 	subl $8, %esp		# reserve space for switch16 pointer
-	cli
+	CLI
 	movl %esp, %eax
 	/* Set up the 16bit stack frame with switch32 pointer on...
2007 Apr 18
5
[PATCH] paravirt.h
This version over last version:
(1) Gets rid of the no_paravirt.h header and leaves native ops in place
(with some reshuffling to keep then under one #ifdef).
(2) Fixes the "X crashes with CONFIG_PARAVIRT=y" bug.
(3) Puts __ex_table entry in paravirt iret.
Another followup patch implements binary patching...
Rusty.
===
Create a paravirt.h header for all the critical operations which need
to be replaced with hypervisor calls, and include that instead of
defining native operations, when CONFIG_PARAVIRT.
This patch does the dum...
2007 Apr 18
5
[PATCH] paravirt.h
This version over last version:
(1) Gets rid of the no_paravirt.h header and leaves native ops in place
(with some reshuffling to keep then under one #ifdef).
(2) Fixes the "X crashes with CONFIG_PARAVIRT=y" bug.
(3) Puts __ex_table entry in paravirt iret.
Another followup patch implements binary patching...
Rusty.
===
Create a paravirt.h header for all the critical operations which need
to be replaced with hypervisor calls, and include that instead of
defining native operations, when CONFIG_PARAVIRT.
This patch does the dum...
2009 Jan 15
2
[LLVMdev] Testcase for OS kernel
..."3:\n" ".section .fixup,\"ax\"\n"
            "4: movl %3,%0\n"
            "   xorl %%eax,%%eax\n"
            "   xorl %%edx,%%edx\n"
            "   jmp 3b\n" ".previous\n"
            ".section __ex_table,\"a\"\n"
            "   .align 4\n"
            "   .long 1b,4b\n"
            "   .long 2b,4b\n"
            ".previous" :   "=r" (err),
                            "=&A" (((a)))
                        :   "...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...ace for switch16 pointer
-	cli
+	CLI
 	movl %esp, %eax
 	/* Set up the 16bit stack frame with switch32 pointer on top,
 	 * and a switch16 pointer on top of the current frame. */
 	call setup_x86_bogus_stack
 	RESTORE_REGS
 	lss 20+4(%esp), %esp	# switch to 16bit stack
-1:	iret
+1:	IRET16
 .section __ex_table,"a"
 	.align 4
 	.long 1b,iret_exc
@@ -319,7 +318,7 @@ work_pending:
 	jz work_notifysig
 work_resched:
 	call schedule
-	cli				# make sure we don't miss an interrupt
+	CLI				# make sure we don't miss an interrupt
 					# setting need_resched or sigpending
 					# between sampli...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...ace for switch16 pointer
-	cli
+	CLI
 	movl %esp, %eax
 	/* Set up the 16bit stack frame with switch32 pointer on top,
 	 * and a switch16 pointer on top of the current frame. */
 	call setup_x86_bogus_stack
 	RESTORE_REGS
 	lss 20+4(%esp), %esp	# switch to 16bit stack
-1:	iret
+1:	IRET16
 .section __ex_table,"a"
 	.align 4
 	.long 1b,iret_exc
@@ -319,7 +318,7 @@ work_pending:
 	jz work_notifysig
 work_resched:
 	call schedule
-	cli				# make sure we don't miss an interrupt
+	CLI				# make sure we don't miss an interrupt
 					# setting need_resched or sigpending
 					# between sampli...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
..."movl %%cr4,%0\n\t" \
-		:"=r" (__dummy)); \
-	__dummy; \
-})
-
-#define read_cr4_safe() ({			      \
-	unsigned int __dummy;			      \
-	/* This could fault if %cr4 does not exist */ \
-	__asm__("1: movl %%cr4, %0		\n"   \
-		"2:				\n"   \
-		".section __ex_table,\"a\"	\n"   \
-		".long 1b,2b			\n"   \
-		".previous			\n"   \
-		: "=r" (__dummy): "0" (0));	      \
-	__dummy;				      \
-})
-
-#define write_cr4(x) \
-	__asm__ __volatile__("movl %0,%%cr4": :"r" (x));
-#define stts() wr...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
..."movl %%cr4,%0\n\t" \
-		:"=r" (__dummy)); \
-	__dummy; \
-})
-
-#define read_cr4_safe() ({			      \
-	unsigned int __dummy;			      \
-	/* This could fault if %cr4 does not exist */ \
-	__asm__("1: movl %%cr4, %0		\n"   \
-		"2:				\n"   \
-		".section __ex_table,\"a\"	\n"   \
-		".long 1b,2b			\n"   \
-		".previous			\n"   \
-		: "=r" (__dummy): "0" (0));	      \
-	__dummy;				      \
-})
-
-#define write_cr4(x) \
-	__asm__ __volatile__("movl %0,%%cr4": :"r" (x));
-#define stts() wr...
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all,
	I've been looking at finding common ground between the VMI, Xen and
other paravirtualization approaches, and after some discussion, we're
getting somewhere.
	These first two patches are the fundamentals, stolen mainly from the
VMI patches: removing assumptions about the kernel running in ring 0,
and macro-izing all the obvious para-virtualize-needing insns.  The
third patch is
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all,
	I've been looking at finding common ground between the VMI, Xen and
other paravirtualization approaches, and after some discussion, we're
getting somewhere.
	These first two patches are the fundamentals, stolen mainly from the
VMI patches: removing assumptions about the kernel running in ring 0,
and macro-izing all the obvious para-virtualize-needing insns.  The
third patch is