diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-07 08:05:34 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-01-30 06:50:12 -0500 |
commit | 66686c2ab08feb721ca4d98285fba64acdf6017f (patch) | |
tree | bae76c0e0dc78809abc83b8f0dc9f84dca702de0 /drivers/lguest/interrupts_and_traps.c | |
parent | fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d (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.c | 8 |
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 | ||