aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lguest/interrupts_and_traps.c
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-01-07 08:05:34 -0500
committerRusty Russell <rusty@rustcorp.com.au>2008-01-30 06:50:12 -0500
commit66686c2ab08feb721ca4d98285fba64acdf6017f (patch)
treebae76c0e0dc78809abc83b8f0dc9f84dca702de0 /drivers/lguest/interrupts_and_traps.c
parentfc708b3e407dfd2e12ba9a6cf35bd0bffad1796d (diff)
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/interrupts_and_traps.c')
-rw-r--r--drivers/lguest/interrupts_and_traps.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/lguest/interrupts_and_traps.c b/drivers/lguest/interrupts_and_traps.c
index 306b93c71dcc..9c1c479e8c62 100644
--- a/drivers/lguest/interrupts_and_traps.c
+++ b/drivers/lguest/interrupts_and_traps.c
@@ -161,11 +161,11 @@ void maybe_do_interrupt(struct lg_cpu *cpu)
161 return; 161 return;
162 162
163 /* If they're halted, interrupts restart them. */ 163 /* If they're halted, interrupts restart them. */
164 if (lg->halted) { 164 if (cpu->halted) {
165 /* Re-enable interrupts. */ 165 /* Re-enable interrupts. */
166 if (put_user(X86_EFLAGS_IF, &lg->lguest_data->irq_enabled)) 166 if (put_user(X86_EFLAGS_IF, &lg->lguest_data->irq_enabled))
167 kill_guest(lg, "Re-enabling interrupts"); 167 kill_guest(lg, "Re-enabling interrupts");
168 lg->halted = 0; 168 cpu->halted = 0;
169 } else { 169 } else {
170 /* Otherwise we check if they have interrupts disabled. */ 170 /* Otherwise we check if they have interrupts disabled. */
171 u32 irq_enabled; 171 u32 irq_enabled;
@@ -497,8 +497,8 @@ static enum hrtimer_restart clockdev_fn(struct hrtimer *timer)
497 /* Remember the first interrupt is the timer interrupt. */ 497 /* Remember the first interrupt is the timer interrupt. */
498 set_bit(0, cpu->irqs_pending); 498 set_bit(0, cpu->irqs_pending);
499 /* If the Guest is actually stopped, we need to wake it up. */ 499 /* If the Guest is actually stopped, we need to wake it up. */
500 if (cpu->lg->halted) 500 if (cpu->halted)
501 wake_up_process(cpu->lg->tsk); 501 wake_up_process(cpu->tsk);
502 return HRTIMER_NORESTART; 502 return HRTIMER_NORESTART;
503} 503}
504 504