diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-06-04 14:19:18 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-06-04 14:19:18 +0000 |
commit | 8f09f5ed1674ddf635c6ac26afe785cb3a80f77d (patch) | |
tree | 097161563b39186ac37ee3cf62f72ba315726506 /xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c | |
parent | 6f6c1d7919a71b9445c4cfb006ea0fbd6815693b (diff) | |
download | xen-8f09f5ed1674ddf635c6ac26afe785cb3a80f77d.tar.gz xen-8f09f5ed1674ddf635c6ac26afe785cb3a80f77d.tar.bz2 xen-8f09f5ed1674ddf635c6ac26afe785cb3a80f77d.zip |
bitkeeper revision 1.252 (3eddffe6IQ1eZ1bHUcbBhwG8ApEXrA)
processor.h, setup.c, process.c:
Further IOPL fix -- also initial idle thread has current->thread.esp0 initialised to a non-zero value.
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c')
-rw-r--r-- | xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c index c1764fce50..b4e7a6cd14 100644 --- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c +++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c @@ -365,14 +365,11 @@ void __switch_to(struct task_struct *prev_p, struct task_struct *next_p) queue_multicall0(__HYPERVISOR_fpu_taskswitch); } - if ( next->esp0 != 0 ) - { - queue_multicall2(__HYPERVISOR_stack_switch, __KERNEL_DS, next->esp0); - /* Next call will silently fail if we are a non-privileged guest OS. */ - queue_multicall2(__HYPERVISOR_set_priv_levels, - ((((struct pt_regs *)next->esp0)-1)->eflags>>12)&3, - next->hypercall_pl); - } + queue_multicall2(__HYPERVISOR_stack_switch, __KERNEL_DS, next->esp0); + /* Next call will silently fail if we are a non-privileged guest OS. */ + queue_multicall2(__HYPERVISOR_set_priv_levels, + ((((struct pt_regs *)next->esp0)-1)->eflags>>12)&3, + next->hypercall_pl); /* EXECUTE ALL TASK SWITCH XEN SYSCALLS AT THIS POINT. */ execute_multicall_list(); |