diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-07 08:05:28 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-01-30 06:50:08 -0500 |
commit | ad8d8f3bc61ec712dd141e1029ae68c47fadc4a7 (patch) | |
tree | 70bd69e85ef7f159a62f4cd8aa2799d8d542b92c /drivers/lguest/lg.h | |
parent | 73044f05a4ac65f2df42753e9566444b9d2a660f (diff) |
lguest: per-vcpu lguest timers
Here, I introduce per-vcpu timers. With this, we can have
local expiries, needed for accounting time in smp guests
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 | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h index a4ebd415fa27..7da7b3f68da8 100644 --- a/drivers/lguest/lg.h +++ b/drivers/lguest/lg.h | |||
@@ -47,6 +47,9 @@ struct lg_cpu { | |||
47 | /* If a hypercall was asked for, this points to the arguments. */ | 47 | /* If a hypercall was asked for, this points to the arguments. */ |
48 | struct hcall_args *hcall; | 48 | struct hcall_args *hcall; |
49 | u32 next_hcall; | 49 | u32 next_hcall; |
50 | |||
51 | /* Virtual clock device */ | ||
52 | struct hrtimer hrt; | ||
50 | }; | 53 | }; |
51 | 54 | ||
52 | /* The private info the thread maintains about the guest. */ | 55 | /* The private info the thread maintains about the guest. */ |
@@ -95,9 +98,6 @@ struct lguest | |||
95 | 98 | ||
96 | struct lguest_arch arch; | 99 | struct lguest_arch arch; |
97 | 100 | ||
98 | /* Virtual clock device */ | ||
99 | struct hrtimer hrt; | ||
100 | |||
101 | /* Pending virtual interrupts */ | 101 | /* Pending virtual interrupts */ |
102 | DECLARE_BITMAP(irqs_pending, LGUEST_IRQS); | 102 | DECLARE_BITMAP(irqs_pending, LGUEST_IRQS); |
103 | }; | 103 | }; |
@@ -145,8 +145,8 @@ void setup_default_idt_entries(struct lguest_ro_state *state, | |||
145 | const unsigned long *def); | 145 | const unsigned long *def); |
146 | void copy_traps(const struct lguest *lg, struct desc_struct *idt, | 146 | void copy_traps(const struct lguest *lg, struct desc_struct *idt, |
147 | const unsigned long *def); | 147 | const unsigned long *def); |
148 | void guest_set_clockevent(struct lguest *lg, unsigned long delta); | 148 | void guest_set_clockevent(struct lg_cpu *cpu, unsigned long delta); |
149 | void init_clockdev(struct lguest *lg); | 149 | void init_clockdev(struct lg_cpu *cpu); |
150 | bool check_syscall_vector(struct lguest *lg); | 150 | bool check_syscall_vector(struct lguest *lg); |
151 | int init_interrupts(void); | 151 | int init_interrupts(void); |
152 | void free_interrupts(void); | 152 | void free_interrupts(void); |