patch-2.4.0-test3 linux/arch/i386/kernel/vm86.c
Next file: linux/arch/i386/lib/Makefile
Previous file: linux/arch/i386/kernel/traps.c
Back to the patch index
Back to the overall index
- Lines: 96
- Date:
Wed Jul 5 22:08:27 2000
- Orig file:
v2.4.0-test2/linux/arch/i386/kernel/vm86.c
- Orig date:
Fri Jun 23 21:55:07 2000
diff -u --recursive --new-file v2.4.0-test2/linux/arch/i386/kernel/vm86.c linux/arch/i386/kernel/vm86.c
@@ -69,7 +69,6 @@
struct pt_regs *ret;
unsigned long tmp;
- lock_kernel();
if (!current->thread.vm86_info) {
printk("no vm86_info: BAD\n");
do_exit(SIGSEGV);
@@ -87,7 +86,6 @@
tss->esp0 = current->thread.esp0 = current->thread.saved_esp0;
current->thread.saved_esp0 = 0;
ret = KVM86->regs32;
- unlock_kernel();
return ret;
}
@@ -138,7 +136,6 @@
struct task_struct *tsk;
int tmp, ret = -EPERM;
- lock_kernel();
tsk = current;
if (tsk->thread.saved_esp0)
goto out;
@@ -154,7 +151,6 @@
do_sys_vm86(&info, tsk);
ret = 0; /* we never return here */
out:
- unlock_kernel();
return ret;
}
@@ -169,7 +165,6 @@
struct task_struct *tsk;
int tmp, ret;
- lock_kernel();
tsk = current;
switch (subfunction) {
case VM86_REQUEST_IRQ:
@@ -204,7 +199,6 @@
do_sys_vm86(&info, tsk);
ret = 0; /* we never return here */
out:
- unlock_kernel();
return ret;
}
@@ -258,7 +252,6 @@
tsk->thread.screen_bitmap = info->screen_bitmap;
if (info->flags & VM86_SCREEN_BITMAP)
mark_screen_rdonly(tsk);
- unlock_kernel();
__asm__ __volatile__(
"xorl %%eax,%%eax; movl %%eax,%%fs; movl %%eax,%%gs\n\t"
"movl %0,%%esp\n\t"
@@ -274,7 +267,6 @@
regs32 = save_v86_state(regs16);
regs32->eax = retval;
- unlock_kernel();
__asm__ __volatile__("movl %0,%%esp\n\t"
"jmp ret_from_sys_call"
: : "r" (regs32), "b" (current));
@@ -432,7 +424,6 @@
return_to_32bit(regs, VM86_INTx + (i << 8));
}
-/* This must be called with the kernel lock held. */
int handle_vm86_trap(struct kernel_vm86_regs * regs, long error_code, int trapno)
{
if (VMPI.is_vm86pus) {
@@ -456,7 +447,6 @@
return 0;
}
-/* This must be called with the kernel lock held. */
void handle_vm86_fault(struct kernel_vm86_regs * regs, long error_code)
{
unsigned char *csp, *ssp;
@@ -586,7 +576,6 @@
int irq_bit;
unsigned long flags;
- lock_kernel();
save_flags(flags);
cli();
irq_bit = 1 << intno;
@@ -598,7 +587,6 @@
/* else user will poll for IRQs */
out:
restore_flags(flags);
- unlock_kernel();
}
static inline void free_vm86_irq(int irqnumber)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)