/root/src/xen/xen/include/xen/sched.h
Line | Count | Source (jump to first uncovered line) |
1 | | |
2 | | #ifndef __SCHED_H__ |
3 | | #define __SCHED_H__ |
4 | | |
5 | | #include <xen/types.h> |
6 | | #include <xen/spinlock.h> |
7 | | #include <xen/rwlock.h> |
8 | | #include <xen/shared.h> |
9 | | #include <xen/timer.h> |
10 | | #include <xen/rangeset.h> |
11 | | #include <xen/domain.h> |
12 | | #include <xen/iommu.h> |
13 | | #include <xen/rcupdate.h> |
14 | | #include <xen/cpumask.h> |
15 | | #include <xen/nodemask.h> |
16 | | #include <xen/radix-tree.h> |
17 | | #include <xen/multicall.h> |
18 | | #include <xen/tasklet.h> |
19 | | #include <xen/mm.h> |
20 | | #include <xen/smp.h> |
21 | | #include <xen/perfc.h> |
22 | | #include <asm/atomic.h> |
23 | | #include <xen/vpci.h> |
24 | | #include <xen/wait.h> |
25 | | #include <public/xen.h> |
26 | | #include <public/domctl.h> |
27 | | #include <public/sysctl.h> |
28 | | #include <public/vcpu.h> |
29 | | #include <public/vm_event.h> |
30 | | #include <public/event_channel.h> |
31 | | |
32 | | #ifdef CONFIG_COMPAT |
33 | | #include <compat/vcpu.h> |
34 | | DEFINE_XEN_GUEST_HANDLE(vcpu_runstate_info_compat_t); |
35 | | #endif |
36 | | |
37 | | /* |
38 | | * Stats |
39 | | * |
40 | | * Enable and ease the use of scheduling related performance counters. |
41 | | * |
42 | | */ |
43 | | #ifdef CONFIG_PERF_COUNTERS |
44 | | #define SCHED_STATS |
45 | | #endif |
46 | | |
47 | 24.5M | #define SCHED_STAT_CRANK(_X) (perfc_incr(_X)) |
48 | | |
49 | | /* A global pointer to the hardware domain (usually DOM0). */ |
50 | | extern struct domain *hardware_domain; |
51 | | |
52 | | #ifdef CONFIG_LATE_HWDOM |
53 | | extern domid_t hardware_domid; |
54 | | #else |
55 | 5 | #define hardware_domid 0 |
56 | | #endif |
57 | | |
58 | | #ifndef CONFIG_COMPAT |
59 | | #define BITS_PER_EVTCHN_WORD(d) BITS_PER_XEN_ULONG |
60 | | #else |
61 | 782 | #define BITS_PER_EVTCHN_WORD(d) (has_32bit_shinfo(d) ? 32 : BITS_PER_XEN_ULONG) |
62 | | #endif |
63 | | |
64 | 91.3k | #define BUCKETS_PER_GROUP (PAGE_SIZE/sizeof(struct evtchn *)) |
65 | | /* Round size of struct evtchn up to power of 2 size */ |
66 | 4.68M | #define __RDU2(x) ( (x) | ( (x) >> 1)) |
67 | 2.34M | #define __RDU4(x) ( __RDU2(x) | ( __RDU2(x) >> 2)) |
68 | 1.17M | #define __RDU8(x) ( __RDU4(x) | ( __RDU4(x) >> 4)) |
69 | 585k | #define __RDU16(x) ( __RDU8(x) | ( __RDU8(x) >> 8)) |
70 | 292k | #define __RDU32(x) (__RDU16(x) | (__RDU16(x) >>16)) |
71 | 292k | #define next_power_of_2(x) (__RDU32((x)-1) + 1) |
72 | | |
73 | | /* Maximum number of event channels for any ABI. */ |
74 | | #define MAX_NR_EVTCHNS MAX(EVTCHN_2L_NR_CHANNELS, EVTCHN_FIFO_NR_CHANNELS) |
75 | | |
76 | 292k | #define EVTCHNS_PER_BUCKET (PAGE_SIZE / next_power_of_2(sizeof(struct evtchn))) |
77 | 91.3k | #define EVTCHNS_PER_GROUP (BUCKETS_PER_GROUP * EVTCHNS_PER_BUCKET) |
78 | 0 | #define NR_EVTCHN_GROUPS DIV_ROUND_UP(MAX_NR_EVTCHNS, EVTCHNS_PER_GROUP) |
79 | | |
80 | | #define XEN_CONSUMER_BITS 3 |
81 | | #define NR_XEN_CONSUMERS ((1 << XEN_CONSUMER_BITS) - 1) |
82 | | |
83 | | struct evtchn |
84 | | { |
85 | | spinlock_t lock; |
86 | 9.45k | #define ECS_FREE 0 /* Channel is available for use. */ |
87 | 1 | #define ECS_RESERVED 1 /* Channel is reserved. */ |
88 | 4 | #define ECS_UNBOUND 2 /* Channel is waiting to bind to a remote domain. */ |
89 | 89 | #define ECS_INTERDOMAIN 3 /* Channel is bound to another domain. */ |
90 | 0 | #define ECS_PIRQ 4 /* Channel is bound to a physical IRQ line. */ |
91 | 26 | #define ECS_VIRQ 5 /* Channel is bound to a virtual IRQ line. */ |
92 | 94.1k | #define ECS_IPI 6 /* Channel is bound to a virtual IPI line. */ |
93 | | u8 state; /* ECS_* */ |
94 | | u8 xen_consumer:XEN_CONSUMER_BITS; /* Consumer in Xen if nonzero */ |
95 | | u8 pending:1; |
96 | | u16 notify_vcpu_id; /* VCPU for local delivery notification */ |
97 | | u32 port; |
98 | | union { |
99 | | struct { |
100 | | domid_t remote_domid; |
101 | | } unbound; /* state == ECS_UNBOUND */ |
102 | | struct { |
103 | | evtchn_port_t remote_port; |
104 | | struct domain *remote_dom; |
105 | | } interdomain; /* state == ECS_INTERDOMAIN */ |
106 | | struct { |
107 | | u32 irq; |
108 | | evtchn_port_t next_port; |
109 | | evtchn_port_t prev_port; |
110 | | } pirq; /* state == ECS_PIRQ */ |
111 | | u16 virq; /* state == ECS_VIRQ */ |
112 | | } u; |
113 | | u8 priority; |
114 | | u8 last_priority; |
115 | | u16 last_vcpu_id; |
116 | | #ifdef CONFIG_XSM |
117 | | union { |
118 | | #ifdef XSM_NEED_GENERIC_EVTCHN_SSID |
119 | | /* |
120 | | * If an XSM module needs more space for its event channel context, |
121 | | * this pointer stores the necessary data for the security server. |
122 | | */ |
123 | | void *generic; |
124 | | #endif |
125 | | #ifdef CONFIG_FLASK |
126 | | /* |
127 | | * Inlining the contents of the structure for FLASK avoids unneeded |
128 | | * allocations, and on 64-bit platforms with only FLASK enabled, |
129 | | * reduces the size of struct evtchn. |
130 | | */ |
131 | | u32 flask_sid; |
132 | | #endif |
133 | | } ssid; |
134 | | #endif |
135 | | } __attribute__((aligned(64))); |
136 | | |
137 | | int evtchn_init(struct domain *d); /* from domain_create */ |
138 | | void evtchn_destroy(struct domain *d); /* from domain_kill */ |
139 | | void evtchn_destroy_final(struct domain *d); /* from complete_domain_destroy */ |
140 | | |
141 | | struct waitqueue_vcpu; |
142 | | |
143 | | struct vcpu |
144 | | { |
145 | | int vcpu_id; |
146 | | |
147 | | int processor; |
148 | | |
149 | | vcpu_info_t *vcpu_info; |
150 | | |
151 | | struct domain *domain; |
152 | | |
153 | | struct vcpu *next_in_list; |
154 | | |
155 | | s_time_t periodic_period; |
156 | | s_time_t periodic_last_event; |
157 | | struct timer periodic_timer; |
158 | | struct timer singleshot_timer; |
159 | | |
160 | | struct timer poll_timer; /* timeout for SCHEDOP_poll */ |
161 | | |
162 | | void *sched_priv; /* scheduler-specific data */ |
163 | | |
164 | | struct vcpu_runstate_info runstate; |
165 | | #ifndef CONFIG_COMPAT |
166 | | # define runstate_guest(v) ((v)->runstate_guest) |
167 | | XEN_GUEST_HANDLE(vcpu_runstate_info_t) runstate_guest; /* guest address */ |
168 | | #else |
169 | 0 | # define runstate_guest(v) ((v)->runstate_guest.native) |
170 | | union { |
171 | | XEN_GUEST_HANDLE(vcpu_runstate_info_t) native; |
172 | | XEN_GUEST_HANDLE(vcpu_runstate_info_compat_t) compat; |
173 | | } runstate_guest; /* guest address */ |
174 | | #endif |
175 | | |
176 | | /* last time when vCPU is scheduled out */ |
177 | | uint64_t last_run_time; |
178 | | |
179 | | /* Has the FPU been initialised? */ |
180 | | bool fpu_initialised; |
181 | | /* Has the FPU been used since it was last saved? */ |
182 | | bool fpu_dirtied; |
183 | | /* Initialization completed for this VCPU? */ |
184 | | bool is_initialised; |
185 | | /* Currently running on a CPU? */ |
186 | | bool is_running; |
187 | | /* VCPU should wake fast (do not deep sleep the CPU). */ |
188 | | bool is_urgent; |
189 | | |
190 | | #ifdef VCPU_TRAP_LAST |
191 | 0 | #define VCPU_TRAP_NONE 0 |
192 | | struct { |
193 | | bool pending; |
194 | | uint8_t old_mask; |
195 | | } async_exception_state[VCPU_TRAP_LAST]; |
196 | 0 | #define async_exception_state(t) async_exception_state[(t)-1] |
197 | | uint8_t async_exception_mask; |
198 | | #endif |
199 | | |
200 | | /* Require shutdown to be deferred for some asynchronous operation? */ |
201 | | bool defer_shutdown; |
202 | | /* VCPU is paused following shutdown request (d->is_shutting_down)? */ |
203 | | bool paused_for_shutdown; |
204 | | /* VCPU need affinity restored */ |
205 | | bool affinity_broken; |
206 | | |
207 | | /* A hypercall has been preempted. */ |
208 | | bool hcall_preempted; |
209 | | #ifdef CONFIG_COMPAT |
210 | | /* A hypercall is using the compat ABI? */ |
211 | | bool hcall_compat; |
212 | | #endif |
213 | | |
214 | | |
215 | | /* |
216 | | * > 0: a single port is being polled; |
217 | | * = 0: nothing is being polled (vcpu should be clear in d->poll_mask); |
218 | | * < 0: multiple ports may be being polled. |
219 | | */ |
220 | | int poll_evtchn; |
221 | | |
222 | | /* (over-)protected by ->domain->event_lock */ |
223 | | int pirq_evtchn_head; |
224 | | |
225 | | unsigned long pause_flags; |
226 | | atomic_t pause_count; |
227 | | |
228 | | /* VCPU paused for vm_event replies. */ |
229 | | atomic_t vm_event_pause_count; |
230 | | /* VCPU paused by system controller. */ |
231 | | int controller_pause_count; |
232 | | |
233 | | /* Grant table map tracking. */ |
234 | | spinlock_t maptrack_freelist_lock; |
235 | | unsigned int maptrack_head; |
236 | | unsigned int maptrack_tail; |
237 | | |
238 | | /* IRQ-safe virq_lock protects against delivering VIRQ to stale evtchn. */ |
239 | | evtchn_port_t virq_to_evtchn[NR_VIRQS]; |
240 | | spinlock_t virq_lock; |
241 | | |
242 | | /* Bitmask of CPUs on which this VCPU may run. */ |
243 | | cpumask_var_t cpu_hard_affinity; |
244 | | /* Used to change affinity temporarily. */ |
245 | | cpumask_var_t cpu_hard_affinity_tmp; |
246 | | /* Used to restore affinity across S3. */ |
247 | | cpumask_var_t cpu_hard_affinity_saved; |
248 | | |
249 | | /* Bitmask of CPUs on which this VCPU prefers to run. */ |
250 | | cpumask_var_t cpu_soft_affinity; |
251 | | |
252 | | /* Bitmask of CPUs which are holding onto this VCPU's state. */ |
253 | | cpumask_var_t vcpu_dirty_cpumask; |
254 | | |
255 | | /* Tasklet for continue_hypercall_on_cpu(). */ |
256 | | struct tasklet continue_hypercall_tasklet; |
257 | | |
258 | | /* Multicall information. */ |
259 | | struct mc_state mc_state; |
260 | | |
261 | | struct waitqueue_vcpu *waitqueue_vcpu; |
262 | | |
263 | | /* Guest-specified relocation of vcpu_info. */ |
264 | | mfn_t vcpu_info_mfn; |
265 | | |
266 | | struct evtchn_fifo_vcpu *evtchn_fifo; |
267 | | |
268 | | #ifdef CONFIG_HAS_PCI |
269 | | /* vPCI per-vCPU area, used to store data for long running operations. */ |
270 | | struct vpci_vcpu vpci; |
271 | | #endif |
272 | | |
273 | | struct arch_vcpu arch; |
274 | | }; |
275 | | |
276 | | /* Per-domain lock can be recursively acquired in fault handlers. */ |
277 | 32 | #define domain_lock(d) spin_lock_recursive(&(d)->domain_lock) |
278 | 32 | #define domain_unlock(d) spin_unlock_recursive(&(d)->domain_lock) |
279 | | |
280 | | /* VM event */ |
281 | | struct vm_event_domain |
282 | | { |
283 | | /* ring lock */ |
284 | | spinlock_t ring_lock; |
285 | | /* The ring has 64 entries */ |
286 | | unsigned char foreign_producers; |
287 | | unsigned char target_producers; |
288 | | /* shared ring page */ |
289 | | void *ring_page; |
290 | | struct page_info *ring_pg_struct; |
291 | | /* front-end ring */ |
292 | | vm_event_front_ring_t front_ring; |
293 | | /* event channel port (vcpu0 only) */ |
294 | | int xen_port; |
295 | | /* vm_event bit for vcpu->pause_flags */ |
296 | | int pause_flag; |
297 | | /* list of vcpus waiting for room in the ring */ |
298 | | struct waitqueue_head wq; |
299 | | /* the number of vCPUs blocked */ |
300 | | unsigned int blocked; |
301 | | /* The last vcpu woken up */ |
302 | | unsigned int last_vcpu_wake_up; |
303 | | }; |
304 | | |
305 | | struct evtchn_port_ops; |
306 | | |
307 | | enum guest_type { |
308 | | guest_type_pv, guest_type_hvm |
309 | | }; |
310 | | |
311 | | struct domain |
312 | | { |
313 | | domid_t domain_id; |
314 | | |
315 | | unsigned int max_vcpus; |
316 | | struct vcpu **vcpu; |
317 | | |
318 | | shared_info_t *shared_info; /* shared data area */ |
319 | | |
320 | | spinlock_t domain_lock; |
321 | | |
322 | | spinlock_t page_alloc_lock; /* protects all the following fields */ |
323 | | struct page_list_head page_list; /* linked list */ |
324 | | struct page_list_head xenpage_list; /* linked list (size xenheap_pages) */ |
325 | | unsigned int tot_pages; /* number of pages currently possesed */ |
326 | | unsigned int xenheap_pages; /* # pages allocated from Xen heap */ |
327 | | unsigned int outstanding_pages; /* pages claimed but not possessed */ |
328 | | unsigned int max_pages; /* maximum value for tot_pages */ |
329 | | atomic_t shr_pages; /* number of shared pages */ |
330 | | atomic_t paged_pages; /* number of paged-out pages */ |
331 | | |
332 | | /* Scheduling. */ |
333 | | void *sched_priv; /* scheduler-specific data */ |
334 | | struct cpupool *cpupool; |
335 | | |
336 | | struct domain *next_in_list; |
337 | | struct domain *next_in_hashbucket; |
338 | | |
339 | | struct list_head rangesets; |
340 | | spinlock_t rangesets_lock; |
341 | | |
342 | | /* Event channel information. */ |
343 | | struct evtchn *evtchn; /* first bucket only */ |
344 | | struct evtchn **evtchn_group[NR_EVTCHN_GROUPS]; /* all other buckets */ |
345 | | unsigned int max_evtchns; /* number supported by ABI */ |
346 | | unsigned int max_evtchn_port; /* max permitted port number */ |
347 | | unsigned int valid_evtchns; /* number of allocated event channels */ |
348 | | spinlock_t event_lock; |
349 | | const struct evtchn_port_ops *evtchn_port_ops; |
350 | | struct evtchn_fifo_domain *evtchn_fifo; |
351 | | |
352 | | struct grant_table *grant_table; |
353 | | |
354 | | /* |
355 | | * Interrupt to event-channel mappings and other per-guest-pirq data. |
356 | | * Protected by the domain's event-channel spinlock. |
357 | | */ |
358 | | struct radix_tree_root pirq_tree; |
359 | | unsigned int nr_pirqs; |
360 | | |
361 | | enum guest_type guest_type; |
362 | | |
363 | | /* Is this guest dying (i.e., a zombie)? */ |
364 | | enum { DOMDYING_alive, DOMDYING_dying, DOMDYING_dead } is_dying; |
365 | | |
366 | | /* Domain is paused by controller software? */ |
367 | | int controller_pause_count; |
368 | | |
369 | | int64_t time_offset_seconds; |
370 | | |
371 | | #ifdef CONFIG_HAS_PASSTHROUGH |
372 | | struct domain_iommu iommu; |
373 | | |
374 | | /* Does this guest need iommu mappings (-1 meaning "being set up")? */ |
375 | | s8 need_iommu; |
376 | | #endif |
377 | | /* is node-affinity automatically computed? */ |
378 | | bool auto_node_affinity; |
379 | | /* Is this guest fully privileged (aka dom0)? */ |
380 | | bool is_privileged; |
381 | | /* Is this a xenstore domain (not dom0)? */ |
382 | | bool is_xenstore; |
383 | | /* Domain's VCPUs are pinned 1:1 to physical CPUs? */ |
384 | | bool is_pinned; |
385 | | /* Non-migratable and non-restoreable? */ |
386 | | bool disable_migrate; |
387 | | /* Is this guest being debugged by dom0? */ |
388 | | bool debugger_attached; |
389 | | /* |
390 | | * Set to true at the very end of domain creation, when the domain is |
391 | | * unpaused for the first time by the systemcontroller. |
392 | | */ |
393 | | bool creation_finished; |
394 | | |
395 | | /* Which guest this guest has privileges on */ |
396 | | struct domain *target; |
397 | | |
398 | | /* Are any VCPUs polling event channels (SCHEDOP_poll)? */ |
399 | | #if MAX_VIRT_CPUS <= BITS_PER_LONG |
400 | | DECLARE_BITMAP(poll_mask, MAX_VIRT_CPUS); |
401 | | #else |
402 | | unsigned long *poll_mask; |
403 | | #endif |
404 | | |
405 | | /* I/O capabilities (access to IRQs and memory-mapped I/O). */ |
406 | | struct rangeset *iomem_caps; |
407 | | struct rangeset *irq_caps; |
408 | | |
409 | | /* Guest has shut down (inc. reason code)? */ |
410 | | spinlock_t shutdown_lock; |
411 | | bool is_shutting_down; /* in process of shutting down? */ |
412 | | bool is_shut_down; /* fully shut down? */ |
413 | 5 | #define SHUTDOWN_CODE_INVALID ~0u |
414 | | unsigned int shutdown_code; |
415 | | |
416 | | /* If this is not 0, send suspend notification here instead of |
417 | | * raising DOM_EXC */ |
418 | | evtchn_port_t suspend_evtchn; |
419 | | |
420 | | atomic_t pause_count; |
421 | | atomic_t refcnt; |
422 | | |
423 | | unsigned long vm_assist; |
424 | | |
425 | | /* Bitmask of CPUs which are holding onto this domain's state. */ |
426 | | cpumask_var_t domain_dirty_cpumask; |
427 | | |
428 | | struct arch_domain arch; |
429 | | |
430 | | void *ssid; /* sHype security subject identifier */ |
431 | | |
432 | | /* Control-plane tools handle for this domain. */ |
433 | | xen_domain_handle_t handle; |
434 | | |
435 | | /* hvm_print_line() and guest_console_write() logging. */ |
436 | 0 | #define DOMAIN_PBUF_SIZE 80 |
437 | | char *pbuf; |
438 | | unsigned pbuf_idx; |
439 | | spinlock_t pbuf_lock; |
440 | | |
441 | | /* OProfile support. */ |
442 | | struct xenoprof *xenoprof; |
443 | | |
444 | | /* Domain watchdog. */ |
445 | 15 | #define NR_DOMAIN_WATCHDOG_TIMERS 2 |
446 | | spinlock_t watchdog_lock; |
447 | | uint32_t watchdog_inuse_map; |
448 | | struct timer watchdog_timer[NR_DOMAIN_WATCHDOG_TIMERS]; |
449 | | |
450 | | struct rcu_head rcu; |
451 | | |
452 | | /* |
453 | | * Hypercall deadlock avoidance lock. Used if a hypercall might |
454 | | * cause a deadlock. Acquirers don't spin waiting; they preempt. |
455 | | */ |
456 | | spinlock_t hypercall_deadlock_mutex; |
457 | | |
458 | | /* transcendent memory, auto-allocated on first tmem op by each domain */ |
459 | | struct client *tmem_client; |
460 | | |
461 | | struct lock_profile_qhead profile_head; |
462 | | |
463 | | /* Various vm_events */ |
464 | | |
465 | | /* Memory sharing support */ |
466 | | #ifdef CONFIG_HAS_MEM_SHARING |
467 | | struct vm_event_domain *vm_event_share; |
468 | | #endif |
469 | | /* Memory paging support */ |
470 | | #ifdef CONFIG_HAS_MEM_PAGING |
471 | | struct vm_event_domain *vm_event_paging; |
472 | | #endif |
473 | | /* VM event monitor support */ |
474 | | struct vm_event_domain *vm_event_monitor; |
475 | | |
476 | | /* |
477 | | * Can be specified by the user. If that is not the case, it is |
478 | | * computed from the union of all the vcpu cpu-affinity masks. |
479 | | */ |
480 | | nodemask_t node_affinity; |
481 | | unsigned int last_alloc_node; |
482 | | spinlock_t node_affinity_lock; |
483 | | |
484 | | /* vNUMA topology accesses are protected by rwlock. */ |
485 | | rwlock_t vnuma_rwlock; |
486 | | struct vnuma_info *vnuma; |
487 | | |
488 | | /* Common monitor options */ |
489 | | struct { |
490 | | unsigned int guest_request_enabled : 1; |
491 | | unsigned int guest_request_sync : 1; |
492 | | } monitor; |
493 | | }; |
494 | | |
495 | | /* Protect updates/reads (resp.) of domain_list and domain_hash. */ |
496 | | extern spinlock_t domlist_update_lock; |
497 | | extern rcu_read_lock_t domlist_read_lock; |
498 | | |
499 | | extern struct vcpu *idle_vcpu[NR_CPUS]; |
500 | 15.1M | #define is_idle_domain(d) ((d)->domain_id == DOMID_IDLE) |
501 | 14.8M | #define is_idle_vcpu(v) (is_idle_domain((v)->domain)) |
502 | | |
503 | 0 | #define DOMAIN_DESTROYED (1u << 31) /* assumes atomic_t is >= 32 bits */ |
504 | | #define put_domain(_d) \ |
505 | 4.14k | if ( atomic_dec_and_test(&(_d)->refcnt) ) domain_destroy(_d) |
506 | | |
507 | | /* |
508 | | * Use this when you don't have an existing reference to @d. It returns |
509 | | * FALSE if @d is being destroyed. |
510 | | */ |
511 | | static always_inline int get_domain(struct domain *d) |
512 | 0 | { |
513 | 0 | int old, seen = atomic_read(&d->refcnt); |
514 | 0 | do |
515 | 0 | { |
516 | 0 | old = seen; |
517 | 0 | if ( unlikely(old & DOMAIN_DESTROYED) ) |
518 | 0 | return 0; |
519 | 0 | seen = atomic_cmpxchg(&d->refcnt, old, old + 1); |
520 | 0 | } |
521 | 0 | while ( unlikely(seen != old) ); |
522 | 0 | return 1; |
523 | 0 | } Unexecuted instantiation: misc-hypercalls.c:get_domain Unexecuted instantiation: cpu.c:get_domain Unexecuted instantiation: cpupool.c:get_domain Unexecuted instantiation: domctl.c:get_domain Unexecuted instantiation: domain.c:get_domain Unexecuted instantiation: event_2l.c:get_domain Unexecuted instantiation: event_channel.c:get_domain Unexecuted instantiation: event_fifo.c:get_domain Unexecuted instantiation: grant_table.c:get_domain Unexecuted instantiation: guestcopy.c:get_domain Unexecuted instantiation: kernel.c:get_domain Unexecuted instantiation: keyhandler.c:get_domain Unexecuted instantiation: kexec.c:get_domain Unexecuted instantiation: kimage.c:get_domain Unexecuted instantiation: mem_access.c:get_domain Unexecuted instantiation: memory.c:get_domain Unexecuted instantiation: monitor.c:get_domain Unexecuted instantiation: multicall.c:get_domain Unexecuted instantiation: page_alloc.c:get_domain Unexecuted instantiation: rangeset.c:get_domain Unexecuted instantiation: rcupdate.c:get_domain Unexecuted instantiation: sched_arinc653.c:get_domain Unexecuted instantiation: sched_credit.c:get_domain Unexecuted instantiation: sched_credit2.c:get_domain Unexecuted instantiation: sched_rt.c:get_domain Unexecuted instantiation: sched_null.c:get_domain Unexecuted instantiation: schedule.c:get_domain Unexecuted instantiation: shutdown.c:get_domain Unexecuted instantiation: softirq.c:get_domain Unexecuted instantiation: spinlock.c:get_domain Unexecuted instantiation: stop_machine.c:get_domain Unexecuted instantiation: symbols.c:get_domain Unexecuted instantiation: sysctl.c:get_domain Unexecuted instantiation: tasklet.c:get_domain Unexecuted instantiation: time.c:get_domain Unexecuted instantiation: timer.c:get_domain Unexecuted instantiation: trace.c:get_domain Unexecuted instantiation: vm_event.c:get_domain Unexecuted instantiation: vsprintf.c:get_domain Unexecuted instantiation: wait.c:get_domain Unexecuted instantiation: xenoprof.c:get_domain Unexecuted instantiation: tmem.c:get_domain Unexecuted instantiation: tmem_xen.c:get_domain Unexecuted instantiation: tmem_control.c:get_domain Unexecuted instantiation: llvm.c:get_domain Unexecuted instantiation: libelf-loader.c:get_domain Unexecuted instantiation: console.c:get_domain Unexecuted instantiation: ns16550.c:get_domain Unexecuted instantiation: cpufreq.c:get_domain Unexecuted instantiation: cpufreq_ondemand.c:get_domain Unexecuted instantiation: cpufreq_misc_governors.c:get_domain Unexecuted instantiation: utility.c:get_domain Unexecuted instantiation: vpci.c:get_domain Unexecuted instantiation: header.c:get_domain Unexecuted instantiation: msi.c:get_domain Unexecuted instantiation: msix.c:get_domain Unexecuted instantiation: iommu.c:get_domain Unexecuted instantiation: io.c:get_domain Unexecuted instantiation: pci.c:get_domain Unexecuted instantiation: utils.c:get_domain Unexecuted instantiation: qinval.c:get_domain Unexecuted instantiation: intremap.c:get_domain Unexecuted instantiation: quirks.c:get_domain Unexecuted instantiation: vtd.c:get_domain Unexecuted instantiation: ats.c:get_domain Unexecuted instantiation: iommu_init.c:get_domain Unexecuted instantiation: iommu_map.c:get_domain Unexecuted instantiation: pci_amd_iommu.c:get_domain Unexecuted instantiation: iommu_intr.c:get_domain Unexecuted instantiation: iommu_cmd.c:get_domain Unexecuted instantiation: iommu_guest.c:get_domain Unexecuted instantiation: pmstat.c:get_domain Unexecuted instantiation: xsm_core.c:get_domain Unexecuted instantiation: apic.c:get_domain Unexecuted instantiation: cpuid.c:get_domain Unexecuted instantiation: compat.c:get_domain Unexecuted instantiation: crash.c:get_domain Unexecuted instantiation: debug.c:get_domain Unexecuted instantiation: domain_page.c:get_domain Unexecuted instantiation: flushtlb.c:get_domain Unexecuted instantiation: hypercall.c:get_domain Unexecuted instantiation: i387.c:get_domain Unexecuted instantiation: i8259.c:get_domain Unexecuted instantiation: io_apic.c:get_domain Unexecuted instantiation: msr.c:get_domain Unexecuted instantiation: ioport_emulate.c:get_domain Unexecuted instantiation: irq.c:get_domain Unexecuted instantiation: machine_kexec.c:get_domain Unexecuted instantiation: microcode_amd.c:get_domain Unexecuted instantiation: microcode_intel.c:get_domain Unexecuted instantiation: microcode.c:get_domain Unexecuted instantiation: mm.c:get_domain Unexecuted instantiation: mpparse.c:get_domain Unexecuted instantiation: nmi.c:get_domain Unexecuted instantiation: numa.c:get_domain Unexecuted instantiation: physdev.c:get_domain Unexecuted instantiation: platform_hypercall.c:get_domain Unexecuted instantiation: psr.c:get_domain Unexecuted instantiation: setup.c:get_domain Unexecuted instantiation: smp.c:get_domain Unexecuted instantiation: smpboot.c:get_domain Unexecuted instantiation: traps.c:get_domain Unexecuted instantiation: usercopy.c:get_domain Unexecuted instantiation: x86_emulate.c:get_domain Unexecuted instantiation: tboot.c:get_domain Unexecuted instantiation: xstate.c:get_domain Unexecuted instantiation: power.c:get_domain Unexecuted instantiation: suspend.c:get_domain Unexecuted instantiation: cpu_idle.c:get_domain Unexecuted instantiation: amd.c:get_domain Unexecuted instantiation: common.c:get_domain Unexecuted instantiation: intel.c:get_domain Unexecuted instantiation: mwait-idle.c:get_domain Unexecuted instantiation: vpmu.c:get_domain Unexecuted instantiation: vpmu_amd.c:get_domain Unexecuted instantiation: vpmu_intel.c:get_domain Unexecuted instantiation: amd_nonfatal.c:get_domain Unexecuted instantiation: mce_amd.c:get_domain Unexecuted instantiation: mcaction.c:get_domain Unexecuted instantiation: barrier.c:get_domain Unexecuted instantiation: mctelem.c:get_domain Unexecuted instantiation: mce.c:get_domain Unexecuted instantiation: mce-apei.c:get_domain Unexecuted instantiation: mce_intel.c:get_domain Unexecuted instantiation: non-fatal.c:get_domain Unexecuted instantiation: util.c:get_domain Unexecuted instantiation: vmce.c:get_domain Unexecuted instantiation: delivery.c:get_domain Unexecuted instantiation: asid.c:get_domain Unexecuted instantiation: dm.c:get_domain Unexecuted instantiation: emulate.c:get_domain Unexecuted instantiation: hpet.c:get_domain Unexecuted instantiation: hvm.c:get_domain Unexecuted instantiation: i8254.c:get_domain Unexecuted instantiation: intercept.c:get_domain Unexecuted instantiation: ioreq.c:get_domain Unexecuted instantiation: mtrr.c:get_domain Unexecuted instantiation: nestedhvm.c:get_domain Unexecuted instantiation: pmtimer.c:get_domain Unexecuted instantiation: rtc.c:get_domain Unexecuted instantiation: save.c:get_domain Unexecuted instantiation: stdvga.c:get_domain Unexecuted instantiation: vioapic.c:get_domain Unexecuted instantiation: viridian.c:get_domain Unexecuted instantiation: vlapic.c:get_domain Unexecuted instantiation: vmsi.c:get_domain Unexecuted instantiation: vpic.c:get_domain Unexecuted instantiation: vpt.c:get_domain Unexecuted instantiation: intr.c:get_domain Unexecuted instantiation: nestedsvm.c:get_domain Unexecuted instantiation: svm.c:get_domain Unexecuted instantiation: svmdebug.c:get_domain Unexecuted instantiation: vmcb.c:get_domain Unexecuted instantiation: realmode.c:get_domain Unexecuted instantiation: vmcs.c:get_domain Unexecuted instantiation: vmx.c:get_domain Unexecuted instantiation: vvmx.c:get_domain Unexecuted instantiation: paging.c:get_domain Unexecuted instantiation: p2m.c:get_domain Unexecuted instantiation: p2m-pt.c:get_domain Unexecuted instantiation: p2m-ept.c:get_domain Unexecuted instantiation: p2m-pod.c:get_domain Unexecuted instantiation: altp2m.c:get_domain Unexecuted instantiation: guest_walk.c:get_domain Unexecuted instantiation: mem_paging.c:get_domain Unexecuted instantiation: mem_sharing.c:get_domain Unexecuted instantiation: multi.c:get_domain Unexecuted instantiation: hap.c:get_domain Unexecuted instantiation: nested_hap.c:get_domain Unexecuted instantiation: nested_ept.c:get_domain Unexecuted instantiation: nmi_int.c:get_domain Unexecuted instantiation: op_model_ppro.c:get_domain Unexecuted instantiation: op_model_athlon.c:get_domain Unexecuted instantiation: backtrace.c:get_domain Unexecuted instantiation: callback.c:get_domain Unexecuted instantiation: descriptor-tables.c:get_domain Unexecuted instantiation: emul-gate-op.c:get_domain Unexecuted instantiation: emul-inv-op.c:get_domain Unexecuted instantiation: emul-priv-op.c:get_domain Unexecuted instantiation: iret.c:get_domain Unexecuted instantiation: ro-page-fault.c:get_domain |
524 | | |
525 | | /* |
526 | | * Use this when you already have, or are borrowing, a reference to @d. |
527 | | * In this case we know that @d cannot be destroyed under our feet. |
528 | | */ |
529 | | static inline void get_knownalive_domain(struct domain *d) |
530 | 4.15k | { |
531 | 4.15k | atomic_inc(&d->refcnt); |
532 | 4.15k | ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED)); |
533 | 4.15k | } Unexecuted instantiation: cpu.c:get_knownalive_domain Unexecuted instantiation: ro-page-fault.c:get_knownalive_domain Unexecuted instantiation: misc-hypercalls.c:get_knownalive_domain Unexecuted instantiation: iret.c:get_knownalive_domain Unexecuted instantiation: emul-priv-op.c:get_knownalive_domain Unexecuted instantiation: emul-inv-op.c:get_knownalive_domain Unexecuted instantiation: emul-gate-op.c:get_knownalive_domain Unexecuted instantiation: descriptor-tables.c:get_knownalive_domain Unexecuted instantiation: callback.c:get_knownalive_domain Unexecuted instantiation: backtrace.c:get_knownalive_domain Unexecuted instantiation: op_model_athlon.c:get_knownalive_domain Unexecuted instantiation: op_model_ppro.c:get_knownalive_domain Unexecuted instantiation: nmi_int.c:get_knownalive_domain Unexecuted instantiation: nested_ept.c:get_knownalive_domain Unexecuted instantiation: nested_hap.c:get_knownalive_domain Unexecuted instantiation: hap.c:get_knownalive_domain Unexecuted instantiation: multi.c:get_knownalive_domain Unexecuted instantiation: mem_sharing.c:get_knownalive_domain Unexecuted instantiation: mem_paging.c:get_knownalive_domain Unexecuted instantiation: guest_walk.c:get_knownalive_domain Unexecuted instantiation: altp2m.c:get_knownalive_domain Unexecuted instantiation: p2m-pod.c:get_knownalive_domain Unexecuted instantiation: p2m-ept.c:get_knownalive_domain Unexecuted instantiation: p2m-pt.c:get_knownalive_domain Unexecuted instantiation: p2m.c:get_knownalive_domain Unexecuted instantiation: paging.c:get_knownalive_domain Unexecuted instantiation: vvmx.c:get_knownalive_domain Unexecuted instantiation: vmx.c:get_knownalive_domain Unexecuted instantiation: vmcs.c:get_knownalive_domain Unexecuted instantiation: realmode.c:get_knownalive_domain Unexecuted instantiation: vmcb.c:get_knownalive_domain Unexecuted instantiation: svmdebug.c:get_knownalive_domain Unexecuted instantiation: svm.c:get_knownalive_domain Unexecuted instantiation: nestedsvm.c:get_knownalive_domain Unexecuted instantiation: intr.c:get_knownalive_domain Unexecuted instantiation: vpt.c:get_knownalive_domain Unexecuted instantiation: vpic.c:get_knownalive_domain Unexecuted instantiation: vmsi.c:get_knownalive_domain Unexecuted instantiation: vlapic.c:get_knownalive_domain Unexecuted instantiation: viridian.c:get_knownalive_domain Unexecuted instantiation: vioapic.c:get_knownalive_domain Unexecuted instantiation: stdvga.c:get_knownalive_domain Unexecuted instantiation: save.c:get_knownalive_domain Unexecuted instantiation: rtc.c:get_knownalive_domain Unexecuted instantiation: pmtimer.c:get_knownalive_domain Unexecuted instantiation: nestedhvm.c:get_knownalive_domain Unexecuted instantiation: mtrr.c:get_knownalive_domain Unexecuted instantiation: ioreq.c:get_knownalive_domain Unexecuted instantiation: intercept.c:get_knownalive_domain Unexecuted instantiation: i8254.c:get_knownalive_domain Unexecuted instantiation: hvm.c:get_knownalive_domain Unexecuted instantiation: hpet.c:get_knownalive_domain Unexecuted instantiation: emulate.c:get_knownalive_domain Unexecuted instantiation: dm.c:get_knownalive_domain Unexecuted instantiation: asid.c:get_knownalive_domain Unexecuted instantiation: delivery.c:get_knownalive_domain Unexecuted instantiation: vmce.c:get_knownalive_domain Unexecuted instantiation: util.c:get_knownalive_domain Unexecuted instantiation: non-fatal.c:get_knownalive_domain Unexecuted instantiation: mce_intel.c:get_knownalive_domain Unexecuted instantiation: mce-apei.c:get_knownalive_domain Unexecuted instantiation: mce.c:get_knownalive_domain Unexecuted instantiation: mctelem.c:get_knownalive_domain Unexecuted instantiation: barrier.c:get_knownalive_domain Unexecuted instantiation: mcaction.c:get_knownalive_domain Unexecuted instantiation: mce_amd.c:get_knownalive_domain Unexecuted instantiation: amd_nonfatal.c:get_knownalive_domain Unexecuted instantiation: vpmu_intel.c:get_knownalive_domain Unexecuted instantiation: vpmu_amd.c:get_knownalive_domain Unexecuted instantiation: vpmu.c:get_knownalive_domain Unexecuted instantiation: mwait-idle.c:get_knownalive_domain Unexecuted instantiation: intel.c:get_knownalive_domain Unexecuted instantiation: common.c:get_knownalive_domain Unexecuted instantiation: amd.c:get_knownalive_domain Unexecuted instantiation: cpu_idle.c:get_knownalive_domain Unexecuted instantiation: suspend.c:get_knownalive_domain Unexecuted instantiation: power.c:get_knownalive_domain Unexecuted instantiation: xstate.c:get_knownalive_domain Unexecuted instantiation: tboot.c:get_knownalive_domain Unexecuted instantiation: x86_emulate.c:get_knownalive_domain Unexecuted instantiation: usercopy.c:get_knownalive_domain Unexecuted instantiation: traps.c:get_knownalive_domain Unexecuted instantiation: smpboot.c:get_knownalive_domain Unexecuted instantiation: smp.c:get_knownalive_domain Unexecuted instantiation: setup.c:get_knownalive_domain Unexecuted instantiation: psr.c:get_knownalive_domain Unexecuted instantiation: platform_hypercall.c:get_knownalive_domain Unexecuted instantiation: physdev.c:get_knownalive_domain Unexecuted instantiation: numa.c:get_knownalive_domain Unexecuted instantiation: nmi.c:get_knownalive_domain Unexecuted instantiation: mpparse.c:get_knownalive_domain mm.c:get_knownalive_domain Line | Count | Source | 530 | 3 | { | 531 | 3 | atomic_inc(&d->refcnt); | 532 | 3 | ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED)); | 533 | 3 | } |
Unexecuted instantiation: microcode.c:get_knownalive_domain Unexecuted instantiation: microcode_intel.c:get_knownalive_domain Unexecuted instantiation: microcode_amd.c:get_knownalive_domain Unexecuted instantiation: machine_kexec.c:get_knownalive_domain Unexecuted instantiation: irq.c:get_knownalive_domain Unexecuted instantiation: ioport_emulate.c:get_knownalive_domain Unexecuted instantiation: msr.c:get_knownalive_domain Unexecuted instantiation: io_apic.c:get_knownalive_domain Unexecuted instantiation: i8259.c:get_knownalive_domain Unexecuted instantiation: i387.c:get_knownalive_domain Unexecuted instantiation: hypercall.c:get_knownalive_domain Unexecuted instantiation: flushtlb.c:get_knownalive_domain Unexecuted instantiation: domain_page.c:get_knownalive_domain Unexecuted instantiation: debug.c:get_knownalive_domain Unexecuted instantiation: crash.c:get_knownalive_domain Unexecuted instantiation: compat.c:get_knownalive_domain Unexecuted instantiation: cpuid.c:get_knownalive_domain Unexecuted instantiation: apic.c:get_knownalive_domain Unexecuted instantiation: xsm_core.c:get_knownalive_domain Unexecuted instantiation: pmstat.c:get_knownalive_domain Unexecuted instantiation: iommu_guest.c:get_knownalive_domain Unexecuted instantiation: iommu_cmd.c:get_knownalive_domain Unexecuted instantiation: iommu_intr.c:get_knownalive_domain Unexecuted instantiation: pci_amd_iommu.c:get_knownalive_domain Unexecuted instantiation: iommu_map.c:get_knownalive_domain Unexecuted instantiation: iommu_init.c:get_knownalive_domain Unexecuted instantiation: ats.c:get_knownalive_domain Unexecuted instantiation: vtd.c:get_knownalive_domain Unexecuted instantiation: quirks.c:get_knownalive_domain Unexecuted instantiation: intremap.c:get_knownalive_domain Unexecuted instantiation: qinval.c:get_knownalive_domain Unexecuted instantiation: utils.c:get_knownalive_domain Unexecuted instantiation: pci.c:get_knownalive_domain io.c:get_knownalive_domain Line | Count | Source | 530 | 4.14k | { | 531 | 4.14k | atomic_inc(&d->refcnt); | 532 | 4.14k | ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED)); | 533 | 4.14k | } |
Unexecuted instantiation: iommu.c:get_knownalive_domain Unexecuted instantiation: msix.c:get_knownalive_domain Unexecuted instantiation: msi.c:get_knownalive_domain Unexecuted instantiation: header.c:get_knownalive_domain Unexecuted instantiation: vpci.c:get_knownalive_domain Unexecuted instantiation: utility.c:get_knownalive_domain Unexecuted instantiation: cpufreq_misc_governors.c:get_knownalive_domain Unexecuted instantiation: cpufreq_ondemand.c:get_knownalive_domain Unexecuted instantiation: cpufreq.c:get_knownalive_domain Unexecuted instantiation: console.c:get_knownalive_domain Unexecuted instantiation: libelf-loader.c:get_knownalive_domain Unexecuted instantiation: llvm.c:get_knownalive_domain Unexecuted instantiation: tmem_control.c:get_knownalive_domain Unexecuted instantiation: tmem_xen.c:get_knownalive_domain Unexecuted instantiation: tmem.c:get_knownalive_domain Unexecuted instantiation: xenoprof.c:get_knownalive_domain Unexecuted instantiation: wait.c:get_knownalive_domain Unexecuted instantiation: vsprintf.c:get_knownalive_domain Unexecuted instantiation: vm_event.c:get_knownalive_domain Unexecuted instantiation: trace.c:get_knownalive_domain Unexecuted instantiation: timer.c:get_knownalive_domain Unexecuted instantiation: time.c:get_knownalive_domain Unexecuted instantiation: tasklet.c:get_knownalive_domain Unexecuted instantiation: sysctl.c:get_knownalive_domain Unexecuted instantiation: symbols.c:get_knownalive_domain Unexecuted instantiation: stop_machine.c:get_knownalive_domain Unexecuted instantiation: spinlock.c:get_knownalive_domain Unexecuted instantiation: softirq.c:get_knownalive_domain Unexecuted instantiation: shutdown.c:get_knownalive_domain Unexecuted instantiation: schedule.c:get_knownalive_domain Unexecuted instantiation: sched_null.c:get_knownalive_domain Unexecuted instantiation: sched_rt.c:get_knownalive_domain Unexecuted instantiation: sched_credit2.c:get_knownalive_domain Unexecuted instantiation: sched_credit.c:get_knownalive_domain Unexecuted instantiation: sched_arinc653.c:get_knownalive_domain Unexecuted instantiation: rcupdate.c:get_knownalive_domain Unexecuted instantiation: rangeset.c:get_knownalive_domain page_alloc.c:get_knownalive_domain Line | Count | Source | 530 | 1 | { | 531 | 1 | atomic_inc(&d->refcnt); | 532 | 1 | ASSERT(!(atomic_read(&d->refcnt) & DOMAIN_DESTROYED)); | 533 | 1 | } |
Unexecuted instantiation: multicall.c:get_knownalive_domain Unexecuted instantiation: monitor.c:get_knownalive_domain Unexecuted instantiation: memory.c:get_knownalive_domain Unexecuted instantiation: mem_access.c:get_knownalive_domain Unexecuted instantiation: kimage.c:get_knownalive_domain Unexecuted instantiation: kexec.c:get_knownalive_domain Unexecuted instantiation: keyhandler.c:get_knownalive_domain Unexecuted instantiation: kernel.c:get_knownalive_domain Unexecuted instantiation: guestcopy.c:get_knownalive_domain Unexecuted instantiation: grant_table.c:get_knownalive_domain Unexecuted instantiation: event_fifo.c:get_knownalive_domain Unexecuted instantiation: event_channel.c:get_knownalive_domain Unexecuted instantiation: event_2l.c:get_knownalive_domain Unexecuted instantiation: domain.c:get_knownalive_domain Unexecuted instantiation: domctl.c:get_knownalive_domain Unexecuted instantiation: cpupool.c:get_knownalive_domain Unexecuted instantiation: ns16550.c:get_knownalive_domain |
534 | | |
535 | | int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity); |
536 | | void domain_update_node_affinity(struct domain *d); |
537 | | |
538 | | /* |
539 | | * Create a domain: the configuration is only necessary for real domain |
540 | | * (i.e !DOMCRF_dummy, excluded idle domain). |
541 | | */ |
542 | | struct domain *domain_create(domid_t domid, unsigned int domcr_flags, |
543 | | uint32_t ssidref, |
544 | | struct xen_arch_domainconfig *config); |
545 | | /* DOMCRF_hvm: Create an HVM domain, as opposed to a PV domain. */ |
546 | 6 | #define _DOMCRF_hvm 0 |
547 | 6 | #define DOMCRF_hvm (1U<<_DOMCRF_hvm) |
548 | | /* DOMCRF_hap: Create a domain with hardware-assisted paging. */ |
549 | 2 | #define _DOMCRF_hap 1 |
550 | 2 | #define DOMCRF_hap (1U<<_DOMCRF_hap) |
551 | | /* DOMCRF_s3_integrity: Create a domain with tboot memory integrity protection |
552 | | by tboot */ |
553 | 3 | #define _DOMCRF_s3_integrity 2 |
554 | 3 | #define DOMCRF_s3_integrity (1U<<_DOMCRF_s3_integrity) |
555 | | /* DOMCRF_dummy: Create a dummy domain (not scheduled; not on domain list) */ |
556 | 8 | #define _DOMCRF_dummy 3 |
557 | 8 | #define DOMCRF_dummy (1U<<_DOMCRF_dummy) |
558 | | /* DOMCRF_oos_off: dont use out-of-sync optimization for shadow page tables */ |
559 | 0 | #define _DOMCRF_oos_off 4 |
560 | 0 | #define DOMCRF_oos_off (1U<<_DOMCRF_oos_off) |
561 | | /* DOMCRF_xs_domain: xenstore domain */ |
562 | 5 | #define _DOMCRF_xs_domain 5 |
563 | 5 | #define DOMCRF_xs_domain (1U<<_DOMCRF_xs_domain) |
564 | | |
565 | | /* |
566 | | * rcu_lock_domain_by_id() is more efficient than get_domain_by_id(). |
567 | | * This is the preferred function if the returned domain reference |
568 | | * is short lived, but it cannot be used if the domain reference needs |
569 | | * to be kept beyond the current scope (e.g., across a softirq). |
570 | | * The returned domain reference must be discarded using rcu_unlock_domain(). |
571 | | */ |
572 | | struct domain *rcu_lock_domain_by_id(domid_t dom); |
573 | | |
574 | | /* |
575 | | * As above function, but resolves DOMID_SELF to current domain |
576 | | */ |
577 | | struct domain *rcu_lock_domain_by_any_id(domid_t dom); |
578 | | |
579 | | /* |
580 | | * As rcu_lock_domain_by_id(), but will fail EPERM or ESRCH rather than resolve |
581 | | * to local domain. |
582 | | */ |
583 | | int rcu_lock_remote_domain_by_id(domid_t dom, struct domain **d); |
584 | | |
585 | | /* |
586 | | * As rcu_lock_remote_domain_by_id() but will fail EINVAL if the domain is |
587 | | * dying. |
588 | | */ |
589 | | int rcu_lock_live_remote_domain_by_id(domid_t dom, struct domain **d); |
590 | | |
591 | | static inline void rcu_unlock_domain(struct domain *d) |
592 | 12 | { |
593 | 12 | if ( d != current->domain ) |
594 | 0 | rcu_read_unlock(d); |
595 | 12 | } Unexecuted instantiation: ro-page-fault.c:rcu_unlock_domain Unexecuted instantiation: cpupool.c:rcu_unlock_domain Unexecuted instantiation: misc-hypercalls.c:rcu_unlock_domain Unexecuted instantiation: iret.c:rcu_unlock_domain Unexecuted instantiation: emul-priv-op.c:rcu_unlock_domain Unexecuted instantiation: emul-inv-op.c:rcu_unlock_domain Unexecuted instantiation: emul-gate-op.c:rcu_unlock_domain Unexecuted instantiation: descriptor-tables.c:rcu_unlock_domain Unexecuted instantiation: callback.c:rcu_unlock_domain Unexecuted instantiation: backtrace.c:rcu_unlock_domain Unexecuted instantiation: op_model_athlon.c:rcu_unlock_domain Unexecuted instantiation: op_model_ppro.c:rcu_unlock_domain Unexecuted instantiation: nmi_int.c:rcu_unlock_domain Unexecuted instantiation: nested_ept.c:rcu_unlock_domain Unexecuted instantiation: nested_hap.c:rcu_unlock_domain Unexecuted instantiation: hap.c:rcu_unlock_domain Unexecuted instantiation: multi.c:rcu_unlock_domain Unexecuted instantiation: mem_sharing.c:rcu_unlock_domain Unexecuted instantiation: mem_paging.c:rcu_unlock_domain Unexecuted instantiation: guest_walk.c:rcu_unlock_domain Unexecuted instantiation: altp2m.c:rcu_unlock_domain Unexecuted instantiation: p2m-pod.c:rcu_unlock_domain Unexecuted instantiation: p2m-ept.c:rcu_unlock_domain Unexecuted instantiation: p2m-pt.c:rcu_unlock_domain Unexecuted instantiation: p2m.c:rcu_unlock_domain Unexecuted instantiation: paging.c:rcu_unlock_domain Unexecuted instantiation: vvmx.c:rcu_unlock_domain Unexecuted instantiation: vmx.c:rcu_unlock_domain Unexecuted instantiation: vmcs.c:rcu_unlock_domain Unexecuted instantiation: realmode.c:rcu_unlock_domain Unexecuted instantiation: vmcb.c:rcu_unlock_domain Unexecuted instantiation: svmdebug.c:rcu_unlock_domain Unexecuted instantiation: svm.c:rcu_unlock_domain Unexecuted instantiation: nestedsvm.c:rcu_unlock_domain Unexecuted instantiation: intr.c:rcu_unlock_domain Unexecuted instantiation: vpt.c:rcu_unlock_domain Unexecuted instantiation: vpic.c:rcu_unlock_domain Unexecuted instantiation: vmsi.c:rcu_unlock_domain Unexecuted instantiation: vlapic.c:rcu_unlock_domain Unexecuted instantiation: viridian.c:rcu_unlock_domain Unexecuted instantiation: vioapic.c:rcu_unlock_domain Unexecuted instantiation: stdvga.c:rcu_unlock_domain Unexecuted instantiation: save.c:rcu_unlock_domain Unexecuted instantiation: rtc.c:rcu_unlock_domain Unexecuted instantiation: pmtimer.c:rcu_unlock_domain Unexecuted instantiation: cpu.c:rcu_unlock_domain Unexecuted instantiation: nestedhvm.c:rcu_unlock_domain Unexecuted instantiation: mtrr.c:rcu_unlock_domain Unexecuted instantiation: ioreq.c:rcu_unlock_domain Unexecuted instantiation: intercept.c:rcu_unlock_domain Unexecuted instantiation: i8254.c:rcu_unlock_domain Line | Count | Source | 592 | 4 | { | 593 | 4 | if ( d != current->domain ) | 594 | 0 | rcu_read_unlock(d); | 595 | 4 | } |
Unexecuted instantiation: hpet.c:rcu_unlock_domain Unexecuted instantiation: emulate.c:rcu_unlock_domain Unexecuted instantiation: dm.c:rcu_unlock_domain Unexecuted instantiation: asid.c:rcu_unlock_domain Unexecuted instantiation: delivery.c:rcu_unlock_domain Unexecuted instantiation: vmce.c:rcu_unlock_domain Unexecuted instantiation: util.c:rcu_unlock_domain Unexecuted instantiation: non-fatal.c:rcu_unlock_domain Unexecuted instantiation: mce_intel.c:rcu_unlock_domain Unexecuted instantiation: mce-apei.c:rcu_unlock_domain Unexecuted instantiation: mce.c:rcu_unlock_domain Unexecuted instantiation: mctelem.c:rcu_unlock_domain Unexecuted instantiation: barrier.c:rcu_unlock_domain Unexecuted instantiation: mcaction.c:rcu_unlock_domain Unexecuted instantiation: mce_amd.c:rcu_unlock_domain Unexecuted instantiation: amd_nonfatal.c:rcu_unlock_domain Unexecuted instantiation: vpmu_intel.c:rcu_unlock_domain Unexecuted instantiation: vpmu_amd.c:rcu_unlock_domain Unexecuted instantiation: vpmu.c:rcu_unlock_domain Unexecuted instantiation: mwait-idle.c:rcu_unlock_domain Unexecuted instantiation: intel.c:rcu_unlock_domain Unexecuted instantiation: common.c:rcu_unlock_domain Unexecuted instantiation: amd.c:rcu_unlock_domain Unexecuted instantiation: cpu_idle.c:rcu_unlock_domain Unexecuted instantiation: suspend.c:rcu_unlock_domain Unexecuted instantiation: power.c:rcu_unlock_domain Unexecuted instantiation: xstate.c:rcu_unlock_domain Unexecuted instantiation: tboot.c:rcu_unlock_domain Unexecuted instantiation: x86_emulate.c:rcu_unlock_domain Unexecuted instantiation: usercopy.c:rcu_unlock_domain Unexecuted instantiation: traps.c:rcu_unlock_domain Unexecuted instantiation: smpboot.c:rcu_unlock_domain Unexecuted instantiation: smp.c:rcu_unlock_domain Unexecuted instantiation: setup.c:rcu_unlock_domain Unexecuted instantiation: psr.c:rcu_unlock_domain Unexecuted instantiation: platform_hypercall.c:rcu_unlock_domain Unexecuted instantiation: physdev.c:rcu_unlock_domain Unexecuted instantiation: numa.c:rcu_unlock_domain Unexecuted instantiation: nmi.c:rcu_unlock_domain Unexecuted instantiation: mpparse.c:rcu_unlock_domain Unexecuted instantiation: mm.c:rcu_unlock_domain Unexecuted instantiation: microcode.c:rcu_unlock_domain Unexecuted instantiation: microcode_intel.c:rcu_unlock_domain Unexecuted instantiation: microcode_amd.c:rcu_unlock_domain Unexecuted instantiation: machine_kexec.c:rcu_unlock_domain Unexecuted instantiation: irq.c:rcu_unlock_domain Unexecuted instantiation: ioport_emulate.c:rcu_unlock_domain Unexecuted instantiation: msr.c:rcu_unlock_domain Unexecuted instantiation: io_apic.c:rcu_unlock_domain Unexecuted instantiation: i8259.c:rcu_unlock_domain Unexecuted instantiation: i387.c:rcu_unlock_domain Unexecuted instantiation: hypercall.c:rcu_unlock_domain Unexecuted instantiation: flushtlb.c:rcu_unlock_domain Unexecuted instantiation: domain_page.c:rcu_unlock_domain Unexecuted instantiation: debug.c:rcu_unlock_domain Unexecuted instantiation: crash.c:rcu_unlock_domain Unexecuted instantiation: compat.c:rcu_unlock_domain Unexecuted instantiation: cpuid.c:rcu_unlock_domain Unexecuted instantiation: apic.c:rcu_unlock_domain Unexecuted instantiation: xsm_core.c:rcu_unlock_domain Unexecuted instantiation: pmstat.c:rcu_unlock_domain Unexecuted instantiation: iommu_guest.c:rcu_unlock_domain Unexecuted instantiation: iommu_cmd.c:rcu_unlock_domain Unexecuted instantiation: iommu_intr.c:rcu_unlock_domain Unexecuted instantiation: pci_amd_iommu.c:rcu_unlock_domain Unexecuted instantiation: iommu_map.c:rcu_unlock_domain Unexecuted instantiation: iommu_init.c:rcu_unlock_domain Unexecuted instantiation: ats.c:rcu_unlock_domain Unexecuted instantiation: vtd.c:rcu_unlock_domain Unexecuted instantiation: quirks.c:rcu_unlock_domain Unexecuted instantiation: intremap.c:rcu_unlock_domain Unexecuted instantiation: qinval.c:rcu_unlock_domain Unexecuted instantiation: utils.c:rcu_unlock_domain Unexecuted instantiation: pci.c:rcu_unlock_domain Unexecuted instantiation: io.c:rcu_unlock_domain Unexecuted instantiation: iommu.c:rcu_unlock_domain Unexecuted instantiation: msix.c:rcu_unlock_domain Unexecuted instantiation: msi.c:rcu_unlock_domain Unexecuted instantiation: header.c:rcu_unlock_domain Unexecuted instantiation: vpci.c:rcu_unlock_domain Unexecuted instantiation: utility.c:rcu_unlock_domain Unexecuted instantiation: cpufreq_misc_governors.c:rcu_unlock_domain Unexecuted instantiation: cpufreq_ondemand.c:rcu_unlock_domain Unexecuted instantiation: cpufreq.c:rcu_unlock_domain Unexecuted instantiation: ns16550.c:rcu_unlock_domain Unexecuted instantiation: console.c:rcu_unlock_domain Unexecuted instantiation: libelf-loader.c:rcu_unlock_domain Unexecuted instantiation: llvm.c:rcu_unlock_domain Unexecuted instantiation: tmem_control.c:rcu_unlock_domain Unexecuted instantiation: tmem_xen.c:rcu_unlock_domain Unexecuted instantiation: tmem.c:rcu_unlock_domain Unexecuted instantiation: xenoprof.c:rcu_unlock_domain Unexecuted instantiation: wait.c:rcu_unlock_domain Unexecuted instantiation: vsprintf.c:rcu_unlock_domain Unexecuted instantiation: vm_event.c:rcu_unlock_domain Unexecuted instantiation: trace.c:rcu_unlock_domain Unexecuted instantiation: timer.c:rcu_unlock_domain Unexecuted instantiation: time.c:rcu_unlock_domain Unexecuted instantiation: tasklet.c:rcu_unlock_domain Unexecuted instantiation: sysctl.c:rcu_unlock_domain Unexecuted instantiation: symbols.c:rcu_unlock_domain Unexecuted instantiation: stop_machine.c:rcu_unlock_domain Unexecuted instantiation: spinlock.c:rcu_unlock_domain Unexecuted instantiation: softirq.c:rcu_unlock_domain Unexecuted instantiation: shutdown.c:rcu_unlock_domain Unexecuted instantiation: schedule.c:rcu_unlock_domain Unexecuted instantiation: sched_null.c:rcu_unlock_domain Unexecuted instantiation: sched_rt.c:rcu_unlock_domain Unexecuted instantiation: sched_credit2.c:rcu_unlock_domain Unexecuted instantiation: sched_credit.c:rcu_unlock_domain Unexecuted instantiation: sched_arinc653.c:rcu_unlock_domain Unexecuted instantiation: rcupdate.c:rcu_unlock_domain Unexecuted instantiation: rangeset.c:rcu_unlock_domain Unexecuted instantiation: page_alloc.c:rcu_unlock_domain Unexecuted instantiation: multicall.c:rcu_unlock_domain Unexecuted instantiation: monitor.c:rcu_unlock_domain memory.c:rcu_unlock_domain Line | Count | Source | 592 | 3 | { | 593 | 3 | if ( d != current->domain ) | 594 | 0 | rcu_read_unlock(d); | 595 | 3 | } |
Unexecuted instantiation: mem_access.c:rcu_unlock_domain Unexecuted instantiation: kimage.c:rcu_unlock_domain Unexecuted instantiation: kexec.c:rcu_unlock_domain Unexecuted instantiation: keyhandler.c:rcu_unlock_domain Unexecuted instantiation: kernel.c:rcu_unlock_domain Unexecuted instantiation: guestcopy.c:rcu_unlock_domain grant_table.c:rcu_unlock_domain Line | Count | Source | 592 | 3 | { | 593 | 3 | if ( d != current->domain ) | 594 | 0 | rcu_read_unlock(d); | 595 | 3 | } |
Unexecuted instantiation: event_fifo.c:rcu_unlock_domain event_channel.c:rcu_unlock_domain Line | Count | Source | 592 | 2 | { | 593 | 2 | if ( d != current->domain ) | 594 | 0 | rcu_read_unlock(d); | 595 | 2 | } |
Unexecuted instantiation: event_2l.c:rcu_unlock_domain Unexecuted instantiation: domain.c:rcu_unlock_domain Unexecuted instantiation: domctl.c:rcu_unlock_domain |
596 | | |
597 | | static inline struct domain *rcu_lock_domain(struct domain *d) |
598 | 1 | { |
599 | 1 | if ( d != current->domain ) |
600 | 0 | rcu_read_lock(d); |
601 | 1 | return d; |
602 | 1 | } Unexecuted instantiation: ro-page-fault.c:rcu_lock_domain Unexecuted instantiation: misc-hypercalls.c:rcu_lock_domain Unexecuted instantiation: mm.c:rcu_lock_domain Unexecuted instantiation: iret.c:rcu_lock_domain Unexecuted instantiation: emul-priv-op.c:rcu_lock_domain Unexecuted instantiation: emul-inv-op.c:rcu_lock_domain Unexecuted instantiation: emul-gate-op.c:rcu_lock_domain Unexecuted instantiation: descriptor-tables.c:rcu_lock_domain Unexecuted instantiation: callback.c:rcu_lock_domain Unexecuted instantiation: backtrace.c:rcu_lock_domain Unexecuted instantiation: op_model_athlon.c:rcu_lock_domain Unexecuted instantiation: op_model_ppro.c:rcu_lock_domain Unexecuted instantiation: nmi_int.c:rcu_lock_domain Unexecuted instantiation: nested_ept.c:rcu_lock_domain Unexecuted instantiation: nested_hap.c:rcu_lock_domain Unexecuted instantiation: hap.c:rcu_lock_domain Unexecuted instantiation: multi.c:rcu_lock_domain Unexecuted instantiation: mem_sharing.c:rcu_lock_domain Unexecuted instantiation: mem_paging.c:rcu_lock_domain Unexecuted instantiation: guest_walk.c:rcu_lock_domain Unexecuted instantiation: altp2m.c:rcu_lock_domain Unexecuted instantiation: p2m-pod.c:rcu_lock_domain Unexecuted instantiation: p2m-ept.c:rcu_lock_domain Unexecuted instantiation: p2m-pt.c:rcu_lock_domain Unexecuted instantiation: p2m.c:rcu_lock_domain Unexecuted instantiation: paging.c:rcu_lock_domain Unexecuted instantiation: vvmx.c:rcu_lock_domain Unexecuted instantiation: vmx.c:rcu_lock_domain Unexecuted instantiation: vmcs.c:rcu_lock_domain Unexecuted instantiation: realmode.c:rcu_lock_domain Unexecuted instantiation: vmcb.c:rcu_lock_domain Unexecuted instantiation: svmdebug.c:rcu_lock_domain Unexecuted instantiation: svm.c:rcu_lock_domain Unexecuted instantiation: nestedsvm.c:rcu_lock_domain Unexecuted instantiation: intr.c:rcu_lock_domain Unexecuted instantiation: vpt.c:rcu_lock_domain Unexecuted instantiation: vpic.c:rcu_lock_domain Unexecuted instantiation: vmsi.c:rcu_lock_domain Unexecuted instantiation: vlapic.c:rcu_lock_domain Unexecuted instantiation: viridian.c:rcu_lock_domain Unexecuted instantiation: vioapic.c:rcu_lock_domain Unexecuted instantiation: stdvga.c:rcu_lock_domain Unexecuted instantiation: save.c:rcu_lock_domain Unexecuted instantiation: rtc.c:rcu_lock_domain Unexecuted instantiation: pmtimer.c:rcu_lock_domain Unexecuted instantiation: nestedhvm.c:rcu_lock_domain Unexecuted instantiation: mtrr.c:rcu_lock_domain Unexecuted instantiation: ioreq.c:rcu_lock_domain Unexecuted instantiation: intercept.c:rcu_lock_domain Unexecuted instantiation: i8254.c:rcu_lock_domain Unexecuted instantiation: hvm.c:rcu_lock_domain Unexecuted instantiation: hpet.c:rcu_lock_domain Unexecuted instantiation: emulate.c:rcu_lock_domain Unexecuted instantiation: dm.c:rcu_lock_domain Unexecuted instantiation: asid.c:rcu_lock_domain Unexecuted instantiation: delivery.c:rcu_lock_domain Unexecuted instantiation: vmce.c:rcu_lock_domain Unexecuted instantiation: util.c:rcu_lock_domain Unexecuted instantiation: non-fatal.c:rcu_lock_domain Unexecuted instantiation: mce_intel.c:rcu_lock_domain Unexecuted instantiation: mce-apei.c:rcu_lock_domain Unexecuted instantiation: mce.c:rcu_lock_domain Unexecuted instantiation: mctelem.c:rcu_lock_domain Unexecuted instantiation: barrier.c:rcu_lock_domain Unexecuted instantiation: mcaction.c:rcu_lock_domain Unexecuted instantiation: mce_amd.c:rcu_lock_domain Unexecuted instantiation: amd_nonfatal.c:rcu_lock_domain Unexecuted instantiation: vpmu_intel.c:rcu_lock_domain Unexecuted instantiation: vpmu_amd.c:rcu_lock_domain Unexecuted instantiation: vpmu.c:rcu_lock_domain Unexecuted instantiation: mwait-idle.c:rcu_lock_domain Unexecuted instantiation: intel.c:rcu_lock_domain Unexecuted instantiation: common.c:rcu_lock_domain Unexecuted instantiation: amd.c:rcu_lock_domain Unexecuted instantiation: cpu_idle.c:rcu_lock_domain Unexecuted instantiation: suspend.c:rcu_lock_domain Unexecuted instantiation: power.c:rcu_lock_domain Unexecuted instantiation: xstate.c:rcu_lock_domain Unexecuted instantiation: tboot.c:rcu_lock_domain Unexecuted instantiation: x86_emulate.c:rcu_lock_domain Unexecuted instantiation: usercopy.c:rcu_lock_domain Unexecuted instantiation: traps.c:rcu_lock_domain Unexecuted instantiation: smpboot.c:rcu_lock_domain Unexecuted instantiation: smp.c:rcu_lock_domain Unexecuted instantiation: setup.c:rcu_lock_domain Unexecuted instantiation: psr.c:rcu_lock_domain Unexecuted instantiation: platform_hypercall.c:rcu_lock_domain Unexecuted instantiation: physdev.c:rcu_lock_domain Unexecuted instantiation: numa.c:rcu_lock_domain Unexecuted instantiation: nmi.c:rcu_lock_domain Unexecuted instantiation: mpparse.c:rcu_lock_domain Unexecuted instantiation: microcode.c:rcu_lock_domain Unexecuted instantiation: microcode_intel.c:rcu_lock_domain Unexecuted instantiation: microcode_amd.c:rcu_lock_domain Unexecuted instantiation: machine_kexec.c:rcu_lock_domain Unexecuted instantiation: irq.c:rcu_lock_domain Unexecuted instantiation: ioport_emulate.c:rcu_lock_domain Unexecuted instantiation: msr.c:rcu_lock_domain Unexecuted instantiation: io_apic.c:rcu_lock_domain Unexecuted instantiation: i8259.c:rcu_lock_domain Unexecuted instantiation: i387.c:rcu_lock_domain Unexecuted instantiation: hypercall.c:rcu_lock_domain Unexecuted instantiation: flushtlb.c:rcu_lock_domain Unexecuted instantiation: domain_page.c:rcu_lock_domain Unexecuted instantiation: debug.c:rcu_lock_domain Unexecuted instantiation: crash.c:rcu_lock_domain Unexecuted instantiation: compat.c:rcu_lock_domain Unexecuted instantiation: cpuid.c:rcu_lock_domain Unexecuted instantiation: apic.c:rcu_lock_domain Unexecuted instantiation: xsm_core.c:rcu_lock_domain Unexecuted instantiation: pmstat.c:rcu_lock_domain Unexecuted instantiation: iommu_guest.c:rcu_lock_domain Unexecuted instantiation: iommu_cmd.c:rcu_lock_domain Unexecuted instantiation: iommu_intr.c:rcu_lock_domain Unexecuted instantiation: pci_amd_iommu.c:rcu_lock_domain Unexecuted instantiation: iommu_map.c:rcu_lock_domain Unexecuted instantiation: iommu_init.c:rcu_lock_domain Unexecuted instantiation: ats.c:rcu_lock_domain Unexecuted instantiation: vtd.c:rcu_lock_domain Unexecuted instantiation: quirks.c:rcu_lock_domain Unexecuted instantiation: intremap.c:rcu_lock_domain Unexecuted instantiation: qinval.c:rcu_lock_domain Unexecuted instantiation: utils.c:rcu_lock_domain Unexecuted instantiation: pci.c:rcu_lock_domain Unexecuted instantiation: io.c:rcu_lock_domain Unexecuted instantiation: iommu.c:rcu_lock_domain Unexecuted instantiation: msix.c:rcu_lock_domain Unexecuted instantiation: msi.c:rcu_lock_domain Unexecuted instantiation: header.c:rcu_lock_domain Unexecuted instantiation: vpci.c:rcu_lock_domain Unexecuted instantiation: utility.c:rcu_lock_domain Unexecuted instantiation: cpufreq_misc_governors.c:rcu_lock_domain Unexecuted instantiation: cpufreq_ondemand.c:rcu_lock_domain Unexecuted instantiation: cpufreq.c:rcu_lock_domain Unexecuted instantiation: ns16550.c:rcu_lock_domain Unexecuted instantiation: console.c:rcu_lock_domain Unexecuted instantiation: libelf-loader.c:rcu_lock_domain Unexecuted instantiation: llvm.c:rcu_lock_domain Unexecuted instantiation: tmem_control.c:rcu_lock_domain Unexecuted instantiation: tmem_xen.c:rcu_lock_domain Unexecuted instantiation: tmem.c:rcu_lock_domain Unexecuted instantiation: xenoprof.c:rcu_lock_domain Unexecuted instantiation: wait.c:rcu_lock_domain Unexecuted instantiation: vsprintf.c:rcu_lock_domain Unexecuted instantiation: vm_event.c:rcu_lock_domain Unexecuted instantiation: trace.c:rcu_lock_domain Unexecuted instantiation: timer.c:rcu_lock_domain Unexecuted instantiation: time.c:rcu_lock_domain Unexecuted instantiation: tasklet.c:rcu_lock_domain Unexecuted instantiation: sysctl.c:rcu_lock_domain Unexecuted instantiation: symbols.c:rcu_lock_domain Unexecuted instantiation: stop_machine.c:rcu_lock_domain Unexecuted instantiation: spinlock.c:rcu_lock_domain Unexecuted instantiation: softirq.c:rcu_lock_domain Unexecuted instantiation: shutdown.c:rcu_lock_domain Unexecuted instantiation: schedule.c:rcu_lock_domain Unexecuted instantiation: sched_null.c:rcu_lock_domain Unexecuted instantiation: sched_rt.c:rcu_lock_domain Unexecuted instantiation: sched_credit2.c:rcu_lock_domain Unexecuted instantiation: sched_credit.c:rcu_lock_domain Unexecuted instantiation: sched_arinc653.c:rcu_lock_domain Unexecuted instantiation: rcupdate.c:rcu_lock_domain Unexecuted instantiation: rangeset.c:rcu_lock_domain Unexecuted instantiation: page_alloc.c:rcu_lock_domain Unexecuted instantiation: multicall.c:rcu_lock_domain Unexecuted instantiation: monitor.c:rcu_lock_domain Unexecuted instantiation: memory.c:rcu_lock_domain Unexecuted instantiation: mem_access.c:rcu_lock_domain Unexecuted instantiation: kimage.c:rcu_lock_domain Unexecuted instantiation: kexec.c:rcu_lock_domain Unexecuted instantiation: keyhandler.c:rcu_lock_domain Unexecuted instantiation: kernel.c:rcu_lock_domain Unexecuted instantiation: guestcopy.c:rcu_lock_domain Unexecuted instantiation: grant_table.c:rcu_lock_domain Unexecuted instantiation: event_fifo.c:rcu_lock_domain Unexecuted instantiation: event_channel.c:rcu_lock_domain Unexecuted instantiation: event_2l.c:rcu_lock_domain Line | Count | Source | 598 | 1 | { | 599 | 1 | if ( d != current->domain ) | 600 | 0 | rcu_read_lock(d); | 601 | 1 | return d; | 602 | 1 | } |
Unexecuted instantiation: domctl.c:rcu_lock_domain Unexecuted instantiation: cpupool.c:rcu_lock_domain Unexecuted instantiation: cpu.c:rcu_lock_domain |
603 | | |
604 | | static inline struct domain *rcu_lock_current_domain(void) |
605 | 11 | { |
606 | 11 | return /*rcu_lock_domain*/(current->domain); |
607 | 11 | } Unexecuted instantiation: iret.c:rcu_lock_current_domain Unexecuted instantiation: emul-priv-op.c:rcu_lock_current_domain Unexecuted instantiation: emul-inv-op.c:rcu_lock_current_domain Unexecuted instantiation: emul-gate-op.c:rcu_lock_current_domain Unexecuted instantiation: descriptor-tables.c:rcu_lock_current_domain Unexecuted instantiation: callback.c:rcu_lock_current_domain Unexecuted instantiation: backtrace.c:rcu_lock_current_domain Unexecuted instantiation: op_model_athlon.c:rcu_lock_current_domain Unexecuted instantiation: op_model_ppro.c:rcu_lock_current_domain Unexecuted instantiation: nmi_int.c:rcu_lock_current_domain Unexecuted instantiation: nested_ept.c:rcu_lock_current_domain Unexecuted instantiation: nested_hap.c:rcu_lock_current_domain Unexecuted instantiation: hap.c:rcu_lock_current_domain Unexecuted instantiation: multi.c:rcu_lock_current_domain Unexecuted instantiation: mem_sharing.c:rcu_lock_current_domain Unexecuted instantiation: mem_paging.c:rcu_lock_current_domain Unexecuted instantiation: guest_walk.c:rcu_lock_current_domain Unexecuted instantiation: altp2m.c:rcu_lock_current_domain Unexecuted instantiation: p2m-pod.c:rcu_lock_current_domain Unexecuted instantiation: p2m-ept.c:rcu_lock_current_domain Unexecuted instantiation: p2m-pt.c:rcu_lock_current_domain Unexecuted instantiation: p2m.c:rcu_lock_current_domain Unexecuted instantiation: paging.c:rcu_lock_current_domain Unexecuted instantiation: vvmx.c:rcu_lock_current_domain Unexecuted instantiation: vmx.c:rcu_lock_current_domain Unexecuted instantiation: vmcs.c:rcu_lock_current_domain Unexecuted instantiation: realmode.c:rcu_lock_current_domain Unexecuted instantiation: vmcb.c:rcu_lock_current_domain Unexecuted instantiation: svmdebug.c:rcu_lock_current_domain Unexecuted instantiation: svm.c:rcu_lock_current_domain Unexecuted instantiation: nestedsvm.c:rcu_lock_current_domain Unexecuted instantiation: intr.c:rcu_lock_current_domain Unexecuted instantiation: vpt.c:rcu_lock_current_domain Unexecuted instantiation: vpic.c:rcu_lock_current_domain Unexecuted instantiation: vmsi.c:rcu_lock_current_domain Unexecuted instantiation: vlapic.c:rcu_lock_current_domain Unexecuted instantiation: viridian.c:rcu_lock_current_domain Unexecuted instantiation: vioapic.c:rcu_lock_current_domain Unexecuted instantiation: stdvga.c:rcu_lock_current_domain Unexecuted instantiation: save.c:rcu_lock_current_domain Unexecuted instantiation: rtc.c:rcu_lock_current_domain Unexecuted instantiation: pmtimer.c:rcu_lock_current_domain Unexecuted instantiation: nestedhvm.c:rcu_lock_current_domain Unexecuted instantiation: mtrr.c:rcu_lock_current_domain Unexecuted instantiation: ioreq.c:rcu_lock_current_domain Unexecuted instantiation: intercept.c:rcu_lock_current_domain Unexecuted instantiation: i8254.c:rcu_lock_current_domain Unexecuted instantiation: hvm.c:rcu_lock_current_domain Unexecuted instantiation: hpet.c:rcu_lock_current_domain Unexecuted instantiation: emulate.c:rcu_lock_current_domain Unexecuted instantiation: dm.c:rcu_lock_current_domain Unexecuted instantiation: asid.c:rcu_lock_current_domain Unexecuted instantiation: delivery.c:rcu_lock_current_domain Unexecuted instantiation: vmce.c:rcu_lock_current_domain Unexecuted instantiation: util.c:rcu_lock_current_domain Unexecuted instantiation: non-fatal.c:rcu_lock_current_domain Unexecuted instantiation: mce_intel.c:rcu_lock_current_domain Unexecuted instantiation: mce-apei.c:rcu_lock_current_domain Unexecuted instantiation: mce.c:rcu_lock_current_domain Unexecuted instantiation: mctelem.c:rcu_lock_current_domain Unexecuted instantiation: barrier.c:rcu_lock_current_domain Unexecuted instantiation: mcaction.c:rcu_lock_current_domain Unexecuted instantiation: mce_amd.c:rcu_lock_current_domain Unexecuted instantiation: amd_nonfatal.c:rcu_lock_current_domain Unexecuted instantiation: vpmu_intel.c:rcu_lock_current_domain Unexecuted instantiation: vpmu_amd.c:rcu_lock_current_domain Unexecuted instantiation: vpmu.c:rcu_lock_current_domain Unexecuted instantiation: mwait-idle.c:rcu_lock_current_domain Unexecuted instantiation: intel.c:rcu_lock_current_domain Unexecuted instantiation: common.c:rcu_lock_current_domain Unexecuted instantiation: amd.c:rcu_lock_current_domain Unexecuted instantiation: cpu_idle.c:rcu_lock_current_domain Unexecuted instantiation: suspend.c:rcu_lock_current_domain Unexecuted instantiation: power.c:rcu_lock_current_domain Unexecuted instantiation: xstate.c:rcu_lock_current_domain Unexecuted instantiation: tboot.c:rcu_lock_current_domain Unexecuted instantiation: x86_emulate.c:rcu_lock_current_domain Unexecuted instantiation: usercopy.c:rcu_lock_current_domain Unexecuted instantiation: traps.c:rcu_lock_current_domain Unexecuted instantiation: smpboot.c:rcu_lock_current_domain Unexecuted instantiation: smp.c:rcu_lock_current_domain Unexecuted instantiation: setup.c:rcu_lock_current_domain Unexecuted instantiation: psr.c:rcu_lock_current_domain Unexecuted instantiation: platform_hypercall.c:rcu_lock_current_domain Unexecuted instantiation: physdev.c:rcu_lock_current_domain Unexecuted instantiation: numa.c:rcu_lock_current_domain Unexecuted instantiation: nmi.c:rcu_lock_current_domain Unexecuted instantiation: mpparse.c:rcu_lock_current_domain Unexecuted instantiation: mm.c:rcu_lock_current_domain Unexecuted instantiation: microcode_intel.c:rcu_lock_current_domain Unexecuted instantiation: misc-hypercalls.c:rcu_lock_current_domain Unexecuted instantiation: microcode_amd.c:rcu_lock_current_domain Unexecuted instantiation: machine_kexec.c:rcu_lock_current_domain Unexecuted instantiation: irq.c:rcu_lock_current_domain Unexecuted instantiation: ioport_emulate.c:rcu_lock_current_domain Unexecuted instantiation: msr.c:rcu_lock_current_domain Unexecuted instantiation: io_apic.c:rcu_lock_current_domain Unexecuted instantiation: i8259.c:rcu_lock_current_domain Unexecuted instantiation: i387.c:rcu_lock_current_domain Unexecuted instantiation: hypercall.c:rcu_lock_current_domain Unexecuted instantiation: flushtlb.c:rcu_lock_current_domain Unexecuted instantiation: domain_page.c:rcu_lock_current_domain Unexecuted instantiation: debug.c:rcu_lock_current_domain Unexecuted instantiation: crash.c:rcu_lock_current_domain Unexecuted instantiation: compat.c:rcu_lock_current_domain Unexecuted instantiation: cpuid.c:rcu_lock_current_domain Unexecuted instantiation: apic.c:rcu_lock_current_domain Unexecuted instantiation: xsm_core.c:rcu_lock_current_domain Unexecuted instantiation: pmstat.c:rcu_lock_current_domain Unexecuted instantiation: iommu_guest.c:rcu_lock_current_domain Unexecuted instantiation: iommu_cmd.c:rcu_lock_current_domain Unexecuted instantiation: iommu_intr.c:rcu_lock_current_domain Unexecuted instantiation: pci_amd_iommu.c:rcu_lock_current_domain Unexecuted instantiation: iommu_map.c:rcu_lock_current_domain Unexecuted instantiation: iommu_init.c:rcu_lock_current_domain Unexecuted instantiation: ats.c:rcu_lock_current_domain Unexecuted instantiation: vtd.c:rcu_lock_current_domain Unexecuted instantiation: quirks.c:rcu_lock_current_domain Unexecuted instantiation: intremap.c:rcu_lock_current_domain Unexecuted instantiation: qinval.c:rcu_lock_current_domain Unexecuted instantiation: utils.c:rcu_lock_current_domain Unexecuted instantiation: pci.c:rcu_lock_current_domain Unexecuted instantiation: io.c:rcu_lock_current_domain Unexecuted instantiation: iommu.c:rcu_lock_current_domain Unexecuted instantiation: msix.c:rcu_lock_current_domain Unexecuted instantiation: msi.c:rcu_lock_current_domain Unexecuted instantiation: header.c:rcu_lock_current_domain Unexecuted instantiation: vpci.c:rcu_lock_current_domain Unexecuted instantiation: utility.c:rcu_lock_current_domain Unexecuted instantiation: cpufreq_misc_governors.c:rcu_lock_current_domain Unexecuted instantiation: cpufreq_ondemand.c:rcu_lock_current_domain Unexecuted instantiation: cpufreq.c:rcu_lock_current_domain Unexecuted instantiation: ns16550.c:rcu_lock_current_domain Unexecuted instantiation: console.c:rcu_lock_current_domain Unexecuted instantiation: libelf-loader.c:rcu_lock_current_domain Unexecuted instantiation: llvm.c:rcu_lock_current_domain Unexecuted instantiation: tmem_control.c:rcu_lock_current_domain Unexecuted instantiation: tmem_xen.c:rcu_lock_current_domain Unexecuted instantiation: tmem.c:rcu_lock_current_domain Unexecuted instantiation: xenoprof.c:rcu_lock_current_domain Unexecuted instantiation: wait.c:rcu_lock_current_domain Unexecuted instantiation: vsprintf.c:rcu_lock_current_domain Unexecuted instantiation: vm_event.c:rcu_lock_current_domain Unexecuted instantiation: trace.c:rcu_lock_current_domain Unexecuted instantiation: timer.c:rcu_lock_current_domain Unexecuted instantiation: time.c:rcu_lock_current_domain Unexecuted instantiation: tasklet.c:rcu_lock_current_domain Unexecuted instantiation: sysctl.c:rcu_lock_current_domain Unexecuted instantiation: symbols.c:rcu_lock_current_domain Unexecuted instantiation: stop_machine.c:rcu_lock_current_domain Unexecuted instantiation: spinlock.c:rcu_lock_current_domain Unexecuted instantiation: softirq.c:rcu_lock_current_domain Unexecuted instantiation: shutdown.c:rcu_lock_current_domain Unexecuted instantiation: schedule.c:rcu_lock_current_domain Unexecuted instantiation: sched_null.c:rcu_lock_current_domain Unexecuted instantiation: sched_rt.c:rcu_lock_current_domain Unexecuted instantiation: sched_credit2.c:rcu_lock_current_domain Unexecuted instantiation: sched_credit.c:rcu_lock_current_domain Unexecuted instantiation: sched_arinc653.c:rcu_lock_current_domain Unexecuted instantiation: rcupdate.c:rcu_lock_current_domain Unexecuted instantiation: rangeset.c:rcu_lock_current_domain Unexecuted instantiation: page_alloc.c:rcu_lock_current_domain Unexecuted instantiation: multicall.c:rcu_lock_current_domain Unexecuted instantiation: monitor.c:rcu_lock_current_domain Unexecuted instantiation: memory.c:rcu_lock_current_domain Unexecuted instantiation: mem_access.c:rcu_lock_current_domain Unexecuted instantiation: kimage.c:rcu_lock_current_domain Unexecuted instantiation: kexec.c:rcu_lock_current_domain Unexecuted instantiation: keyhandler.c:rcu_lock_current_domain Unexecuted instantiation: kernel.c:rcu_lock_current_domain Unexecuted instantiation: guestcopy.c:rcu_lock_current_domain Unexecuted instantiation: grant_table.c:rcu_lock_current_domain Unexecuted instantiation: event_fifo.c:rcu_lock_current_domain Unexecuted instantiation: event_channel.c:rcu_lock_current_domain Unexecuted instantiation: event_2l.c:rcu_lock_current_domain domain.c:rcu_lock_current_domain Line | Count | Source | 605 | 11 | { | 606 | 11 | return /*rcu_lock_domain*/(current->domain); | 607 | 11 | } |
Unexecuted instantiation: domctl.c:rcu_lock_current_domain Unexecuted instantiation: cpupool.c:rcu_lock_current_domain Unexecuted instantiation: cpu.c:rcu_lock_current_domain Unexecuted instantiation: ro-page-fault.c:rcu_lock_current_domain Unexecuted instantiation: microcode.c:rcu_lock_current_domain |
608 | | |
609 | | struct domain *get_domain_by_id(domid_t dom); |
610 | | void domain_destroy(struct domain *d); |
611 | | int domain_kill(struct domain *d); |
612 | | void domain_shutdown(struct domain *d, u8 reason); |
613 | | void domain_resume(struct domain *d); |
614 | | void domain_pause_for_debugger(void); |
615 | | |
616 | | int domain_soft_reset(struct domain *d); |
617 | | |
618 | | int vcpu_start_shutdown_deferral(struct vcpu *v); |
619 | | void vcpu_end_shutdown_deferral(struct vcpu *v); |
620 | | |
621 | | /* |
622 | | * Mark specified domain as crashed. This function always returns, even if the |
623 | | * caller is the specified domain. The domain is not synchronously descheduled |
624 | | * from any processor. |
625 | | */ |
626 | | void __domain_crash(struct domain *d); |
627 | 0 | #define domain_crash(d) do { \ |
628 | 0 | printk("domain_crash called from %s:%d\n", __FILE__, __LINE__); \ |
629 | 0 | __domain_crash(d); \ |
630 | 0 | } while (0) |
631 | | |
632 | | /* |
633 | | * Mark current domain as crashed and synchronously deschedule from the local |
634 | | * processor. This function never returns. |
635 | | */ |
636 | | void noreturn __domain_crash_synchronous(void); |
637 | 0 | #define domain_crash_synchronous() do { \ |
638 | 0 | printk("domain_crash_sync called from %s:%d\n", __FILE__, __LINE__); \ |
639 | 0 | __domain_crash_synchronous(); \ |
640 | 0 | } while (0) |
641 | | |
642 | | /* |
643 | | * Called from assembly code, with an optional address to help indicate why |
644 | | * the crash occured. If addr is 0, look up address from last extable |
645 | | * redirection. |
646 | | */ |
647 | | void noreturn asm_domain_crash_synchronous(unsigned long addr); |
648 | | |
649 | | #define set_current_state(_s) do { current->state = (_s); } while (0) |
650 | | void scheduler_init(void); |
651 | | int sched_init_vcpu(struct vcpu *v, unsigned int processor); |
652 | | void sched_destroy_vcpu(struct vcpu *v); |
653 | | int sched_init_domain(struct domain *d, int poolid); |
654 | | void sched_destroy_domain(struct domain *d); |
655 | | int sched_move_domain(struct domain *d, struct cpupool *c); |
656 | | long sched_adjust(struct domain *, struct xen_domctl_scheduler_op *); |
657 | | long sched_adjust_global(struct xen_sysctl_scheduler_op *); |
658 | | int sched_id(void); |
659 | | void sched_tick_suspend(void); |
660 | | void sched_tick_resume(void); |
661 | | void vcpu_wake(struct vcpu *v); |
662 | | long vcpu_yield(void); |
663 | | void vcpu_sleep_nosync(struct vcpu *v); |
664 | | void vcpu_sleep_sync(struct vcpu *v); |
665 | | |
666 | | /* |
667 | | * Force synchronisation of given VCPU's state. If it is currently descheduled, |
668 | | * this call will ensure that all its state is committed to memory and that |
669 | | * no CPU is using critical state (e.g., page tables) belonging to the VCPU. |
670 | | */ |
671 | | void sync_vcpu_execstate(struct vcpu *v); |
672 | | |
673 | | /* As above, for any lazy state being held on the local CPU. */ |
674 | | void sync_local_execstate(void); |
675 | | |
676 | | /* |
677 | | * Called by the scheduler to switch to another VCPU. This function must |
678 | | * call context_saved(@prev) when the local CPU is no longer running in |
679 | | * @prev's context, and that context is saved to memory. Alternatively, if |
680 | | * implementing lazy context switching, it suffices to ensure that invoking |
681 | | * sync_vcpu_execstate() will switch and commit @prev's state. |
682 | | */ |
683 | | void context_switch( |
684 | | struct vcpu *prev, |
685 | | struct vcpu *next); |
686 | | |
687 | | /* |
688 | | * As described above, context_switch() must call this function when the |
689 | | * local CPU is no longer running in @prev's context, and @prev's context is |
690 | | * saved to memory. Alternatively, if implementing lazy context switching, |
691 | | * ensure that invoking sync_vcpu_execstate() will switch and commit @prev. |
692 | | */ |
693 | | void context_saved(struct vcpu *prev); |
694 | | |
695 | | /* Called by the scheduler to continue running the current VCPU. */ |
696 | | void continue_running( |
697 | | struct vcpu *same); |
698 | | |
699 | | void startup_cpu_idle_loop(void); |
700 | | extern void (*pm_idle) (void); |
701 | | extern void (*dead_idle) (void); |
702 | | |
703 | | |
704 | | /* |
705 | | * Creates a continuation to resume the current hypercall. The caller should |
706 | | * return immediately, propagating the value returned from this invocation. |
707 | | * The format string specifies the types and number of hypercall arguments. |
708 | | * It contains one character per argument as follows: |
709 | | * 'i' [unsigned] {char, int} |
710 | | * 'l' [unsigned] long |
711 | | * 'h' guest handle (XEN_GUEST_HANDLE(foo)) |
712 | | */ |
713 | | unsigned long hypercall_create_continuation( |
714 | | unsigned int op, const char *format, ...); |
715 | | |
716 | | static inline void hypercall_cancel_continuation(struct vcpu *v) |
717 | 0 | { |
718 | 0 | v->hcall_preempted = false; |
719 | 0 | } Unexecuted instantiation: cpu.c:hypercall_cancel_continuation Unexecuted instantiation: ro-page-fault.c:hypercall_cancel_continuation Unexecuted instantiation: domctl.c:hypercall_cancel_continuation Unexecuted instantiation: domain.c:hypercall_cancel_continuation Unexecuted instantiation: event_2l.c:hypercall_cancel_continuation Unexecuted instantiation: event_channel.c:hypercall_cancel_continuation Unexecuted instantiation: event_fifo.c:hypercall_cancel_continuation Unexecuted instantiation: grant_table.c:hypercall_cancel_continuation Unexecuted instantiation: guestcopy.c:hypercall_cancel_continuation Unexecuted instantiation: kernel.c:hypercall_cancel_continuation Unexecuted instantiation: keyhandler.c:hypercall_cancel_continuation Unexecuted instantiation: kexec.c:hypercall_cancel_continuation Unexecuted instantiation: kimage.c:hypercall_cancel_continuation Unexecuted instantiation: mem_access.c:hypercall_cancel_continuation Unexecuted instantiation: memory.c:hypercall_cancel_continuation Unexecuted instantiation: monitor.c:hypercall_cancel_continuation Unexecuted instantiation: multicall.c:hypercall_cancel_continuation Unexecuted instantiation: page_alloc.c:hypercall_cancel_continuation Unexecuted instantiation: rangeset.c:hypercall_cancel_continuation Unexecuted instantiation: rcupdate.c:hypercall_cancel_continuation Unexecuted instantiation: sched_arinc653.c:hypercall_cancel_continuation Unexecuted instantiation: sched_credit.c:hypercall_cancel_continuation Unexecuted instantiation: sched_credit2.c:hypercall_cancel_continuation Unexecuted instantiation: sched_rt.c:hypercall_cancel_continuation Unexecuted instantiation: sched_null.c:hypercall_cancel_continuation Unexecuted instantiation: schedule.c:hypercall_cancel_continuation Unexecuted instantiation: shutdown.c:hypercall_cancel_continuation Unexecuted instantiation: softirq.c:hypercall_cancel_continuation Unexecuted instantiation: spinlock.c:hypercall_cancel_continuation Unexecuted instantiation: stop_machine.c:hypercall_cancel_continuation Unexecuted instantiation: symbols.c:hypercall_cancel_continuation Unexecuted instantiation: sysctl.c:hypercall_cancel_continuation Unexecuted instantiation: tasklet.c:hypercall_cancel_continuation Unexecuted instantiation: time.c:hypercall_cancel_continuation Unexecuted instantiation: timer.c:hypercall_cancel_continuation Unexecuted instantiation: trace.c:hypercall_cancel_continuation Unexecuted instantiation: vm_event.c:hypercall_cancel_continuation Unexecuted instantiation: vsprintf.c:hypercall_cancel_continuation Unexecuted instantiation: wait.c:hypercall_cancel_continuation Unexecuted instantiation: xenoprof.c:hypercall_cancel_continuation Unexecuted instantiation: tmem.c:hypercall_cancel_continuation Unexecuted instantiation: tmem_xen.c:hypercall_cancel_continuation Unexecuted instantiation: tmem_control.c:hypercall_cancel_continuation Unexecuted instantiation: llvm.c:hypercall_cancel_continuation Unexecuted instantiation: libelf-loader.c:hypercall_cancel_continuation Unexecuted instantiation: cpupool.c:hypercall_cancel_continuation Unexecuted instantiation: ns16550.c:hypercall_cancel_continuation Unexecuted instantiation: cpufreq.c:hypercall_cancel_continuation Unexecuted instantiation: cpufreq_ondemand.c:hypercall_cancel_continuation Unexecuted instantiation: cpufreq_misc_governors.c:hypercall_cancel_continuation Unexecuted instantiation: utility.c:hypercall_cancel_continuation Unexecuted instantiation: vpci.c:hypercall_cancel_continuation Unexecuted instantiation: header.c:hypercall_cancel_continuation Unexecuted instantiation: msi.c:hypercall_cancel_continuation Unexecuted instantiation: msix.c:hypercall_cancel_continuation Unexecuted instantiation: iommu.c:hypercall_cancel_continuation Unexecuted instantiation: io.c:hypercall_cancel_continuation Unexecuted instantiation: pci.c:hypercall_cancel_continuation Unexecuted instantiation: utils.c:hypercall_cancel_continuation Unexecuted instantiation: qinval.c:hypercall_cancel_continuation Unexecuted instantiation: intremap.c:hypercall_cancel_continuation Unexecuted instantiation: quirks.c:hypercall_cancel_continuation Unexecuted instantiation: vtd.c:hypercall_cancel_continuation Unexecuted instantiation: ats.c:hypercall_cancel_continuation Unexecuted instantiation: iommu_init.c:hypercall_cancel_continuation Unexecuted instantiation: iommu_map.c:hypercall_cancel_continuation Unexecuted instantiation: pci_amd_iommu.c:hypercall_cancel_continuation Unexecuted instantiation: iommu_intr.c:hypercall_cancel_continuation Unexecuted instantiation: iommu_cmd.c:hypercall_cancel_continuation Unexecuted instantiation: iommu_guest.c:hypercall_cancel_continuation Unexecuted instantiation: pmstat.c:hypercall_cancel_continuation Unexecuted instantiation: xsm_core.c:hypercall_cancel_continuation Unexecuted instantiation: apic.c:hypercall_cancel_continuation Unexecuted instantiation: cpuid.c:hypercall_cancel_continuation Unexecuted instantiation: compat.c:hypercall_cancel_continuation Unexecuted instantiation: crash.c:hypercall_cancel_continuation Unexecuted instantiation: debug.c:hypercall_cancel_continuation Unexecuted instantiation: domain_page.c:hypercall_cancel_continuation Unexecuted instantiation: flushtlb.c:hypercall_cancel_continuation Unexecuted instantiation: hypercall.c:hypercall_cancel_continuation Unexecuted instantiation: i387.c:hypercall_cancel_continuation Unexecuted instantiation: i8259.c:hypercall_cancel_continuation Unexecuted instantiation: io_apic.c:hypercall_cancel_continuation Unexecuted instantiation: msr.c:hypercall_cancel_continuation Unexecuted instantiation: ioport_emulate.c:hypercall_cancel_continuation Unexecuted instantiation: irq.c:hypercall_cancel_continuation Unexecuted instantiation: machine_kexec.c:hypercall_cancel_continuation Unexecuted instantiation: microcode_amd.c:hypercall_cancel_continuation Unexecuted instantiation: microcode_intel.c:hypercall_cancel_continuation Unexecuted instantiation: microcode.c:hypercall_cancel_continuation Unexecuted instantiation: mm.c:hypercall_cancel_continuation Unexecuted instantiation: console.c:hypercall_cancel_continuation Unexecuted instantiation: mpparse.c:hypercall_cancel_continuation Unexecuted instantiation: nmi.c:hypercall_cancel_continuation Unexecuted instantiation: numa.c:hypercall_cancel_continuation Unexecuted instantiation: physdev.c:hypercall_cancel_continuation Unexecuted instantiation: platform_hypercall.c:hypercall_cancel_continuation Unexecuted instantiation: psr.c:hypercall_cancel_continuation Unexecuted instantiation: setup.c:hypercall_cancel_continuation Unexecuted instantiation: smp.c:hypercall_cancel_continuation Unexecuted instantiation: smpboot.c:hypercall_cancel_continuation Unexecuted instantiation: traps.c:hypercall_cancel_continuation Unexecuted instantiation: usercopy.c:hypercall_cancel_continuation Unexecuted instantiation: x86_emulate.c:hypercall_cancel_continuation Unexecuted instantiation: tboot.c:hypercall_cancel_continuation Unexecuted instantiation: xstate.c:hypercall_cancel_continuation Unexecuted instantiation: power.c:hypercall_cancel_continuation Unexecuted instantiation: suspend.c:hypercall_cancel_continuation Unexecuted instantiation: cpu_idle.c:hypercall_cancel_continuation Unexecuted instantiation: amd.c:hypercall_cancel_continuation Unexecuted instantiation: common.c:hypercall_cancel_continuation Unexecuted instantiation: intel.c:hypercall_cancel_continuation Unexecuted instantiation: mwait-idle.c:hypercall_cancel_continuation Unexecuted instantiation: vpmu.c:hypercall_cancel_continuation Unexecuted instantiation: vpmu_amd.c:hypercall_cancel_continuation Unexecuted instantiation: vpmu_intel.c:hypercall_cancel_continuation Unexecuted instantiation: amd_nonfatal.c:hypercall_cancel_continuation Unexecuted instantiation: mce_amd.c:hypercall_cancel_continuation Unexecuted instantiation: mcaction.c:hypercall_cancel_continuation Unexecuted instantiation: barrier.c:hypercall_cancel_continuation Unexecuted instantiation: mctelem.c:hypercall_cancel_continuation Unexecuted instantiation: mce.c:hypercall_cancel_continuation Unexecuted instantiation: mce-apei.c:hypercall_cancel_continuation Unexecuted instantiation: mce_intel.c:hypercall_cancel_continuation Unexecuted instantiation: non-fatal.c:hypercall_cancel_continuation Unexecuted instantiation: util.c:hypercall_cancel_continuation Unexecuted instantiation: vmce.c:hypercall_cancel_continuation Unexecuted instantiation: delivery.c:hypercall_cancel_continuation Unexecuted instantiation: asid.c:hypercall_cancel_continuation Unexecuted instantiation: dm.c:hypercall_cancel_continuation Unexecuted instantiation: emulate.c:hypercall_cancel_continuation Unexecuted instantiation: hpet.c:hypercall_cancel_continuation Unexecuted instantiation: hvm.c:hypercall_cancel_continuation Unexecuted instantiation: i8254.c:hypercall_cancel_continuation Unexecuted instantiation: intercept.c:hypercall_cancel_continuation Unexecuted instantiation: ioreq.c:hypercall_cancel_continuation Unexecuted instantiation: mtrr.c:hypercall_cancel_continuation Unexecuted instantiation: nestedhvm.c:hypercall_cancel_continuation Unexecuted instantiation: pmtimer.c:hypercall_cancel_continuation Unexecuted instantiation: rtc.c:hypercall_cancel_continuation Unexecuted instantiation: save.c:hypercall_cancel_continuation Unexecuted instantiation: stdvga.c:hypercall_cancel_continuation Unexecuted instantiation: vioapic.c:hypercall_cancel_continuation Unexecuted instantiation: viridian.c:hypercall_cancel_continuation Unexecuted instantiation: vlapic.c:hypercall_cancel_continuation Unexecuted instantiation: vmsi.c:hypercall_cancel_continuation Unexecuted instantiation: vpic.c:hypercall_cancel_continuation Unexecuted instantiation: vpt.c:hypercall_cancel_continuation Unexecuted instantiation: intr.c:hypercall_cancel_continuation Unexecuted instantiation: nestedsvm.c:hypercall_cancel_continuation Unexecuted instantiation: svm.c:hypercall_cancel_continuation Unexecuted instantiation: svmdebug.c:hypercall_cancel_continuation Unexecuted instantiation: vmcb.c:hypercall_cancel_continuation Unexecuted instantiation: realmode.c:hypercall_cancel_continuation Unexecuted instantiation: vmcs.c:hypercall_cancel_continuation Unexecuted instantiation: vmx.c:hypercall_cancel_continuation Unexecuted instantiation: vvmx.c:hypercall_cancel_continuation Unexecuted instantiation: paging.c:hypercall_cancel_continuation Unexecuted instantiation: p2m.c:hypercall_cancel_continuation Unexecuted instantiation: p2m-pt.c:hypercall_cancel_continuation Unexecuted instantiation: p2m-ept.c:hypercall_cancel_continuation Unexecuted instantiation: p2m-pod.c:hypercall_cancel_continuation Unexecuted instantiation: altp2m.c:hypercall_cancel_continuation Unexecuted instantiation: guest_walk.c:hypercall_cancel_continuation Unexecuted instantiation: mem_paging.c:hypercall_cancel_continuation Unexecuted instantiation: mem_sharing.c:hypercall_cancel_continuation Unexecuted instantiation: multi.c:hypercall_cancel_continuation Unexecuted instantiation: hap.c:hypercall_cancel_continuation Unexecuted instantiation: nested_hap.c:hypercall_cancel_continuation Unexecuted instantiation: nested_ept.c:hypercall_cancel_continuation Unexecuted instantiation: nmi_int.c:hypercall_cancel_continuation Unexecuted instantiation: op_model_ppro.c:hypercall_cancel_continuation Unexecuted instantiation: op_model_athlon.c:hypercall_cancel_continuation Unexecuted instantiation: backtrace.c:hypercall_cancel_continuation Unexecuted instantiation: callback.c:hypercall_cancel_continuation Unexecuted instantiation: descriptor-tables.c:hypercall_cancel_continuation Unexecuted instantiation: emul-gate-op.c:hypercall_cancel_continuation Unexecuted instantiation: emul-inv-op.c:hypercall_cancel_continuation Unexecuted instantiation: emul-priv-op.c:hypercall_cancel_continuation Unexecuted instantiation: iret.c:hypercall_cancel_continuation Unexecuted instantiation: misc-hypercalls.c:hypercall_cancel_continuation |
720 | | |
721 | | /* |
722 | | * For long-running operations that must be in hypercall context, check |
723 | | * if there is background work to be done that should interrupt this |
724 | | * operation. |
725 | | */ |
726 | 0 | #define hypercall_preempt_check() (unlikely( \ |
727 | 0 | softirq_pending(smp_processor_id()) | \ |
728 | 0 | local_events_need_delivery() \ |
729 | 0 | )) |
730 | | |
731 | | /* |
732 | | * For long-running operations that may be in hypercall context or on |
733 | | * the idle vcpu (e.g. during dom0 construction), check if there is |
734 | | * background work to be done that should interrupt this operation. |
735 | | */ |
736 | 42.3k | #define general_preempt_check() (unlikely( \ |
737 | 42.3k | softirq_pending(smp_processor_id()) || \ |
738 | 42.3k | (!is_idle_vcpu(current) && local_events_need_delivery()) \ |
739 | 42.3k | )) |
740 | | |
741 | | extern struct domain *domain_list; |
742 | | |
743 | | /* Caller must hold the domlist_read_lock or domlist_update_lock. */ |
744 | | static inline struct domain *first_domain_in_cpupool( struct cpupool *c) |
745 | 12 | { |
746 | 12 | struct domain *d; |
747 | 12 | for (d = rcu_dereference(domain_list); d && d->cpupool != c; |
748 | 0 | d = rcu_dereference(d->next_in_list)); |
749 | 12 | return d; |
750 | 12 | } Unexecuted instantiation: cpu.c:first_domain_in_cpupool Unexecuted instantiation: ro-page-fault.c:first_domain_in_cpupool Unexecuted instantiation: misc-hypercalls.c:first_domain_in_cpupool Unexecuted instantiation: iret.c:first_domain_in_cpupool Unexecuted instantiation: emul-priv-op.c:first_domain_in_cpupool Unexecuted instantiation: emul-inv-op.c:first_domain_in_cpupool Unexecuted instantiation: emul-gate-op.c:first_domain_in_cpupool Unexecuted instantiation: descriptor-tables.c:first_domain_in_cpupool Unexecuted instantiation: callback.c:first_domain_in_cpupool Unexecuted instantiation: backtrace.c:first_domain_in_cpupool Unexecuted instantiation: op_model_athlon.c:first_domain_in_cpupool Unexecuted instantiation: op_model_ppro.c:first_domain_in_cpupool Unexecuted instantiation: nmi_int.c:first_domain_in_cpupool Unexecuted instantiation: nested_ept.c:first_domain_in_cpupool Unexecuted instantiation: nested_hap.c:first_domain_in_cpupool Unexecuted instantiation: hap.c:first_domain_in_cpupool Unexecuted instantiation: multi.c:first_domain_in_cpupool Unexecuted instantiation: mem_sharing.c:first_domain_in_cpupool Unexecuted instantiation: mem_paging.c:first_domain_in_cpupool Unexecuted instantiation: guest_walk.c:first_domain_in_cpupool Unexecuted instantiation: altp2m.c:first_domain_in_cpupool Unexecuted instantiation: p2m-pod.c:first_domain_in_cpupool Unexecuted instantiation: p2m-ept.c:first_domain_in_cpupool Unexecuted instantiation: p2m-pt.c:first_domain_in_cpupool Unexecuted instantiation: p2m.c:first_domain_in_cpupool Unexecuted instantiation: paging.c:first_domain_in_cpupool Unexecuted instantiation: vvmx.c:first_domain_in_cpupool Unexecuted instantiation: vmx.c:first_domain_in_cpupool Unexecuted instantiation: vmcs.c:first_domain_in_cpupool Unexecuted instantiation: realmode.c:first_domain_in_cpupool Unexecuted instantiation: vmcb.c:first_domain_in_cpupool Unexecuted instantiation: svmdebug.c:first_domain_in_cpupool Unexecuted instantiation: svm.c:first_domain_in_cpupool Unexecuted instantiation: nestedsvm.c:first_domain_in_cpupool Unexecuted instantiation: intr.c:first_domain_in_cpupool Unexecuted instantiation: vpt.c:first_domain_in_cpupool Unexecuted instantiation: vpic.c:first_domain_in_cpupool Unexecuted instantiation: vmsi.c:first_domain_in_cpupool Unexecuted instantiation: vlapic.c:first_domain_in_cpupool Unexecuted instantiation: viridian.c:first_domain_in_cpupool Unexecuted instantiation: vioapic.c:first_domain_in_cpupool Unexecuted instantiation: stdvga.c:first_domain_in_cpupool Unexecuted instantiation: save.c:first_domain_in_cpupool Unexecuted instantiation: rtc.c:first_domain_in_cpupool Unexecuted instantiation: pmtimer.c:first_domain_in_cpupool Unexecuted instantiation: nestedhvm.c:first_domain_in_cpupool Unexecuted instantiation: mtrr.c:first_domain_in_cpupool Unexecuted instantiation: ioreq.c:first_domain_in_cpupool Unexecuted instantiation: intercept.c:first_domain_in_cpupool Unexecuted instantiation: i8254.c:first_domain_in_cpupool Unexecuted instantiation: hvm.c:first_domain_in_cpupool Unexecuted instantiation: hpet.c:first_domain_in_cpupool Unexecuted instantiation: emulate.c:first_domain_in_cpupool Unexecuted instantiation: dm.c:first_domain_in_cpupool Unexecuted instantiation: asid.c:first_domain_in_cpupool Unexecuted instantiation: delivery.c:first_domain_in_cpupool Unexecuted instantiation: vmce.c:first_domain_in_cpupool Unexecuted instantiation: util.c:first_domain_in_cpupool Unexecuted instantiation: non-fatal.c:first_domain_in_cpupool Unexecuted instantiation: mce_intel.c:first_domain_in_cpupool Unexecuted instantiation: mce-apei.c:first_domain_in_cpupool Unexecuted instantiation: mce.c:first_domain_in_cpupool Unexecuted instantiation: mctelem.c:first_domain_in_cpupool Unexecuted instantiation: barrier.c:first_domain_in_cpupool Unexecuted instantiation: mcaction.c:first_domain_in_cpupool Unexecuted instantiation: mce_amd.c:first_domain_in_cpupool Unexecuted instantiation: amd_nonfatal.c:first_domain_in_cpupool Unexecuted instantiation: vpmu_intel.c:first_domain_in_cpupool Unexecuted instantiation: vpmu_amd.c:first_domain_in_cpupool Unexecuted instantiation: vpmu.c:first_domain_in_cpupool Unexecuted instantiation: mwait-idle.c:first_domain_in_cpupool Unexecuted instantiation: intel.c:first_domain_in_cpupool Unexecuted instantiation: common.c:first_domain_in_cpupool Unexecuted instantiation: amd.c:first_domain_in_cpupool Unexecuted instantiation: cpu_idle.c:first_domain_in_cpupool Unexecuted instantiation: suspend.c:first_domain_in_cpupool Unexecuted instantiation: power.c:first_domain_in_cpupool Unexecuted instantiation: xstate.c:first_domain_in_cpupool Unexecuted instantiation: tboot.c:first_domain_in_cpupool Unexecuted instantiation: x86_emulate.c:first_domain_in_cpupool Unexecuted instantiation: usercopy.c:first_domain_in_cpupool Unexecuted instantiation: traps.c:first_domain_in_cpupool Unexecuted instantiation: smpboot.c:first_domain_in_cpupool Unexecuted instantiation: smp.c:first_domain_in_cpupool Unexecuted instantiation: setup.c:first_domain_in_cpupool Unexecuted instantiation: psr.c:first_domain_in_cpupool Unexecuted instantiation: platform_hypercall.c:first_domain_in_cpupool Unexecuted instantiation: physdev.c:first_domain_in_cpupool Unexecuted instantiation: numa.c:first_domain_in_cpupool Unexecuted instantiation: nmi.c:first_domain_in_cpupool Unexecuted instantiation: mpparse.c:first_domain_in_cpupool Unexecuted instantiation: mm.c:first_domain_in_cpupool Unexecuted instantiation: microcode.c:first_domain_in_cpupool Unexecuted instantiation: microcode_intel.c:first_domain_in_cpupool Unexecuted instantiation: microcode_amd.c:first_domain_in_cpupool Unexecuted instantiation: machine_kexec.c:first_domain_in_cpupool Unexecuted instantiation: irq.c:first_domain_in_cpupool Unexecuted instantiation: ioport_emulate.c:first_domain_in_cpupool Unexecuted instantiation: msr.c:first_domain_in_cpupool Unexecuted instantiation: io_apic.c:first_domain_in_cpupool Unexecuted instantiation: i8259.c:first_domain_in_cpupool Unexecuted instantiation: i387.c:first_domain_in_cpupool Unexecuted instantiation: hypercall.c:first_domain_in_cpupool Unexecuted instantiation: flushtlb.c:first_domain_in_cpupool Unexecuted instantiation: domain_page.c:first_domain_in_cpupool Unexecuted instantiation: debug.c:first_domain_in_cpupool Unexecuted instantiation: crash.c:first_domain_in_cpupool Unexecuted instantiation: compat.c:first_domain_in_cpupool Unexecuted instantiation: cpuid.c:first_domain_in_cpupool Unexecuted instantiation: apic.c:first_domain_in_cpupool Unexecuted instantiation: xsm_core.c:first_domain_in_cpupool Unexecuted instantiation: pmstat.c:first_domain_in_cpupool Unexecuted instantiation: iommu_guest.c:first_domain_in_cpupool Unexecuted instantiation: iommu_cmd.c:first_domain_in_cpupool Unexecuted instantiation: iommu_intr.c:first_domain_in_cpupool Unexecuted instantiation: pci_amd_iommu.c:first_domain_in_cpupool Unexecuted instantiation: iommu_map.c:first_domain_in_cpupool Unexecuted instantiation: iommu_init.c:first_domain_in_cpupool Unexecuted instantiation: ats.c:first_domain_in_cpupool Unexecuted instantiation: vtd.c:first_domain_in_cpupool Unexecuted instantiation: quirks.c:first_domain_in_cpupool Unexecuted instantiation: intremap.c:first_domain_in_cpupool Unexecuted instantiation: qinval.c:first_domain_in_cpupool Unexecuted instantiation: utils.c:first_domain_in_cpupool Unexecuted instantiation: pci.c:first_domain_in_cpupool Unexecuted instantiation: io.c:first_domain_in_cpupool Unexecuted instantiation: iommu.c:first_domain_in_cpupool Unexecuted instantiation: msix.c:first_domain_in_cpupool Unexecuted instantiation: msi.c:first_domain_in_cpupool Unexecuted instantiation: header.c:first_domain_in_cpupool Unexecuted instantiation: vpci.c:first_domain_in_cpupool Unexecuted instantiation: utility.c:first_domain_in_cpupool Unexecuted instantiation: cpufreq_misc_governors.c:first_domain_in_cpupool Unexecuted instantiation: cpufreq_ondemand.c:first_domain_in_cpupool Unexecuted instantiation: cpufreq.c:first_domain_in_cpupool Unexecuted instantiation: ns16550.c:first_domain_in_cpupool Unexecuted instantiation: console.c:first_domain_in_cpupool Unexecuted instantiation: libelf-loader.c:first_domain_in_cpupool Unexecuted instantiation: llvm.c:first_domain_in_cpupool Unexecuted instantiation: tmem_control.c:first_domain_in_cpupool Unexecuted instantiation: tmem_xen.c:first_domain_in_cpupool Unexecuted instantiation: tmem.c:first_domain_in_cpupool Unexecuted instantiation: xenoprof.c:first_domain_in_cpupool Unexecuted instantiation: wait.c:first_domain_in_cpupool Unexecuted instantiation: vsprintf.c:first_domain_in_cpupool Unexecuted instantiation: vm_event.c:first_domain_in_cpupool Unexecuted instantiation: trace.c:first_domain_in_cpupool Unexecuted instantiation: timer.c:first_domain_in_cpupool Unexecuted instantiation: time.c:first_domain_in_cpupool Unexecuted instantiation: tasklet.c:first_domain_in_cpupool Unexecuted instantiation: sysctl.c:first_domain_in_cpupool Unexecuted instantiation: symbols.c:first_domain_in_cpupool Unexecuted instantiation: stop_machine.c:first_domain_in_cpupool Unexecuted instantiation: spinlock.c:first_domain_in_cpupool Unexecuted instantiation: softirq.c:first_domain_in_cpupool Unexecuted instantiation: shutdown.c:first_domain_in_cpupool Unexecuted instantiation: schedule.c:first_domain_in_cpupool Unexecuted instantiation: sched_null.c:first_domain_in_cpupool Unexecuted instantiation: sched_rt.c:first_domain_in_cpupool Unexecuted instantiation: sched_credit2.c:first_domain_in_cpupool Unexecuted instantiation: sched_credit.c:first_domain_in_cpupool Unexecuted instantiation: sched_arinc653.c:first_domain_in_cpupool Unexecuted instantiation: rcupdate.c:first_domain_in_cpupool Unexecuted instantiation: rangeset.c:first_domain_in_cpupool Unexecuted instantiation: page_alloc.c:first_domain_in_cpupool Unexecuted instantiation: multicall.c:first_domain_in_cpupool Unexecuted instantiation: monitor.c:first_domain_in_cpupool Unexecuted instantiation: memory.c:first_domain_in_cpupool Unexecuted instantiation: mem_access.c:first_domain_in_cpupool Unexecuted instantiation: kimage.c:first_domain_in_cpupool Unexecuted instantiation: kexec.c:first_domain_in_cpupool Unexecuted instantiation: keyhandler.c:first_domain_in_cpupool Unexecuted instantiation: kernel.c:first_domain_in_cpupool Unexecuted instantiation: guestcopy.c:first_domain_in_cpupool Unexecuted instantiation: grant_table.c:first_domain_in_cpupool Unexecuted instantiation: event_fifo.c:first_domain_in_cpupool Unexecuted instantiation: event_channel.c:first_domain_in_cpupool Unexecuted instantiation: event_2l.c:first_domain_in_cpupool Unexecuted instantiation: domain.c:first_domain_in_cpupool Unexecuted instantiation: domctl.c:first_domain_in_cpupool cpupool.c:first_domain_in_cpupool Line | Count | Source | 745 | 12 | { | 746 | 12 | struct domain *d; | 747 | 12 | for (d = rcu_dereference(domain_list); d && d->cpupool != c; | 748 | 0 | d = rcu_dereference(d->next_in_list)); | 749 | 12 | return d; | 750 | 12 | } |
|
751 | | static inline struct domain *next_domain_in_cpupool( |
752 | | struct domain *d, struct cpupool *c) |
753 | 0 | { |
754 | 0 | for (d = rcu_dereference(d->next_in_list); d && d->cpupool != c; |
755 | 0 | d = rcu_dereference(d->next_in_list)); |
756 | 0 | return d; |
757 | 0 | } Unexecuted instantiation: cpupool.c:next_domain_in_cpupool Unexecuted instantiation: ro-page-fault.c:next_domain_in_cpupool Unexecuted instantiation: domctl.c:next_domain_in_cpupool Unexecuted instantiation: domain.c:next_domain_in_cpupool Unexecuted instantiation: event_2l.c:next_domain_in_cpupool Unexecuted instantiation: event_channel.c:next_domain_in_cpupool Unexecuted instantiation: event_fifo.c:next_domain_in_cpupool Unexecuted instantiation: grant_table.c:next_domain_in_cpupool Unexecuted instantiation: guestcopy.c:next_domain_in_cpupool Unexecuted instantiation: kernel.c:next_domain_in_cpupool Unexecuted instantiation: keyhandler.c:next_domain_in_cpupool Unexecuted instantiation: kexec.c:next_domain_in_cpupool Unexecuted instantiation: kimage.c:next_domain_in_cpupool Unexecuted instantiation: mem_access.c:next_domain_in_cpupool Unexecuted instantiation: memory.c:next_domain_in_cpupool Unexecuted instantiation: monitor.c:next_domain_in_cpupool Unexecuted instantiation: multicall.c:next_domain_in_cpupool Unexecuted instantiation: page_alloc.c:next_domain_in_cpupool Unexecuted instantiation: rangeset.c:next_domain_in_cpupool Unexecuted instantiation: rcupdate.c:next_domain_in_cpupool Unexecuted instantiation: sched_arinc653.c:next_domain_in_cpupool Unexecuted instantiation: sched_credit.c:next_domain_in_cpupool Unexecuted instantiation: sched_credit2.c:next_domain_in_cpupool Unexecuted instantiation: sched_rt.c:next_domain_in_cpupool Unexecuted instantiation: sched_null.c:next_domain_in_cpupool Unexecuted instantiation: schedule.c:next_domain_in_cpupool Unexecuted instantiation: shutdown.c:next_domain_in_cpupool Unexecuted instantiation: softirq.c:next_domain_in_cpupool Unexecuted instantiation: spinlock.c:next_domain_in_cpupool Unexecuted instantiation: stop_machine.c:next_domain_in_cpupool Unexecuted instantiation: symbols.c:next_domain_in_cpupool Unexecuted instantiation: sysctl.c:next_domain_in_cpupool Unexecuted instantiation: tasklet.c:next_domain_in_cpupool Unexecuted instantiation: time.c:next_domain_in_cpupool Unexecuted instantiation: timer.c:next_domain_in_cpupool Unexecuted instantiation: trace.c:next_domain_in_cpupool Unexecuted instantiation: vm_event.c:next_domain_in_cpupool Unexecuted instantiation: vsprintf.c:next_domain_in_cpupool Unexecuted instantiation: wait.c:next_domain_in_cpupool Unexecuted instantiation: xenoprof.c:next_domain_in_cpupool Unexecuted instantiation: tmem.c:next_domain_in_cpupool Unexecuted instantiation: tmem_xen.c:next_domain_in_cpupool Unexecuted instantiation: tmem_control.c:next_domain_in_cpupool Unexecuted instantiation: llvm.c:next_domain_in_cpupool Unexecuted instantiation: libelf-loader.c:next_domain_in_cpupool Unexecuted instantiation: ns16550.c:next_domain_in_cpupool Unexecuted instantiation: misc-hypercalls.c:next_domain_in_cpupool Unexecuted instantiation: cpufreq.c:next_domain_in_cpupool Unexecuted instantiation: cpufreq_ondemand.c:next_domain_in_cpupool Unexecuted instantiation: cpufreq_misc_governors.c:next_domain_in_cpupool Unexecuted instantiation: utility.c:next_domain_in_cpupool Unexecuted instantiation: vpci.c:next_domain_in_cpupool Unexecuted instantiation: header.c:next_domain_in_cpupool Unexecuted instantiation: msi.c:next_domain_in_cpupool Unexecuted instantiation: msix.c:next_domain_in_cpupool Unexecuted instantiation: iommu.c:next_domain_in_cpupool Unexecuted instantiation: io.c:next_domain_in_cpupool Unexecuted instantiation: pci.c:next_domain_in_cpupool Unexecuted instantiation: utils.c:next_domain_in_cpupool Unexecuted instantiation: qinval.c:next_domain_in_cpupool Unexecuted instantiation: intremap.c:next_domain_in_cpupool Unexecuted instantiation: quirks.c:next_domain_in_cpupool Unexecuted instantiation: vtd.c:next_domain_in_cpupool Unexecuted instantiation: ats.c:next_domain_in_cpupool Unexecuted instantiation: iommu_init.c:next_domain_in_cpupool Unexecuted instantiation: iommu_map.c:next_domain_in_cpupool Unexecuted instantiation: pci_amd_iommu.c:next_domain_in_cpupool Unexecuted instantiation: iommu_intr.c:next_domain_in_cpupool Unexecuted instantiation: iommu_cmd.c:next_domain_in_cpupool Unexecuted instantiation: iommu_guest.c:next_domain_in_cpupool Unexecuted instantiation: pmstat.c:next_domain_in_cpupool Unexecuted instantiation: xsm_core.c:next_domain_in_cpupool Unexecuted instantiation: apic.c:next_domain_in_cpupool Unexecuted instantiation: cpuid.c:next_domain_in_cpupool Unexecuted instantiation: compat.c:next_domain_in_cpupool Unexecuted instantiation: crash.c:next_domain_in_cpupool Unexecuted instantiation: debug.c:next_domain_in_cpupool Unexecuted instantiation: domain_page.c:next_domain_in_cpupool Unexecuted instantiation: flushtlb.c:next_domain_in_cpupool Unexecuted instantiation: hypercall.c:next_domain_in_cpupool Unexecuted instantiation: i387.c:next_domain_in_cpupool Unexecuted instantiation: i8259.c:next_domain_in_cpupool Unexecuted instantiation: io_apic.c:next_domain_in_cpupool Unexecuted instantiation: msr.c:next_domain_in_cpupool Unexecuted instantiation: ioport_emulate.c:next_domain_in_cpupool Unexecuted instantiation: irq.c:next_domain_in_cpupool Unexecuted instantiation: machine_kexec.c:next_domain_in_cpupool Unexecuted instantiation: microcode_amd.c:next_domain_in_cpupool Unexecuted instantiation: microcode_intel.c:next_domain_in_cpupool Unexecuted instantiation: microcode.c:next_domain_in_cpupool Unexecuted instantiation: mm.c:next_domain_in_cpupool Unexecuted instantiation: mpparse.c:next_domain_in_cpupool Unexecuted instantiation: nmi.c:next_domain_in_cpupool Unexecuted instantiation: numa.c:next_domain_in_cpupool Unexecuted instantiation: physdev.c:next_domain_in_cpupool Unexecuted instantiation: platform_hypercall.c:next_domain_in_cpupool Unexecuted instantiation: psr.c:next_domain_in_cpupool Unexecuted instantiation: setup.c:next_domain_in_cpupool Unexecuted instantiation: smp.c:next_domain_in_cpupool Unexecuted instantiation: smpboot.c:next_domain_in_cpupool Unexecuted instantiation: traps.c:next_domain_in_cpupool Unexecuted instantiation: usercopy.c:next_domain_in_cpupool Unexecuted instantiation: x86_emulate.c:next_domain_in_cpupool Unexecuted instantiation: tboot.c:next_domain_in_cpupool Unexecuted instantiation: xstate.c:next_domain_in_cpupool Unexecuted instantiation: power.c:next_domain_in_cpupool Unexecuted instantiation: suspend.c:next_domain_in_cpupool Unexecuted instantiation: cpu_idle.c:next_domain_in_cpupool Unexecuted instantiation: amd.c:next_domain_in_cpupool Unexecuted instantiation: common.c:next_domain_in_cpupool Unexecuted instantiation: intel.c:next_domain_in_cpupool Unexecuted instantiation: mwait-idle.c:next_domain_in_cpupool Unexecuted instantiation: vpmu.c:next_domain_in_cpupool Unexecuted instantiation: vpmu_amd.c:next_domain_in_cpupool Unexecuted instantiation: vpmu_intel.c:next_domain_in_cpupool Unexecuted instantiation: amd_nonfatal.c:next_domain_in_cpupool Unexecuted instantiation: mce_amd.c:next_domain_in_cpupool Unexecuted instantiation: mcaction.c:next_domain_in_cpupool Unexecuted instantiation: barrier.c:next_domain_in_cpupool Unexecuted instantiation: mctelem.c:next_domain_in_cpupool Unexecuted instantiation: mce.c:next_domain_in_cpupool Unexecuted instantiation: mce-apei.c:next_domain_in_cpupool Unexecuted instantiation: mce_intel.c:next_domain_in_cpupool Unexecuted instantiation: non-fatal.c:next_domain_in_cpupool Unexecuted instantiation: util.c:next_domain_in_cpupool Unexecuted instantiation: vmce.c:next_domain_in_cpupool Unexecuted instantiation: delivery.c:next_domain_in_cpupool Unexecuted instantiation: asid.c:next_domain_in_cpupool Unexecuted instantiation: dm.c:next_domain_in_cpupool Unexecuted instantiation: emulate.c:next_domain_in_cpupool Unexecuted instantiation: hpet.c:next_domain_in_cpupool Unexecuted instantiation: hvm.c:next_domain_in_cpupool Unexecuted instantiation: i8254.c:next_domain_in_cpupool Unexecuted instantiation: intercept.c:next_domain_in_cpupool Unexecuted instantiation: ioreq.c:next_domain_in_cpupool Unexecuted instantiation: mtrr.c:next_domain_in_cpupool Unexecuted instantiation: nestedhvm.c:next_domain_in_cpupool Unexecuted instantiation: pmtimer.c:next_domain_in_cpupool Unexecuted instantiation: rtc.c:next_domain_in_cpupool Unexecuted instantiation: save.c:next_domain_in_cpupool Unexecuted instantiation: stdvga.c:next_domain_in_cpupool Unexecuted instantiation: vioapic.c:next_domain_in_cpupool Unexecuted instantiation: viridian.c:next_domain_in_cpupool Unexecuted instantiation: vlapic.c:next_domain_in_cpupool Unexecuted instantiation: vmsi.c:next_domain_in_cpupool Unexecuted instantiation: vpic.c:next_domain_in_cpupool Unexecuted instantiation: vpt.c:next_domain_in_cpupool Unexecuted instantiation: intr.c:next_domain_in_cpupool Unexecuted instantiation: nestedsvm.c:next_domain_in_cpupool Unexecuted instantiation: svm.c:next_domain_in_cpupool Unexecuted instantiation: svmdebug.c:next_domain_in_cpupool Unexecuted instantiation: vmcb.c:next_domain_in_cpupool Unexecuted instantiation: realmode.c:next_domain_in_cpupool Unexecuted instantiation: vmcs.c:next_domain_in_cpupool Unexecuted instantiation: vmx.c:next_domain_in_cpupool Unexecuted instantiation: vvmx.c:next_domain_in_cpupool Unexecuted instantiation: paging.c:next_domain_in_cpupool Unexecuted instantiation: p2m.c:next_domain_in_cpupool Unexecuted instantiation: p2m-pt.c:next_domain_in_cpupool Unexecuted instantiation: p2m-ept.c:next_domain_in_cpupool Unexecuted instantiation: p2m-pod.c:next_domain_in_cpupool Unexecuted instantiation: altp2m.c:next_domain_in_cpupool Unexecuted instantiation: guest_walk.c:next_domain_in_cpupool Unexecuted instantiation: mem_paging.c:next_domain_in_cpupool Unexecuted instantiation: mem_sharing.c:next_domain_in_cpupool Unexecuted instantiation: multi.c:next_domain_in_cpupool Unexecuted instantiation: hap.c:next_domain_in_cpupool Unexecuted instantiation: nested_hap.c:next_domain_in_cpupool Unexecuted instantiation: nested_ept.c:next_domain_in_cpupool Unexecuted instantiation: nmi_int.c:next_domain_in_cpupool Unexecuted instantiation: op_model_ppro.c:next_domain_in_cpupool Unexecuted instantiation: op_model_athlon.c:next_domain_in_cpupool Unexecuted instantiation: backtrace.c:next_domain_in_cpupool Unexecuted instantiation: callback.c:next_domain_in_cpupool Unexecuted instantiation: descriptor-tables.c:next_domain_in_cpupool Unexecuted instantiation: emul-gate-op.c:next_domain_in_cpupool Unexecuted instantiation: emul-inv-op.c:next_domain_in_cpupool Unexecuted instantiation: emul-priv-op.c:next_domain_in_cpupool Unexecuted instantiation: iret.c:next_domain_in_cpupool Unexecuted instantiation: cpu.c:next_domain_in_cpupool Unexecuted instantiation: console.c:next_domain_in_cpupool |
758 | | |
759 | | #define for_each_domain(_d) \ |
760 | 8 | for ( (_d) = rcu_dereference(domain_list); \ |
761 | 15 | (_d) != NULL; \ |
762 | 7 | (_d) = rcu_dereference((_d)->next_in_list )) \ |
763 | | |
764 | | #define for_each_domain_in_cpupool(_d,_c) \ |
765 | 12 | for ( (_d) = first_domain_in_cpupool(_c); \ |
766 | 12 | (_d) != NULL; \ |
767 | 0 | (_d) = next_domain_in_cpupool((_d), (_c))) |
768 | | |
769 | | #define for_each_vcpu(_d,_v) \ |
770 | 6.98k | for ( (_v) = (_d)->vcpu ? (_d)->vcpu[0] : NULL; \ |
771 | 90.6k | (_v) != NULL; \ |
772 | 83.6k | (_v) = (_v)->next_in_list ) |
773 | | |
774 | | /* |
775 | | * Per-VCPU pause flags. |
776 | | */ |
777 | | /* Domain is blocked waiting for an event. */ |
778 | 314k | #define _VPF_blocked 0 |
779 | 314k | #define VPF_blocked (1UL<<_VPF_blocked) |
780 | | /* VCPU is offline. */ |
781 | 48 | #define _VPF_down 1 |
782 | 48 | #define VPF_down (1UL<<_VPF_down) |
783 | | /* VCPU is blocked awaiting an event to be consumed by Xen. */ |
784 | 0 | #define _VPF_blocked_in_xen 2 |
785 | 0 | #define VPF_blocked_in_xen (1UL<<_VPF_blocked_in_xen) |
786 | | /* VCPU affinity has changed: migrating to a new CPU. */ |
787 | 14 | #define _VPF_migrating 3 |
788 | 14 | #define VPF_migrating (1UL<<_VPF_migrating) |
789 | | /* VCPU is blocked due to missing mem_paging ring. */ |
790 | 0 | #define _VPF_mem_paging 4 |
791 | | #define VPF_mem_paging (1UL<<_VPF_mem_paging) |
792 | | /* VCPU is blocked due to missing mem_access ring. */ |
793 | 0 | #define _VPF_mem_access 5 |
794 | | #define VPF_mem_access (1UL<<_VPF_mem_access) |
795 | | /* VCPU is blocked due to missing mem_sharing ring. */ |
796 | 0 | #define _VPF_mem_sharing 6 |
797 | | #define VPF_mem_sharing (1UL<<_VPF_mem_sharing) |
798 | | /* VCPU is being reset. */ |
799 | | #define _VPF_in_reset 7 |
800 | | #define VPF_in_reset (1UL<<_VPF_in_reset) |
801 | | /* VCPU is parked. */ |
802 | | #define _VPF_parked 8 |
803 | | #define VPF_parked (1UL<<_VPF_parked) |
804 | | |
805 | | static inline int vcpu_runnable(struct vcpu *v) |
806 | 5.28M | { |
807 | 5.28M | return !(v->pause_flags | |
808 | 5.28M | atomic_read(&v->pause_count) | |
809 | 5.28M | atomic_read(&v->domain->pause_count)); |
810 | 5.28M | } Unexecuted instantiation: misc-hypercalls.c:vcpu_runnable Unexecuted instantiation: cpu.c:vcpu_runnable Unexecuted instantiation: iret.c:vcpu_runnable Unexecuted instantiation: ro-page-fault.c:vcpu_runnable Unexecuted instantiation: emul-priv-op.c:vcpu_runnable Unexecuted instantiation: emul-inv-op.c:vcpu_runnable Unexecuted instantiation: emul-gate-op.c:vcpu_runnable Unexecuted instantiation: descriptor-tables.c:vcpu_runnable Unexecuted instantiation: callback.c:vcpu_runnable Unexecuted instantiation: backtrace.c:vcpu_runnable Unexecuted instantiation: op_model_athlon.c:vcpu_runnable Unexecuted instantiation: op_model_ppro.c:vcpu_runnable Unexecuted instantiation: nmi_int.c:vcpu_runnable Unexecuted instantiation: nested_ept.c:vcpu_runnable Unexecuted instantiation: nested_hap.c:vcpu_runnable Unexecuted instantiation: hap.c:vcpu_runnable Unexecuted instantiation: multi.c:vcpu_runnable Unexecuted instantiation: mem_sharing.c:vcpu_runnable Unexecuted instantiation: mem_paging.c:vcpu_runnable Unexecuted instantiation: guest_walk.c:vcpu_runnable Unexecuted instantiation: altp2m.c:vcpu_runnable Unexecuted instantiation: p2m-pod.c:vcpu_runnable Unexecuted instantiation: p2m-ept.c:vcpu_runnable Unexecuted instantiation: p2m-pt.c:vcpu_runnable Unexecuted instantiation: p2m.c:vcpu_runnable Unexecuted instantiation: paging.c:vcpu_runnable Unexecuted instantiation: vvmx.c:vcpu_runnable Unexecuted instantiation: vmx.c:vcpu_runnable Unexecuted instantiation: vmcs.c:vcpu_runnable Unexecuted instantiation: realmode.c:vcpu_runnable Unexecuted instantiation: vmcb.c:vcpu_runnable Unexecuted instantiation: svmdebug.c:vcpu_runnable Unexecuted instantiation: svm.c:vcpu_runnable Unexecuted instantiation: nestedsvm.c:vcpu_runnable Unexecuted instantiation: intr.c:vcpu_runnable Unexecuted instantiation: vpt.c:vcpu_runnable Unexecuted instantiation: vpic.c:vcpu_runnable Unexecuted instantiation: vmsi.c:vcpu_runnable Unexecuted instantiation: vlapic.c:vcpu_runnable Unexecuted instantiation: viridian.c:vcpu_runnable Unexecuted instantiation: vioapic.c:vcpu_runnable Unexecuted instantiation: stdvga.c:vcpu_runnable Unexecuted instantiation: save.c:vcpu_runnable Unexecuted instantiation: rtc.c:vcpu_runnable Unexecuted instantiation: pmtimer.c:vcpu_runnable Unexecuted instantiation: nestedhvm.c:vcpu_runnable Unexecuted instantiation: mtrr.c:vcpu_runnable Unexecuted instantiation: ioreq.c:vcpu_runnable Unexecuted instantiation: intercept.c:vcpu_runnable Unexecuted instantiation: i8254.c:vcpu_runnable Unexecuted instantiation: hvm.c:vcpu_runnable Unexecuted instantiation: hpet.c:vcpu_runnable Unexecuted instantiation: emulate.c:vcpu_runnable Unexecuted instantiation: dm.c:vcpu_runnable Unexecuted instantiation: asid.c:vcpu_runnable Unexecuted instantiation: delivery.c:vcpu_runnable Unexecuted instantiation: vmce.c:vcpu_runnable Unexecuted instantiation: util.c:vcpu_runnable Unexecuted instantiation: non-fatal.c:vcpu_runnable Unexecuted instantiation: mce_intel.c:vcpu_runnable Unexecuted instantiation: mce-apei.c:vcpu_runnable Unexecuted instantiation: mce.c:vcpu_runnable Unexecuted instantiation: mctelem.c:vcpu_runnable Unexecuted instantiation: barrier.c:vcpu_runnable Unexecuted instantiation: mcaction.c:vcpu_runnable Unexecuted instantiation: mce_amd.c:vcpu_runnable Unexecuted instantiation: amd_nonfatal.c:vcpu_runnable Unexecuted instantiation: vpmu_intel.c:vcpu_runnable Unexecuted instantiation: vpmu_amd.c:vcpu_runnable Unexecuted instantiation: vpmu.c:vcpu_runnable Unexecuted instantiation: mwait-idle.c:vcpu_runnable Unexecuted instantiation: intel.c:vcpu_runnable Unexecuted instantiation: common.c:vcpu_runnable Unexecuted instantiation: amd.c:vcpu_runnable Unexecuted instantiation: cpu_idle.c:vcpu_runnable Unexecuted instantiation: suspend.c:vcpu_runnable Unexecuted instantiation: power.c:vcpu_runnable Unexecuted instantiation: xstate.c:vcpu_runnable Unexecuted instantiation: tboot.c:vcpu_runnable Unexecuted instantiation: x86_emulate.c:vcpu_runnable Unexecuted instantiation: usercopy.c:vcpu_runnable Unexecuted instantiation: traps.c:vcpu_runnable Unexecuted instantiation: smpboot.c:vcpu_runnable Unexecuted instantiation: smp.c:vcpu_runnable Unexecuted instantiation: setup.c:vcpu_runnable Unexecuted instantiation: psr.c:vcpu_runnable Unexecuted instantiation: platform_hypercall.c:vcpu_runnable Unexecuted instantiation: physdev.c:vcpu_runnable Unexecuted instantiation: numa.c:vcpu_runnable Unexecuted instantiation: nmi.c:vcpu_runnable Unexecuted instantiation: mpparse.c:vcpu_runnable Unexecuted instantiation: mm.c:vcpu_runnable Unexecuted instantiation: microcode.c:vcpu_runnable Unexecuted instantiation: microcode_intel.c:vcpu_runnable Unexecuted instantiation: microcode_amd.c:vcpu_runnable Unexecuted instantiation: machine_kexec.c:vcpu_runnable Unexecuted instantiation: irq.c:vcpu_runnable Unexecuted instantiation: ioport_emulate.c:vcpu_runnable Unexecuted instantiation: msr.c:vcpu_runnable Unexecuted instantiation: io_apic.c:vcpu_runnable Unexecuted instantiation: i8259.c:vcpu_runnable Unexecuted instantiation: i387.c:vcpu_runnable Unexecuted instantiation: hypercall.c:vcpu_runnable Unexecuted instantiation: flushtlb.c:vcpu_runnable Unexecuted instantiation: domain_page.c:vcpu_runnable Unexecuted instantiation: debug.c:vcpu_runnable Unexecuted instantiation: crash.c:vcpu_runnable Unexecuted instantiation: compat.c:vcpu_runnable Unexecuted instantiation: cpuid.c:vcpu_runnable Unexecuted instantiation: apic.c:vcpu_runnable Unexecuted instantiation: xsm_core.c:vcpu_runnable Unexecuted instantiation: pmstat.c:vcpu_runnable Unexecuted instantiation: iommu_guest.c:vcpu_runnable Unexecuted instantiation: iommu_cmd.c:vcpu_runnable Unexecuted instantiation: iommu_intr.c:vcpu_runnable Unexecuted instantiation: pci_amd_iommu.c:vcpu_runnable Unexecuted instantiation: iommu_map.c:vcpu_runnable Unexecuted instantiation: iommu_init.c:vcpu_runnable Unexecuted instantiation: ats.c:vcpu_runnable Unexecuted instantiation: vtd.c:vcpu_runnable Unexecuted instantiation: quirks.c:vcpu_runnable Unexecuted instantiation: intremap.c:vcpu_runnable Unexecuted instantiation: qinval.c:vcpu_runnable Unexecuted instantiation: utils.c:vcpu_runnable Unexecuted instantiation: pci.c:vcpu_runnable Unexecuted instantiation: io.c:vcpu_runnable Unexecuted instantiation: iommu.c:vcpu_runnable Unexecuted instantiation: msix.c:vcpu_runnable Unexecuted instantiation: msi.c:vcpu_runnable Unexecuted instantiation: header.c:vcpu_runnable Unexecuted instantiation: vpci.c:vcpu_runnable Unexecuted instantiation: utility.c:vcpu_runnable Unexecuted instantiation: cpufreq_misc_governors.c:vcpu_runnable Unexecuted instantiation: cpufreq_ondemand.c:vcpu_runnable Unexecuted instantiation: cpufreq.c:vcpu_runnable Unexecuted instantiation: ns16550.c:vcpu_runnable Unexecuted instantiation: console.c:vcpu_runnable Unexecuted instantiation: libelf-loader.c:vcpu_runnable Unexecuted instantiation: llvm.c:vcpu_runnable Unexecuted instantiation: tmem_control.c:vcpu_runnable Unexecuted instantiation: tmem_xen.c:vcpu_runnable Unexecuted instantiation: tmem.c:vcpu_runnable Unexecuted instantiation: xenoprof.c:vcpu_runnable Unexecuted instantiation: wait.c:vcpu_runnable Unexecuted instantiation: vsprintf.c:vcpu_runnable Unexecuted instantiation: vm_event.c:vcpu_runnable Unexecuted instantiation: trace.c:vcpu_runnable Unexecuted instantiation: timer.c:vcpu_runnable Unexecuted instantiation: time.c:vcpu_runnable Unexecuted instantiation: tasklet.c:vcpu_runnable Unexecuted instantiation: sysctl.c:vcpu_runnable Unexecuted instantiation: symbols.c:vcpu_runnable Unexecuted instantiation: stop_machine.c:vcpu_runnable Unexecuted instantiation: spinlock.c:vcpu_runnable Unexecuted instantiation: softirq.c:vcpu_runnable Unexecuted instantiation: shutdown.c:vcpu_runnable Line | Count | Source | 806 | 170k | { | 807 | 170k | return !(v->pause_flags | | 808 | 170k | atomic_read(&v->pause_count) | | 809 | 170k | atomic_read(&v->domain->pause_count)); | 810 | 170k | } |
Unexecuted instantiation: sched_null.c:vcpu_runnable Unexecuted instantiation: sched_rt.c:vcpu_runnable Unexecuted instantiation: sched_credit2.c:vcpu_runnable sched_credit.c:vcpu_runnable Line | Count | Source | 806 | 5.11M | { | 807 | 5.11M | return !(v->pause_flags | | 808 | 5.11M | atomic_read(&v->pause_count) | | 809 | 5.11M | atomic_read(&v->domain->pause_count)); | 810 | 5.11M | } |
Unexecuted instantiation: sched_arinc653.c:vcpu_runnable Unexecuted instantiation: rcupdate.c:vcpu_runnable Unexecuted instantiation: rangeset.c:vcpu_runnable Unexecuted instantiation: page_alloc.c:vcpu_runnable Unexecuted instantiation: multicall.c:vcpu_runnable Unexecuted instantiation: monitor.c:vcpu_runnable Unexecuted instantiation: memory.c:vcpu_runnable Unexecuted instantiation: mem_access.c:vcpu_runnable Unexecuted instantiation: kimage.c:vcpu_runnable Unexecuted instantiation: kexec.c:vcpu_runnable Unexecuted instantiation: keyhandler.c:vcpu_runnable Unexecuted instantiation: kernel.c:vcpu_runnable Unexecuted instantiation: guestcopy.c:vcpu_runnable Unexecuted instantiation: grant_table.c:vcpu_runnable Unexecuted instantiation: event_fifo.c:vcpu_runnable Unexecuted instantiation: event_channel.c:vcpu_runnable Unexecuted instantiation: event_2l.c:vcpu_runnable Unexecuted instantiation: domain.c:vcpu_runnable Unexecuted instantiation: domctl.c:vcpu_runnable Unexecuted instantiation: cpupool.c:vcpu_runnable |
811 | | |
812 | | void vcpu_block(void); |
813 | | void vcpu_unblock(struct vcpu *v); |
814 | | void vcpu_pause(struct vcpu *v); |
815 | | void vcpu_pause_nosync(struct vcpu *v); |
816 | | void vcpu_unpause(struct vcpu *v); |
817 | | int vcpu_pause_by_systemcontroller(struct vcpu *v); |
818 | | int vcpu_unpause_by_systemcontroller(struct vcpu *v); |
819 | | |
820 | | void domain_pause(struct domain *d); |
821 | | void domain_pause_nosync(struct domain *d); |
822 | | void domain_unpause(struct domain *d); |
823 | | int domain_unpause_by_systemcontroller(struct domain *d); |
824 | | int __domain_pause_by_systemcontroller(struct domain *d, |
825 | | void (*pause_fn)(struct domain *d)); |
826 | | static inline int domain_pause_by_systemcontroller(struct domain *d) |
827 | 0 | { |
828 | 0 | return __domain_pause_by_systemcontroller(d, domain_pause); |
829 | 0 | } Unexecuted instantiation: ro-page-fault.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpu.c:domain_pause_by_systemcontroller Unexecuted instantiation: misc-hypercalls.c:domain_pause_by_systemcontroller Unexecuted instantiation: iret.c:domain_pause_by_systemcontroller Unexecuted instantiation: emul-priv-op.c:domain_pause_by_systemcontroller Unexecuted instantiation: emul-inv-op.c:domain_pause_by_systemcontroller Unexecuted instantiation: emul-gate-op.c:domain_pause_by_systemcontroller Unexecuted instantiation: descriptor-tables.c:domain_pause_by_systemcontroller Unexecuted instantiation: callback.c:domain_pause_by_systemcontroller Unexecuted instantiation: backtrace.c:domain_pause_by_systemcontroller Unexecuted instantiation: op_model_athlon.c:domain_pause_by_systemcontroller Unexecuted instantiation: op_model_ppro.c:domain_pause_by_systemcontroller Unexecuted instantiation: nmi_int.c:domain_pause_by_systemcontroller Unexecuted instantiation: nested_ept.c:domain_pause_by_systemcontroller Unexecuted instantiation: nested_hap.c:domain_pause_by_systemcontroller Unexecuted instantiation: hap.c:domain_pause_by_systemcontroller Unexecuted instantiation: multi.c:domain_pause_by_systemcontroller Unexecuted instantiation: mem_sharing.c:domain_pause_by_systemcontroller Unexecuted instantiation: mem_paging.c:domain_pause_by_systemcontroller Unexecuted instantiation: guest_walk.c:domain_pause_by_systemcontroller Unexecuted instantiation: altp2m.c:domain_pause_by_systemcontroller Unexecuted instantiation: p2m-pod.c:domain_pause_by_systemcontroller Unexecuted instantiation: p2m-ept.c:domain_pause_by_systemcontroller Unexecuted instantiation: p2m-pt.c:domain_pause_by_systemcontroller Unexecuted instantiation: p2m.c:domain_pause_by_systemcontroller Unexecuted instantiation: paging.c:domain_pause_by_systemcontroller Unexecuted instantiation: vvmx.c:domain_pause_by_systemcontroller Unexecuted instantiation: vmx.c:domain_pause_by_systemcontroller Unexecuted instantiation: vmcs.c:domain_pause_by_systemcontroller Unexecuted instantiation: realmode.c:domain_pause_by_systemcontroller Unexecuted instantiation: vmcb.c:domain_pause_by_systemcontroller Unexecuted instantiation: svmdebug.c:domain_pause_by_systemcontroller Unexecuted instantiation: svm.c:domain_pause_by_systemcontroller Unexecuted instantiation: nestedsvm.c:domain_pause_by_systemcontroller Unexecuted instantiation: intr.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpt.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpic.c:domain_pause_by_systemcontroller Unexecuted instantiation: vmsi.c:domain_pause_by_systemcontroller Unexecuted instantiation: vlapic.c:domain_pause_by_systemcontroller Unexecuted instantiation: viridian.c:domain_pause_by_systemcontroller Unexecuted instantiation: vioapic.c:domain_pause_by_systemcontroller Unexecuted instantiation: stdvga.c:domain_pause_by_systemcontroller Unexecuted instantiation: save.c:domain_pause_by_systemcontroller Unexecuted instantiation: rtc.c:domain_pause_by_systemcontroller Unexecuted instantiation: pmtimer.c:domain_pause_by_systemcontroller Unexecuted instantiation: nestedhvm.c:domain_pause_by_systemcontroller Unexecuted instantiation: mtrr.c:domain_pause_by_systemcontroller Unexecuted instantiation: ioreq.c:domain_pause_by_systemcontroller Unexecuted instantiation: intercept.c:domain_pause_by_systemcontroller Unexecuted instantiation: i8254.c:domain_pause_by_systemcontroller Unexecuted instantiation: hvm.c:domain_pause_by_systemcontroller Unexecuted instantiation: hpet.c:domain_pause_by_systemcontroller Unexecuted instantiation: emulate.c:domain_pause_by_systemcontroller Unexecuted instantiation: dm.c:domain_pause_by_systemcontroller Unexecuted instantiation: asid.c:domain_pause_by_systemcontroller Unexecuted instantiation: delivery.c:domain_pause_by_systemcontroller Unexecuted instantiation: vmce.c:domain_pause_by_systemcontroller Unexecuted instantiation: util.c:domain_pause_by_systemcontroller Unexecuted instantiation: non-fatal.c:domain_pause_by_systemcontroller Unexecuted instantiation: mce_intel.c:domain_pause_by_systemcontroller Unexecuted instantiation: mce-apei.c:domain_pause_by_systemcontroller Unexecuted instantiation: mce.c:domain_pause_by_systemcontroller Unexecuted instantiation: mctelem.c:domain_pause_by_systemcontroller Unexecuted instantiation: barrier.c:domain_pause_by_systemcontroller Unexecuted instantiation: mcaction.c:domain_pause_by_systemcontroller Unexecuted instantiation: mce_amd.c:domain_pause_by_systemcontroller Unexecuted instantiation: amd_nonfatal.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpmu_intel.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpmu_amd.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpmu.c:domain_pause_by_systemcontroller Unexecuted instantiation: mwait-idle.c:domain_pause_by_systemcontroller Unexecuted instantiation: intel.c:domain_pause_by_systemcontroller Unexecuted instantiation: common.c:domain_pause_by_systemcontroller Unexecuted instantiation: amd.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpu_idle.c:domain_pause_by_systemcontroller Unexecuted instantiation: suspend.c:domain_pause_by_systemcontroller Unexecuted instantiation: power.c:domain_pause_by_systemcontroller Unexecuted instantiation: xstate.c:domain_pause_by_systemcontroller Unexecuted instantiation: tboot.c:domain_pause_by_systemcontroller Unexecuted instantiation: x86_emulate.c:domain_pause_by_systemcontroller Unexecuted instantiation: usercopy.c:domain_pause_by_systemcontroller Unexecuted instantiation: traps.c:domain_pause_by_systemcontroller Unexecuted instantiation: smpboot.c:domain_pause_by_systemcontroller Unexecuted instantiation: smp.c:domain_pause_by_systemcontroller Unexecuted instantiation: setup.c:domain_pause_by_systemcontroller Unexecuted instantiation: psr.c:domain_pause_by_systemcontroller Unexecuted instantiation: platform_hypercall.c:domain_pause_by_systemcontroller Unexecuted instantiation: physdev.c:domain_pause_by_systemcontroller Unexecuted instantiation: numa.c:domain_pause_by_systemcontroller Unexecuted instantiation: nmi.c:domain_pause_by_systemcontroller Unexecuted instantiation: mpparse.c:domain_pause_by_systemcontroller Unexecuted instantiation: mm.c:domain_pause_by_systemcontroller Unexecuted instantiation: microcode.c:domain_pause_by_systemcontroller Unexecuted instantiation: microcode_intel.c:domain_pause_by_systemcontroller Unexecuted instantiation: microcode_amd.c:domain_pause_by_systemcontroller Unexecuted instantiation: machine_kexec.c:domain_pause_by_systemcontroller Unexecuted instantiation: irq.c:domain_pause_by_systemcontroller Unexecuted instantiation: ioport_emulate.c:domain_pause_by_systemcontroller Unexecuted instantiation: msr.c:domain_pause_by_systemcontroller Unexecuted instantiation: io_apic.c:domain_pause_by_systemcontroller Unexecuted instantiation: i8259.c:domain_pause_by_systemcontroller Unexecuted instantiation: i387.c:domain_pause_by_systemcontroller Unexecuted instantiation: hypercall.c:domain_pause_by_systemcontroller Unexecuted instantiation: flushtlb.c:domain_pause_by_systemcontroller Unexecuted instantiation: domain_page.c:domain_pause_by_systemcontroller Unexecuted instantiation: debug.c:domain_pause_by_systemcontroller Unexecuted instantiation: crash.c:domain_pause_by_systemcontroller Unexecuted instantiation: compat.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpuid.c:domain_pause_by_systemcontroller Unexecuted instantiation: apic.c:domain_pause_by_systemcontroller Unexecuted instantiation: xsm_core.c:domain_pause_by_systemcontroller Unexecuted instantiation: pmstat.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu_guest.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu_cmd.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu_intr.c:domain_pause_by_systemcontroller Unexecuted instantiation: pci_amd_iommu.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu_map.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu_init.c:domain_pause_by_systemcontroller Unexecuted instantiation: ats.c:domain_pause_by_systemcontroller Unexecuted instantiation: vtd.c:domain_pause_by_systemcontroller Unexecuted instantiation: quirks.c:domain_pause_by_systemcontroller Unexecuted instantiation: intremap.c:domain_pause_by_systemcontroller Unexecuted instantiation: qinval.c:domain_pause_by_systemcontroller Unexecuted instantiation: utils.c:domain_pause_by_systemcontroller Unexecuted instantiation: pci.c:domain_pause_by_systemcontroller Unexecuted instantiation: io.c:domain_pause_by_systemcontroller Unexecuted instantiation: iommu.c:domain_pause_by_systemcontroller Unexecuted instantiation: msix.c:domain_pause_by_systemcontroller Unexecuted instantiation: msi.c:domain_pause_by_systemcontroller Unexecuted instantiation: header.c:domain_pause_by_systemcontroller Unexecuted instantiation: vpci.c:domain_pause_by_systemcontroller Unexecuted instantiation: utility.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpufreq_misc_governors.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpufreq_ondemand.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpufreq.c:domain_pause_by_systemcontroller Unexecuted instantiation: ns16550.c:domain_pause_by_systemcontroller Unexecuted instantiation: console.c:domain_pause_by_systemcontroller Unexecuted instantiation: libelf-loader.c:domain_pause_by_systemcontroller Unexecuted instantiation: llvm.c:domain_pause_by_systemcontroller Unexecuted instantiation: tmem_control.c:domain_pause_by_systemcontroller Unexecuted instantiation: tmem_xen.c:domain_pause_by_systemcontroller Unexecuted instantiation: tmem.c:domain_pause_by_systemcontroller Unexecuted instantiation: xenoprof.c:domain_pause_by_systemcontroller Unexecuted instantiation: wait.c:domain_pause_by_systemcontroller Unexecuted instantiation: vsprintf.c:domain_pause_by_systemcontroller Unexecuted instantiation: vm_event.c:domain_pause_by_systemcontroller Unexecuted instantiation: trace.c:domain_pause_by_systemcontroller Unexecuted instantiation: timer.c:domain_pause_by_systemcontroller Unexecuted instantiation: time.c:domain_pause_by_systemcontroller Unexecuted instantiation: tasklet.c:domain_pause_by_systemcontroller Unexecuted instantiation: sysctl.c:domain_pause_by_systemcontroller Unexecuted instantiation: symbols.c:domain_pause_by_systemcontroller Unexecuted instantiation: stop_machine.c:domain_pause_by_systemcontroller Unexecuted instantiation: spinlock.c:domain_pause_by_systemcontroller Unexecuted instantiation: softirq.c:domain_pause_by_systemcontroller Unexecuted instantiation: shutdown.c:domain_pause_by_systemcontroller Unexecuted instantiation: schedule.c:domain_pause_by_systemcontroller Unexecuted instantiation: sched_null.c:domain_pause_by_systemcontroller Unexecuted instantiation: sched_rt.c:domain_pause_by_systemcontroller Unexecuted instantiation: sched_credit2.c:domain_pause_by_systemcontroller Unexecuted instantiation: sched_credit.c:domain_pause_by_systemcontroller Unexecuted instantiation: sched_arinc653.c:domain_pause_by_systemcontroller Unexecuted instantiation: rcupdate.c:domain_pause_by_systemcontroller Unexecuted instantiation: rangeset.c:domain_pause_by_systemcontroller Unexecuted instantiation: page_alloc.c:domain_pause_by_systemcontroller Unexecuted instantiation: multicall.c:domain_pause_by_systemcontroller Unexecuted instantiation: monitor.c:domain_pause_by_systemcontroller Unexecuted instantiation: memory.c:domain_pause_by_systemcontroller Unexecuted instantiation: mem_access.c:domain_pause_by_systemcontroller Unexecuted instantiation: kimage.c:domain_pause_by_systemcontroller Unexecuted instantiation: kexec.c:domain_pause_by_systemcontroller Unexecuted instantiation: keyhandler.c:domain_pause_by_systemcontroller Unexecuted instantiation: kernel.c:domain_pause_by_systemcontroller Unexecuted instantiation: guestcopy.c:domain_pause_by_systemcontroller Unexecuted instantiation: grant_table.c:domain_pause_by_systemcontroller Unexecuted instantiation: event_fifo.c:domain_pause_by_systemcontroller Unexecuted instantiation: event_channel.c:domain_pause_by_systemcontroller Unexecuted instantiation: event_2l.c:domain_pause_by_systemcontroller Unexecuted instantiation: domain.c:domain_pause_by_systemcontroller Unexecuted instantiation: domctl.c:domain_pause_by_systemcontroller Unexecuted instantiation: cpupool.c:domain_pause_by_systemcontroller |
830 | | static inline int domain_pause_by_systemcontroller_nosync(struct domain *d) |
831 | 0 | { |
832 | 0 | return __domain_pause_by_systemcontroller(d, domain_pause_nosync); |
833 | 0 | } Unexecuted instantiation: cpu.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: ro-page-fault.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: misc-hypercalls.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iret.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: emul-priv-op.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: emul-inv-op.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: emul-gate-op.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: descriptor-tables.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: callback.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: backtrace.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: op_model_athlon.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: op_model_ppro.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nmi_int.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nested_ept.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nested_hap.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: hap.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: multi.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mem_sharing.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mem_paging.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: guest_walk.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: altp2m.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: p2m-pod.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: p2m-ept.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: p2m-pt.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: p2m.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: paging.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vvmx.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vmx.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vmcs.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: realmode.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vmcb.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: svmdebug.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: svm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nestedsvm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: intr.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpt.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpic.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vmsi.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vlapic.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: viridian.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vioapic.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: stdvga.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: save.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: rtc.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: pmtimer.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nestedhvm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mtrr.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: ioreq.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: intercept.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: i8254.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: hvm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: hpet.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: emulate.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: dm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: asid.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: delivery.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vmce.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: util.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: non-fatal.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mce_intel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mce-apei.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mce.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mctelem.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: barrier.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mcaction.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mce_amd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: amd_nonfatal.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpmu_intel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpmu_amd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpmu.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mwait-idle.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: intel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: common.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: amd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpu_idle.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: suspend.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: power.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: xstate.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: tboot.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: x86_emulate.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: usercopy.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: traps.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: smpboot.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: smp.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: setup.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: psr.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: platform_hypercall.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: physdev.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: numa.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: nmi.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mpparse.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: microcode.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: microcode_intel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: microcode_amd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: machine_kexec.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: irq.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: ioport_emulate.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: msr.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: io_apic.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: i8259.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: i387.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: hypercall.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: flushtlb.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: domain_page.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: debug.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: crash.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: compat.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpuid.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: apic.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: xsm_core.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: pmstat.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu_guest.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu_cmd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu_intr.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: pci_amd_iommu.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu_map.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu_init.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: ats.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vtd.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: quirks.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: intremap.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: qinval.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: utils.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: pci.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: io.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: iommu.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: msix.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: msi.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: header.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vpci.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: utility.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpufreq_misc_governors.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpufreq_ondemand.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpufreq.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: ns16550.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: console.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: libelf-loader.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: llvm.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: tmem_control.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: tmem_xen.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: tmem.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: xenoprof.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: wait.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vsprintf.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: vm_event.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: trace.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: timer.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: time.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: tasklet.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sysctl.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: symbols.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: stop_machine.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: spinlock.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: softirq.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: shutdown.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: schedule.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sched_null.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sched_rt.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sched_credit2.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sched_credit.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: sched_arinc653.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: rcupdate.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: rangeset.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: page_alloc.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: multicall.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: monitor.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: memory.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: mem_access.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: kimage.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: kexec.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: keyhandler.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: kernel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: guestcopy.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: grant_table.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: event_fifo.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: event_channel.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: event_2l.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: domain.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: domctl.c:domain_pause_by_systemcontroller_nosync Unexecuted instantiation: cpupool.c:domain_pause_by_systemcontroller_nosync |
834 | | |
835 | | /* domain_pause() but safe against trying to pause current. */ |
836 | | void domain_pause_except_self(struct domain *d); |
837 | | void domain_unpause_except_self(struct domain *d); |
838 | | |
839 | | void cpu_init(void); |
840 | | |
841 | | struct scheduler; |
842 | | |
843 | | struct scheduler *scheduler_get_default(void); |
844 | | struct scheduler *scheduler_alloc(unsigned int sched_id, int *perr); |
845 | | void scheduler_free(struct scheduler *sched); |
846 | | int schedule_cpu_switch(unsigned int cpu, struct cpupool *c); |
847 | | void vcpu_force_reschedule(struct vcpu *v); |
848 | | int cpu_disable_scheduler(unsigned int cpu); |
849 | | int vcpu_set_hard_affinity(struct vcpu *v, const cpumask_t *affinity); |
850 | | int vcpu_set_soft_affinity(struct vcpu *v, const cpumask_t *affinity); |
851 | | void restore_vcpu_affinity(struct domain *d); |
852 | | int vcpu_pin_override(struct vcpu *v, int cpu); |
853 | | |
854 | | void vcpu_runstate_get(struct vcpu *v, struct vcpu_runstate_info *runstate); |
855 | | uint64_t get_cpu_idle_time(unsigned int cpu); |
856 | | |
857 | | /* |
858 | | * Used by idle loop to decide whether there is work to do: |
859 | | * (1) Deal with RCU; (2) or run softirqs; or (3) Play dead; |
860 | | * or (4) Run tasklets. |
861 | | * |
862 | | * About (3), if a tasklet is enqueued, it will be scheduled |
863 | | * really really soon, and hence it's pointless to try to |
864 | | * sleep between these two events (that's why we don't call |
865 | | * the tasklet_work_to_do() helper). |
866 | | */ |
867 | | #define cpu_is_haltable(cpu) \ |
868 | 4.20M | (!rcu_needs_cpu(cpu) && \ |
869 | 3.89M | !softirq_pending(cpu) && \ |
870 | 4.20M | cpu_online(cpu) && \ |
871 | 3.91M | !per_cpu(tasklet_work_to_do, cpu)) |
872 | | |
873 | | void watchdog_domain_init(struct domain *d); |
874 | | void watchdog_domain_destroy(struct domain *d); |
875 | | |
876 | | /* |
877 | | * Use this check when the following are both true: |
878 | | * - Using this feature or interface requires full access to the hardware |
879 | | * (that is, this would not be suitable for a driver domain) |
880 | | * - There is never a reason to deny the hardware domain access to this |
881 | | */ |
882 | 128k | #define is_hardware_domain(_d) ((_d) == hardware_domain) |
883 | | |
884 | | /* This check is for functionality specific to a control domain */ |
885 | 37.0k | #define is_control_domain(_d) ((_d)->is_privileged) |
886 | | |
887 | 128 | #define VM_ASSIST(d, t) (test_bit(VMASST_TYPE_ ## t, &(d)->vm_assist)) |
888 | | |
889 | 89.5M | #define is_pv_domain(d) ((d)->guest_type == guest_type_pv) |
890 | 89.4M | #define is_pv_vcpu(v) (is_pv_domain((v)->domain)) |
891 | 15.7M | #define is_hvm_domain(d) ((d)->guest_type == guest_type_hvm) |
892 | 10.6M | #define is_hvm_vcpu(v) (is_hvm_domain(v->domain)) |
893 | 0 | #define is_pinned_vcpu(v) ((v)->domain->is_pinned || \ |
894 | 0 | cpumask_weight((v)->cpu_hard_affinity) == 1) |
895 | | #ifdef CONFIG_HAS_PASSTHROUGH |
896 | 3.07M | #define need_iommu(d) ((d)->need_iommu) |
897 | | #else |
898 | | #define need_iommu(d) (0) |
899 | | #endif |
900 | | |
901 | | static inline bool is_vcpu_online(const struct vcpu *v) |
902 | 0 | { |
903 | 0 | return !test_bit(_VPF_down, &v->pause_flags); |
904 | 0 | } Unexecuted instantiation: ro-page-fault.c:is_vcpu_online Unexecuted instantiation: cpupool.c:is_vcpu_online Unexecuted instantiation: domctl.c:is_vcpu_online Unexecuted instantiation: domain.c:is_vcpu_online Unexecuted instantiation: event_2l.c:is_vcpu_online Unexecuted instantiation: event_channel.c:is_vcpu_online Unexecuted instantiation: event_fifo.c:is_vcpu_online Unexecuted instantiation: grant_table.c:is_vcpu_online Unexecuted instantiation: guestcopy.c:is_vcpu_online Unexecuted instantiation: kernel.c:is_vcpu_online Unexecuted instantiation: keyhandler.c:is_vcpu_online Unexecuted instantiation: kexec.c:is_vcpu_online Unexecuted instantiation: kimage.c:is_vcpu_online Unexecuted instantiation: mem_access.c:is_vcpu_online Unexecuted instantiation: memory.c:is_vcpu_online Unexecuted instantiation: monitor.c:is_vcpu_online Unexecuted instantiation: multicall.c:is_vcpu_online Unexecuted instantiation: page_alloc.c:is_vcpu_online Unexecuted instantiation: rangeset.c:is_vcpu_online Unexecuted instantiation: rcupdate.c:is_vcpu_online Unexecuted instantiation: sched_arinc653.c:is_vcpu_online Unexecuted instantiation: sched_credit.c:is_vcpu_online Unexecuted instantiation: sched_credit2.c:is_vcpu_online Unexecuted instantiation: sched_rt.c:is_vcpu_online Unexecuted instantiation: sched_null.c:is_vcpu_online Unexecuted instantiation: schedule.c:is_vcpu_online Unexecuted instantiation: shutdown.c:is_vcpu_online Unexecuted instantiation: softirq.c:is_vcpu_online Unexecuted instantiation: spinlock.c:is_vcpu_online Unexecuted instantiation: stop_machine.c:is_vcpu_online Unexecuted instantiation: symbols.c:is_vcpu_online Unexecuted instantiation: sysctl.c:is_vcpu_online Unexecuted instantiation: tasklet.c:is_vcpu_online Unexecuted instantiation: time.c:is_vcpu_online Unexecuted instantiation: timer.c:is_vcpu_online Unexecuted instantiation: trace.c:is_vcpu_online Unexecuted instantiation: vm_event.c:is_vcpu_online Unexecuted instantiation: vsprintf.c:is_vcpu_online Unexecuted instantiation: wait.c:is_vcpu_online Unexecuted instantiation: xenoprof.c:is_vcpu_online Unexecuted instantiation: tmem.c:is_vcpu_online Unexecuted instantiation: tmem_xen.c:is_vcpu_online Unexecuted instantiation: tmem_control.c:is_vcpu_online Unexecuted instantiation: llvm.c:is_vcpu_online Unexecuted instantiation: libelf-loader.c:is_vcpu_online Unexecuted instantiation: console.c:is_vcpu_online Unexecuted instantiation: ns16550.c:is_vcpu_online Unexecuted instantiation: cpufreq.c:is_vcpu_online Unexecuted instantiation: cpufreq_ondemand.c:is_vcpu_online Unexecuted instantiation: cpufreq_misc_governors.c:is_vcpu_online Unexecuted instantiation: utility.c:is_vcpu_online Unexecuted instantiation: vpci.c:is_vcpu_online Unexecuted instantiation: header.c:is_vcpu_online Unexecuted instantiation: msi.c:is_vcpu_online Unexecuted instantiation: msix.c:is_vcpu_online Unexecuted instantiation: iommu.c:is_vcpu_online Unexecuted instantiation: io.c:is_vcpu_online Unexecuted instantiation: pci.c:is_vcpu_online Unexecuted instantiation: utils.c:is_vcpu_online Unexecuted instantiation: qinval.c:is_vcpu_online Unexecuted instantiation: intremap.c:is_vcpu_online Unexecuted instantiation: quirks.c:is_vcpu_online Unexecuted instantiation: vtd.c:is_vcpu_online Unexecuted instantiation: ats.c:is_vcpu_online Unexecuted instantiation: iommu_init.c:is_vcpu_online Unexecuted instantiation: iommu_map.c:is_vcpu_online Unexecuted instantiation: pci_amd_iommu.c:is_vcpu_online Unexecuted instantiation: iommu_intr.c:is_vcpu_online Unexecuted instantiation: iommu_cmd.c:is_vcpu_online Unexecuted instantiation: iommu_guest.c:is_vcpu_online Unexecuted instantiation: pmstat.c:is_vcpu_online Unexecuted instantiation: xsm_core.c:is_vcpu_online Unexecuted instantiation: apic.c:is_vcpu_online Unexecuted instantiation: cpuid.c:is_vcpu_online Unexecuted instantiation: compat.c:is_vcpu_online Unexecuted instantiation: crash.c:is_vcpu_online Unexecuted instantiation: debug.c:is_vcpu_online Unexecuted instantiation: domain_page.c:is_vcpu_online Unexecuted instantiation: flushtlb.c:is_vcpu_online Unexecuted instantiation: hypercall.c:is_vcpu_online Unexecuted instantiation: i387.c:is_vcpu_online Unexecuted instantiation: i8259.c:is_vcpu_online Unexecuted instantiation: io_apic.c:is_vcpu_online Unexecuted instantiation: msr.c:is_vcpu_online Unexecuted instantiation: ioport_emulate.c:is_vcpu_online Unexecuted instantiation: irq.c:is_vcpu_online Unexecuted instantiation: machine_kexec.c:is_vcpu_online Unexecuted instantiation: microcode_amd.c:is_vcpu_online Unexecuted instantiation: microcode_intel.c:is_vcpu_online Unexecuted instantiation: microcode.c:is_vcpu_online Unexecuted instantiation: mm.c:is_vcpu_online Unexecuted instantiation: mpparse.c:is_vcpu_online Unexecuted instantiation: nmi.c:is_vcpu_online Unexecuted instantiation: numa.c:is_vcpu_online Unexecuted instantiation: physdev.c:is_vcpu_online Unexecuted instantiation: platform_hypercall.c:is_vcpu_online Unexecuted instantiation: psr.c:is_vcpu_online Unexecuted instantiation: setup.c:is_vcpu_online Unexecuted instantiation: smp.c:is_vcpu_online Unexecuted instantiation: smpboot.c:is_vcpu_online Unexecuted instantiation: traps.c:is_vcpu_online Unexecuted instantiation: usercopy.c:is_vcpu_online Unexecuted instantiation: x86_emulate.c:is_vcpu_online Unexecuted instantiation: tboot.c:is_vcpu_online Unexecuted instantiation: xstate.c:is_vcpu_online Unexecuted instantiation: power.c:is_vcpu_online Unexecuted instantiation: suspend.c:is_vcpu_online Unexecuted instantiation: cpu_idle.c:is_vcpu_online Unexecuted instantiation: amd.c:is_vcpu_online Unexecuted instantiation: common.c:is_vcpu_online Unexecuted instantiation: intel.c:is_vcpu_online Unexecuted instantiation: mwait-idle.c:is_vcpu_online Unexecuted instantiation: vpmu.c:is_vcpu_online Unexecuted instantiation: vpmu_amd.c:is_vcpu_online Unexecuted instantiation: vpmu_intel.c:is_vcpu_online Unexecuted instantiation: amd_nonfatal.c:is_vcpu_online Unexecuted instantiation: mce_amd.c:is_vcpu_online Unexecuted instantiation: mcaction.c:is_vcpu_online Unexecuted instantiation: barrier.c:is_vcpu_online Unexecuted instantiation: mctelem.c:is_vcpu_online Unexecuted instantiation: mce.c:is_vcpu_online Unexecuted instantiation: mce-apei.c:is_vcpu_online Unexecuted instantiation: mce_intel.c:is_vcpu_online Unexecuted instantiation: non-fatal.c:is_vcpu_online Unexecuted instantiation: util.c:is_vcpu_online Unexecuted instantiation: vmce.c:is_vcpu_online Unexecuted instantiation: delivery.c:is_vcpu_online Unexecuted instantiation: asid.c:is_vcpu_online Unexecuted instantiation: dm.c:is_vcpu_online Unexecuted instantiation: emulate.c:is_vcpu_online Unexecuted instantiation: hpet.c:is_vcpu_online Unexecuted instantiation: hvm.c:is_vcpu_online Unexecuted instantiation: i8254.c:is_vcpu_online Unexecuted instantiation: intercept.c:is_vcpu_online Unexecuted instantiation: ioreq.c:is_vcpu_online Unexecuted instantiation: mtrr.c:is_vcpu_online Unexecuted instantiation: nestedhvm.c:is_vcpu_online Unexecuted instantiation: pmtimer.c:is_vcpu_online Unexecuted instantiation: rtc.c:is_vcpu_online Unexecuted instantiation: save.c:is_vcpu_online Unexecuted instantiation: stdvga.c:is_vcpu_online Unexecuted instantiation: vioapic.c:is_vcpu_online Unexecuted instantiation: viridian.c:is_vcpu_online Unexecuted instantiation: vlapic.c:is_vcpu_online Unexecuted instantiation: vmsi.c:is_vcpu_online Unexecuted instantiation: vpic.c:is_vcpu_online Unexecuted instantiation: vpt.c:is_vcpu_online Unexecuted instantiation: intr.c:is_vcpu_online Unexecuted instantiation: nestedsvm.c:is_vcpu_online Unexecuted instantiation: svm.c:is_vcpu_online Unexecuted instantiation: svmdebug.c:is_vcpu_online Unexecuted instantiation: vmcb.c:is_vcpu_online Unexecuted instantiation: realmode.c:is_vcpu_online Unexecuted instantiation: vmcs.c:is_vcpu_online Unexecuted instantiation: vmx.c:is_vcpu_online Unexecuted instantiation: vvmx.c:is_vcpu_online Unexecuted instantiation: paging.c:is_vcpu_online Unexecuted instantiation: p2m.c:is_vcpu_online Unexecuted instantiation: p2m-pt.c:is_vcpu_online Unexecuted instantiation: p2m-ept.c:is_vcpu_online Unexecuted instantiation: p2m-pod.c:is_vcpu_online Unexecuted instantiation: altp2m.c:is_vcpu_online Unexecuted instantiation: guest_walk.c:is_vcpu_online Unexecuted instantiation: mem_paging.c:is_vcpu_online Unexecuted instantiation: mem_sharing.c:is_vcpu_online Unexecuted instantiation: multi.c:is_vcpu_online Unexecuted instantiation: hap.c:is_vcpu_online Unexecuted instantiation: nested_hap.c:is_vcpu_online Unexecuted instantiation: nested_ept.c:is_vcpu_online Unexecuted instantiation: nmi_int.c:is_vcpu_online Unexecuted instantiation: op_model_ppro.c:is_vcpu_online Unexecuted instantiation: op_model_athlon.c:is_vcpu_online Unexecuted instantiation: backtrace.c:is_vcpu_online Unexecuted instantiation: callback.c:is_vcpu_online Unexecuted instantiation: descriptor-tables.c:is_vcpu_online Unexecuted instantiation: emul-gate-op.c:is_vcpu_online Unexecuted instantiation: emul-inv-op.c:is_vcpu_online Unexecuted instantiation: emul-priv-op.c:is_vcpu_online Unexecuted instantiation: iret.c:is_vcpu_online Unexecuted instantiation: misc-hypercalls.c:is_vcpu_online Unexecuted instantiation: cpu.c:is_vcpu_online |
905 | | |
906 | | void set_vcpu_migration_delay(unsigned int delay); |
907 | | unsigned int get_vcpu_migration_delay(void); |
908 | | |
909 | | extern bool sched_smt_power_savings; |
910 | | |
911 | | extern enum cpufreq_controller { |
912 | | FREQCTL_none, FREQCTL_dom0_kernel, FREQCTL_xen |
913 | | } cpufreq_controller; |
914 | | |
915 | 12 | #define CPUPOOLID_NONE -1 |
916 | | |
917 | | struct cpupool *cpupool_get_by_id(int poolid); |
918 | | void cpupool_put(struct cpupool *pool); |
919 | | int cpupool_add_domain(struct domain *d, int poolid); |
920 | | void cpupool_rm_domain(struct domain *d); |
921 | | int cpupool_move_domain(struct domain *d, struct cpupool *c); |
922 | | int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op); |
923 | | void schedule_dump(struct cpupool *c); |
924 | | extern void dump_runq(unsigned char key); |
925 | | |
926 | | void arch_do_physinfo(struct xen_sysctl_physinfo *pi); |
927 | | |
928 | | #endif /* __SCHED_H__ */ |
929 | | |
930 | | /* |
931 | | * Local variables: |
932 | | * mode: C |
933 | | * c-file-style: "BSD" |
934 | | * c-basic-offset: 4 |
935 | | * tab-width: 4 |
936 | | * indent-tabs-mode: nil |
937 | | * End: |
938 | | */ |