diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-07 11:05:34 -0200 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-01-30 22:50:12 +1100 |
commit | 66686c2ab08feb721ca4d98285fba64acdf6017f (patch) | |
tree | bae76c0e0dc78809abc83b8f0dc9f84dca702de0 /drivers/lguest/lg.h | |
parent | fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d (diff) | |
download | op-kernel-dev-66686c2ab08feb721ca4d98285fba64acdf6017f.zip op-kernel-dev-66686c2ab08feb721ca4d98285fba64acdf6017f.tar.gz |
lguest: per-vcpu lguest task management
lguest uses tasks to control its running behaviour (like sending
breaks, controlling halted state, etc). In a per-vcpu environment,
each vcpu will have its own underlying task. So this patch
makes the infrastructure for that possible
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/lguest/lg.h')
-rw-r--r-- | drivers/lguest/lg.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h index d08b853..e7123fa 100644 --- a/drivers/lguest/lg.h +++ b/drivers/lguest/lg.h @@ -43,6 +43,8 @@ struct lguest; struct lg_cpu { unsigned int id; struct lguest *lg; + struct task_struct *tsk; + struct mm_struct *mm; /* == tsk->mm, but that becomes NULL on exit */ /* At end of a page shared mapped over lguest_pages in guest. */ unsigned long regs_page; @@ -55,6 +57,11 @@ struct lg_cpu { /* Virtual clock device */ struct hrtimer hrt; + /* Do we need to stop what we're doing and return to userspace? */ + int break_out; + wait_queue_head_t break_wq; + int halted; + /* Pending virtual interrupts */ DECLARE_BITMAP(irqs_pending, LGUEST_IRQS); @@ -65,8 +72,6 @@ struct lg_cpu { struct lguest { struct lguest_data __user *lguest_data; - struct task_struct *tsk; - struct mm_struct *mm; /* == tsk->mm, but that becomes NULL on exit */ struct lg_cpu cpus[NR_CPUS]; unsigned int nr_cpus; @@ -76,15 +81,10 @@ struct lguest void __user *mem_base; unsigned long kernel_address; u32 cr2; - int halted; int ts; u32 esp1; u8 ss1; - /* Do we need to stop what we're doing and return to userspace? */ - int break_out; - wait_queue_head_t break_wq; - /* Bitmap of what has changed: see CHANGED_* above. */ int changed; struct lguest_pages *last_pages; |