.. | .. |
---|
52 | 52 | clear_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); |
---|
53 | 53 | } |
---|
54 | 54 | |
---|
55 | | -static void evtchn_2l_bind_to_cpu(struct irq_info *info, unsigned cpu) |
---|
| 55 | +static void evtchn_2l_bind_to_cpu(evtchn_port_t evtchn, unsigned int cpu, |
---|
| 56 | + unsigned int old_cpu) |
---|
56 | 57 | { |
---|
57 | | - clear_bit(info->evtchn, BM(per_cpu(cpu_evtchn_mask, info->cpu))); |
---|
58 | | - set_bit(info->evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); |
---|
| 58 | + clear_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, old_cpu))); |
---|
| 59 | + set_bit(evtchn, BM(per_cpu(cpu_evtchn_mask, cpu))); |
---|
59 | 60 | } |
---|
60 | 61 | |
---|
61 | | -static void evtchn_2l_clear_pending(unsigned port) |
---|
| 62 | +static void evtchn_2l_clear_pending(evtchn_port_t port) |
---|
62 | 63 | { |
---|
63 | 64 | struct shared_info *s = HYPERVISOR_shared_info; |
---|
64 | 65 | sync_clear_bit(port, BM(&s->evtchn_pending[0])); |
---|
65 | 66 | } |
---|
66 | 67 | |
---|
67 | | -static void evtchn_2l_set_pending(unsigned port) |
---|
| 68 | +static void evtchn_2l_set_pending(evtchn_port_t port) |
---|
68 | 69 | { |
---|
69 | 70 | struct shared_info *s = HYPERVISOR_shared_info; |
---|
70 | 71 | sync_set_bit(port, BM(&s->evtchn_pending[0])); |
---|
71 | 72 | } |
---|
72 | 73 | |
---|
73 | | -static bool evtchn_2l_is_pending(unsigned port) |
---|
| 74 | +static bool evtchn_2l_is_pending(evtchn_port_t port) |
---|
74 | 75 | { |
---|
75 | 76 | struct shared_info *s = HYPERVISOR_shared_info; |
---|
76 | 77 | return sync_test_bit(port, BM(&s->evtchn_pending[0])); |
---|
77 | 78 | } |
---|
78 | 79 | |
---|
79 | | -static void evtchn_2l_mask(unsigned port) |
---|
| 80 | +static void evtchn_2l_mask(evtchn_port_t port) |
---|
80 | 81 | { |
---|
81 | 82 | struct shared_info *s = HYPERVISOR_shared_info; |
---|
82 | 83 | sync_set_bit(port, BM(&s->evtchn_mask[0])); |
---|
83 | 84 | } |
---|
84 | 85 | |
---|
85 | | -static void evtchn_2l_unmask(unsigned port) |
---|
| 86 | +static void evtchn_2l_unmask(evtchn_port_t port) |
---|
86 | 87 | { |
---|
87 | 88 | struct shared_info *s = HYPERVISOR_shared_info; |
---|
88 | 89 | unsigned int cpu = get_cpu(); |
---|
.. | .. |
---|
174 | 175 | /* Timer interrupt has highest priority. */ |
---|
175 | 176 | irq = irq_from_virq(cpu, VIRQ_TIMER); |
---|
176 | 177 | if (irq != -1) { |
---|
177 | | - unsigned int evtchn = evtchn_from_irq(irq); |
---|
| 178 | + evtchn_port_t evtchn = evtchn_from_irq(irq); |
---|
178 | 179 | word_idx = evtchn / BITS_PER_LONG; |
---|
179 | 180 | bit_idx = evtchn % BITS_PER_LONG; |
---|
180 | 181 | if (active_evtchns(cpu, s, word_idx) & (1ULL << bit_idx)) |
---|
.. | .. |
---|
229 | 230 | |
---|
230 | 231 | do { |
---|
231 | 232 | xen_ulong_t bits; |
---|
232 | | - int port; |
---|
| 233 | + evtchn_port_t port; |
---|
233 | 234 | |
---|
234 | 235 | bits = MASK_LSBS(pending_bits, bit_idx); |
---|
235 | 236 | |
---|