diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-04-28 13:25:00 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-04-28 13:25:00 +0000 |
commit | a8155b307121742a75fa17058ab69161c649989f (patch) | |
tree | eb266dce37fdeb22d2dece4052ddaabd0febeac5 /xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/process.c | |
parent | ee2dfef113a6611922fc5ba9c98262037443453c (diff) | |
download | xen-a8155b307121742a75fa17058ab69161c649989f.tar.gz xen-a8155b307121742a75fa17058ab69161c649989f.tar.bz2 xen-a8155b307121742a75fa17058ab69161c649989f.zip |
bitkeeper revision 1.184.5.1 (3ead2bacOfPX2Bo4kzErV1yUs0q1qA)
Many files:
Pass dom_id and other flags to domains in start_info structure. Allow changing of IO privilege level via new hypercall.
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 | 5 |
1 files changed, 5 insertions, 0 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 d4db667474..a7c0755d38 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 @@ -363,7 +363,12 @@ void __switch_to(struct task_struct *prev_p, struct task_struct *next_p) } 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_multicall1(__HYPERVISOR_iopl, + ((((struct pt_regs *)next->esp0)-1)->eflags>>12)&3); + } /* EXECUTE ALL TASK SWITCH XEN SYSCALLS AT THIS POINT. */ execute_multicall_list(); |