Displaying 20 results from an estimated 25 matches for "restore_reg".
Did you mean:
restore_regs
2007 May 21
2
changing definition of paravirt_ops.iret
...can set the event mask
state in the vcpu_info structure, but unfortunately at the point where
INTERRUPT_RETURN is used in entry.S, the usermode %fs has already been
restored.
How would you feel if we changed paravirt_ops.iret to make it also
responsible for restoring %fs?
In other words, change RESTORE_REGS to skip %fs, and then native_iret
would look like:
1: popl %fs
iret
with the normal exception stuff. Fortunately, %fs is already the first
thing to be saved and last to be restored, so there's no major
rearrangements.
Ideally I'd also like a register to play with, but that would requi...
2007 May 21
2
changing definition of paravirt_ops.iret
...can set the event mask
state in the vcpu_info structure, but unfortunately at the point where
INTERRUPT_RETURN is used in entry.S, the usermode %fs has already been
restored.
How would you feel if we changed paravirt_ops.iret to make it also
responsible for restoring %fs?
In other words, change RESTORE_REGS to skip %fs, and then native_iret
would look like:
1: popl %fs
iret
with the normal exception stuff. Fortunately, %fs is already the first
thing to be saved and last to be restored, so there's no major
rearrangements.
Ideally I'd also like a register to play with, but that would requi...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...value
syscall_exit:
- cli # make sure we don't miss an interrupt
+ CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
# between sampling and the iret
#ifdef CONFIG_TRAP_BAD_SYSCALL_EXITS
@@ -274,10 +273,10 @@ restore_all:
restore_nocheck:
RESTORE_REGS
addl $4, %esp
-1: iret
+1: IRET
.section .fixup,"ax"
iret_exc:
- sti
+ STI
pushl $0 # no error code
pushl $do_iret_error
jmp error_code
@@ -299,14 +298,14 @@ ldt_ss:
* CPUs, which we can try to work around to make
* dosemu and wine happy. */
subl $8, %esp # reserve s...
2007 Apr 18
1
[PATCH 1/2] Transparent entry.S IRQ holdoff handling
...value
syscall_exit:
- cli # make sure we don't miss an interrupt
+ CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
# between sampling and the iret
#ifdef CONFIG_TRAP_BAD_SYSCALL_EXITS
@@ -274,10 +273,10 @@ restore_all:
restore_nocheck:
RESTORE_REGS
addl $4, %esp
-1: iret
+1: IRET
.section .fixup,"ax"
iret_exc:
- sti
+ STI
pushl $0 # no error code
pushl $do_iret_error
jmp error_code
@@ -299,14 +298,14 @@ ldt_ss:
* CPUs, which we can try to work around to make
* dosemu and wine happy. */
subl $8, %esp # reserve s...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...the return value
syscall_exit:
- cli # make sure we don't miss an interrupt
+ CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
# between sampling and the iret
movl TI_flags(%ebp), %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 +28...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...the return value
syscall_exit:
- cli # make sure we don't miss an interrupt
+ CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
# between sampling and the iret
movl TI_flags(%ebp), %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 +28...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...hl $0 # no error code
pushl $do_iret_error
jmp error_code
-.previous
-.section __ex_table,"a"
+.popsection
+.pushsection __ex_table,"a"
.align 4
.long 1b,iret_exc
-.previous
+.popsection
=
CFI_RESTORE_STATE
ldt_ss:
@@ -415,11 +415,11 @@ ldt_ss:
TRACE_IRQS_IRET
RESTORE_REGS
lss 20+4(%esp), %esp # switch to 16bit stack
-1: INTERRUPT_RETURN
-.section __ex_table,"a"
+1: iret
+.pushsection __ex_table,"a"
.align 4
.long 1b,iret_exc
-.previous
+.popsection
CFI_ENDPROC
=
# perform work that needs to be done immediately before resumption
@@ -5...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...hl $0 # no error code
pushl $do_iret_error
jmp error_code
-.previous
-.section __ex_table,"a"
+.popsection
+.pushsection __ex_table,"a"
.align 4
.long 1b,iret_exc
-.previous
+.popsection
=
CFI_RESTORE_STATE
ldt_ss:
@@ -415,11 +415,11 @@ ldt_ss:
TRACE_IRQS_IRET
RESTORE_REGS
lss 20+4(%esp), %esp # switch to 16bit stack
-1: INTERRUPT_RETURN
-.section __ex_table,"a"
+1: iret
+.pushsection __ex_table,"a"
.align 4
.long 1b,iret_exc
-.previous
+.popsection
CFI_ENDPROC
=
# perform work that needs to be done immediately before resumption
@@ -5...
2013 Feb 14
2
[PATCH] x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS.
...otection+0x0/0x210
> [<c084a9b7>] ? error_code+0x73/
> -------------
>
> Petr says: "
> I've analysed the bug and I think that xen_iret() cannot cope with
> mangled DS, in this case zeroed out (null selector/descriptor) by either
> xen_failsafe_callback() or RESTORE_REGS because the corresponding LDT
> entry was invalidated by the reproducer. "
>
> Jan took a look at the preliminary patch and came up a fix that solves
> this problem:
>
> "This code gets called after all registers other than those handled by
> IRET got already rest...
2013 Feb 14
2
[PATCH] x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS.
...otection+0x0/0x210
> [<c084a9b7>] ? error_code+0x73/
> -------------
>
> Petr says: "
> I've analysed the bug and I think that xen_iret() cannot cope with
> mangled DS, in this case zeroed out (null selector/descriptor) by either
> xen_failsafe_callback() or RESTORE_REGS because the corresponding LDT
> entry was invalidated by the reproducer. "
>
> Jan took a look at the preliminary patch and came up a fix that solves
> this problem:
>
> "This code gets called after all registers other than those handled by
> IRET got already rest...
2007 Apr 18
0
[PATCH 17/21] i386 Ldt cleanups 1
...s.
movb OLDSS(%esp), %ah
movb CS(%esp), %al
- andl $(VM_MASK | (4 << 8) | 3), %eax
- cmpl $((4 << 8) | 3), %eax
+ andl $(VM_MASK | (LDT_SEGMENT << 8) | 3), %eax
+ cmpl $((LDT_SEGMENT << 8) | 3), %eax
je ldt_ss # returning to user-space with LDT SS
restore_nocheck:
RESTORE_REGS
Index: linux-2.6.14-zach-work/arch/i386/kernel/ptrace.c
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/ptrace.c 2005-11-04 18:30:27.000000000 -0800
+++ linux-2.6.14-zach-work/arch/i386/kernel/ptrace.c 2005-11-05 00:28:04.0000000...
2007 Apr 18
0
[PATCH 17/21] i386 Ldt cleanups 1
...s.
movb OLDSS(%esp), %ah
movb CS(%esp), %al
- andl $(VM_MASK | (4 << 8) | 3), %eax
- cmpl $((4 << 8) | 3), %eax
+ andl $(VM_MASK | (LDT_SEGMENT << 8) | 3), %eax
+ cmpl $((LDT_SEGMENT << 8) | 3), %eax
je ldt_ss # returning to user-space with LDT SS
restore_nocheck:
RESTORE_REGS
Index: linux-2.6.14-zach-work/arch/i386/kernel/ptrace.c
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/ptrace.c 2005-11-04 18:30:27.000000000 -0800
+++ linux-2.6.14-zach-work/arch/i386/kernel/ptrace.c 2005-11-05 00:28:04.0000000...
2007 Apr 18
1
[PATCH 6/14] i386 / Add some segment convenience functions
...s.
movb OLDSS(%esp), %ah
movb CS(%esp), %al
- andl $(VM_MASK | (4 << 8) | 3), %eax
- cmpl $((4 << 8) | 3), %eax
+ andl $(VM_MASK | (LDT_SEGMENT << 8) | 3), %eax
+ cmpl $((LDT_SEGMENT << 8) | 3), %eax
je ldt_ss # returning to user-space with LDT SS
restore_nocheck:
RESTORE_REGS
Index: linux-2.6.13/arch/i386/mm/fault.c
===================================================================
--- linux-2.6.13.orig/arch/i386/mm/fault.c 2005-08-09 19:43:38.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/fault.c 2005-08-10 20:42:20.000000000 -0700
@@ -101,7 +101,7 @@
/* Get the GDT...
2007 Apr 18
1
[PATCH 6/14] i386 / Add some segment convenience functions
...s.
movb OLDSS(%esp), %ah
movb CS(%esp), %al
- andl $(VM_MASK | (4 << 8) | 3), %eax
- cmpl $((4 << 8) | 3), %eax
+ andl $(VM_MASK | (LDT_SEGMENT << 8) | 3), %eax
+ cmpl $((LDT_SEGMENT << 8) | 3), %eax
je ldt_ss # returning to user-space with LDT SS
restore_nocheck:
RESTORE_REGS
Index: linux-2.6.13/arch/i386/mm/fault.c
===================================================================
--- linux-2.6.13.orig/arch/i386/mm/fault.c 2005-08-09 19:43:38.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/fault.c 2005-08-10 20:42:20.000000000 -0700
@@ -101,7 +101,7 @@
/* Get the GDT...
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew,
This series of patches lays the basic ground work for the
paravirtualized kernel patches coming later on. I think this lot is
ready for the rough-and-tumble world of the -mm tree.
The main change from the last posting is that all the page-table
related patches have been moved out, and will be posted separately.
Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew,
This series of patches lays the basic ground work for the
paravirtualized kernel patches coming later on. I think this lot is
ready for the rough-and-tumble world of the -mm tree.
The main change from the last posting is that all the page-table
related patches have been moved out, and will be posted separately.
Also, the off-by-one in reserving the top of address space has been
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
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It
didn't make it onto any of the lists it should have. -J ]
Hi Andrew,
This series of patches lays the basic ground work for the
paravirtualized kernel patches coming later on. I think this lot is
ready for the rough-and-tumble world of the -mm tree.
For the most part, these patches do nothing or very little. The
patches should
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It
didn't make it onto any of the lists it should have. -J ]
Hi Andrew,
This series of patches lays the basic ground work for the
paravirtualized kernel patches coming later on. I think this lot is
ready for the rough-and-tumble world of the -mm tree.
For the most part, these patches do nothing or very little. The
patches should