Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/xen/radix-tree.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (C) 2001 Momchil Velikov
3
 * Portions Copyright (C) 2001 Christoph Hellwig
4
 * Copyright (C) 2006 Nick Piggin
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License as
8
 * published by the Free Software Foundation; either version 2, or (at
9
 * your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful, but
12
 * WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; If not, see <http://www.gnu.org/licenses/>.
18
 */
19
#ifndef _XEN_RADIX_TREE_H
20
#define _XEN_RADIX_TREE_H
21
22
#include <xen/types.h>
23
#include <xen/lib.h>
24
#include <xen/rcupdate.h>
25
26
/*
27
 * An indirect pointer (root->rnode pointing to a radix_tree_node, rather
28
 * than a data item) is signalled by the low bit set in the root->rnode
29
 * pointer.
30
 *
31
 * In this case root->height is > 0, but the indirect pointer tests are
32
 * needed for RCU lookups (because root->height is unreliable). The only
33
 * time callers need worry about this is when doing a lookup_slot under
34
 * RCU.
35
 *
36
 * Indirect pointer in fact is also used to tag the last pointer of a node
37
 * when it is shrunk, before we rcu free the node. See shrink code for
38
 * details.
39
 */
40
309k
#define RADIX_TREE_INDIRECT_PTR 1
41
42
static inline int radix_tree_is_indirect_ptr(void *ptr)
43
273k
{
44
273k
  return (int)((unsigned long)ptr & RADIX_TREE_INDIRECT_PTR);
45
273k
}
Unexecuted instantiation: mm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: ro-page-fault.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: misc-hypercalls.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iret.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: emul-priv-op.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: emul-inv-op.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: emul-gate-op.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: descriptor-tables.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: callback.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: backtrace.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: op_model_athlon.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: op_model_ppro.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nmi_int.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nested_ept.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nested_hap.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: hap.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: multi.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mem_sharing.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mem_paging.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: guest_walk.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: altp2m.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: p2m-pod.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: p2m-ept.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: p2m-pt.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: p2m.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: paging.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vvmx.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vmx.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vmcs.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: realmode.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vmcb.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: svmdebug.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: svm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nestedsvm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: intr.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpt.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpic.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vmsi.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vlapic.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: viridian.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vioapic.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: stdvga.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: save.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: rtc.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: pmtimer.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nestedhvm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mtrr.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: ioreq.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: intercept.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: i8254.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: hvm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: hpet.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: emulate.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: dm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: asid.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: delivery.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vmce.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: util.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: non-fatal.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mce_intel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mce-apei.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mce.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mctelem.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: barrier.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mcaction.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mce_amd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: amd_nonfatal.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpmu_intel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpmu_amd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpmu.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mwait-idle.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: intel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: common.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: amd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpu_idle.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: suspend.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: power.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: xstate.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: tboot.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: x86_emulate.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: usercopy.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: traps.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: smpboot.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: smp.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: setup.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: psr.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: platform_hypercall.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: physdev.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: numa.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: nmi.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mpparse.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: microcode.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: microcode_intel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: microcode_amd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: machine_kexec.c:radix_tree_is_indirect_ptr
irq.c:radix_tree_is_indirect_ptr
Line
Count
Source
43
48
{
44
48
  return (int)((unsigned long)ptr & RADIX_TREE_INDIRECT_PTR);
45
48
}
Unexecuted instantiation: ioport_emulate.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: msr.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: io_apic.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: i8259.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: i387.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: hypercall.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: flushtlb.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: domain_page.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: debug.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: crash.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: compat.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpuid.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: apic.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: xsm_core.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: pmstat.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu_guest.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu_cmd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu_intr.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu_map.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu_init.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: ats.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vtd.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: quirks.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: intremap.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: qinval.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: utils.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: pci.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: io.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: iommu.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: msix.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: msi.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: header.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vpci.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: utility.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpufreq.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: ns16550.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: console.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: libelf-loader.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: llvm.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: tmem_control.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: tmem_xen.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: tmem.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: xenoprof.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: wait.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vsprintf.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: vm_event.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: trace.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: timer.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: time.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: tasklet.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sysctl.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: symbols.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: stop_machine.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: spinlock.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: softirq.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: shutdown.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: schedule.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sched_null.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sched_rt.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sched_credit2.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sched_credit.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: sched_arinc653.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: rcupdate.c:radix_tree_is_indirect_ptr
radix-tree.c:radix_tree_is_indirect_ptr
Line
Count
Source
43
273k
{
44
273k
  return (int)((unsigned long)ptr & RADIX_TREE_INDIRECT_PTR);
45
273k
}
Unexecuted instantiation: rangeset.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: page_alloc.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: multicall.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: monitor.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: memory.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: mem_access.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: kimage.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: kexec.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: keyhandler.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: kernel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: guestcopy.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: grant_table.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: event_fifo.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: event_channel.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: event_2l.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: domain.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: domctl.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpupool.c:radix_tree_is_indirect_ptr
Unexecuted instantiation: cpu.c:radix_tree_is_indirect_ptr
46
47
/*
48
 *** Radix tree structure definitions.
49
 *** These are public to allow users to allocate instances of them.
50
 *** However all fields are absolutely private.
51
 */
52
53
89.7k
#define RADIX_TREE_MAP_SHIFT  6
54
36.0k
#define RADIX_TREE_MAP_SIZE (1UL << RADIX_TREE_MAP_SHIFT)
55
36.0k
#define RADIX_TREE_MAP_MASK (RADIX_TREE_MAP_SIZE-1)
56
57
struct radix_tree_node {
58
  unsigned int  height;   /* Height from the bottom */
59
  unsigned int  count;
60
  void __rcu  *slots[RADIX_TREE_MAP_SIZE];
61
};
62
63
typedef struct radix_tree_node *radix_tree_alloc_fn_t(void *);
64
typedef void radix_tree_free_fn_t(struct radix_tree_node *, void *);
65
66
struct radix_tree_root {
67
  unsigned int    height;
68
  struct radix_tree_node  __rcu *rnode;
69
70
  /* Allow to specify custom node alloc/dealloc routines. */
71
  radix_tree_alloc_fn_t *node_alloc;
72
  radix_tree_free_fn_t *node_free;
73
  void *node_alloc_free_arg;
74
};
75
76
/*
77
 *** radix-tree API starts here **
78
 */
79
80
void radix_tree_init(struct radix_tree_root *root);
81
void radix_tree_set_alloc_callbacks(
82
  struct radix_tree_root *root,
83
  radix_tree_alloc_fn_t *node_alloc,
84
  radix_tree_free_fn_t *node_free,
85
  void *node_alloc_free_arg);
86
87
void radix_tree_destroy(
88
  struct radix_tree_root *root,
89
  void (*slot_free)(void *));
90
91
/**
92
 * Radix-tree synchronization
93
 *
94
 * The radix-tree API requires that users provide all synchronisation (with
95
 * specific exceptions, noted below).
96
 *
97
 * Synchronization of access to the data items being stored in the tree, and
98
 * management of their lifetimes must be completely managed by API users.
99
 *
100
 * For API usage, in general,
101
 * - any function _modifying_ the tree (inserting or deleting items) must
102
 *   exclude other modifications, and exclude any functions reading the tree.
103
 * - any function _reading_ the tree (looking up items) must exclude
104
 *   modifications to the tree, but may occur concurrently with other readers.
105
 *
106
 * The notable exceptions to this rule are the following functions:
107
 * radix_tree_lookup
108
 * radix_tree_lookup_slot
109
 * radix_tree_gang_lookup
110
 * radix_tree_gang_lookup_slot
111
 *
112
 * The first 7 functions are able to be called locklessly, using RCU. The
113
 * caller must ensure calls to these functions are made within rcu_read_lock()
114
 * regions. Other readers (lock-free or otherwise) and modifications may be
115
 * running concurrently.
116
 *
117
 * It is still required that the caller manage the synchronization and lifetimes
118
 * of the items. So if RCU lock-free lookups are used, typically this would mean
119
 * that the items have their own locks, or are amenable to lock-free access; and
120
 * that the items are freed by RCU (or only freed after having been deleted from
121
 * the radix tree *and* a synchronize_rcu() grace period).
122
 *
123
 * (Note, rcu_assign_pointer and rcu_dereference are not needed to control
124
 * access to data items when inserting into or looking up from the radix tree)
125
 */
126
127
/**
128
 * radix_tree_deref_slot  - dereference a slot
129
 * @pslot:  pointer to slot, returned by radix_tree_lookup_slot
130
 * Returns: item that was stored in that slot with any direct pointer flag
131
 *    removed.
132
 *
133
 * For use with radix_tree_lookup_slot().  Caller must hold tree at least read
134
 * locked across slot lookup and dereference. Not required if write lock is
135
 * held (ie. items cannot be concurrently inserted).
136
 *
137
 * radix_tree_deref_retry must be used to confirm validity of the pointer if
138
 * only the read lock is held.
139
 */
140
static inline void *radix_tree_deref_slot(void **pslot)
141
0
{
142
0
  return rcu_dereference(*pslot);
143
0
}
Unexecuted instantiation: ro-page-fault.c:radix_tree_deref_slot
Unexecuted instantiation: cpu.c:radix_tree_deref_slot
Unexecuted instantiation: misc-hypercalls.c:radix_tree_deref_slot
Unexecuted instantiation: iret.c:radix_tree_deref_slot
Unexecuted instantiation: emul-priv-op.c:radix_tree_deref_slot
Unexecuted instantiation: emul-inv-op.c:radix_tree_deref_slot
Unexecuted instantiation: emul-gate-op.c:radix_tree_deref_slot
Unexecuted instantiation: descriptor-tables.c:radix_tree_deref_slot
Unexecuted instantiation: callback.c:radix_tree_deref_slot
Unexecuted instantiation: backtrace.c:radix_tree_deref_slot
Unexecuted instantiation: op_model_athlon.c:radix_tree_deref_slot
Unexecuted instantiation: op_model_ppro.c:radix_tree_deref_slot
Unexecuted instantiation: nmi_int.c:radix_tree_deref_slot
Unexecuted instantiation: nested_ept.c:radix_tree_deref_slot
Unexecuted instantiation: nested_hap.c:radix_tree_deref_slot
Unexecuted instantiation: hap.c:radix_tree_deref_slot
Unexecuted instantiation: multi.c:radix_tree_deref_slot
Unexecuted instantiation: mem_sharing.c:radix_tree_deref_slot
Unexecuted instantiation: mem_paging.c:radix_tree_deref_slot
Unexecuted instantiation: guest_walk.c:radix_tree_deref_slot
Unexecuted instantiation: altp2m.c:radix_tree_deref_slot
Unexecuted instantiation: p2m-pod.c:radix_tree_deref_slot
Unexecuted instantiation: p2m-ept.c:radix_tree_deref_slot
Unexecuted instantiation: p2m-pt.c:radix_tree_deref_slot
Unexecuted instantiation: p2m.c:radix_tree_deref_slot
Unexecuted instantiation: paging.c:radix_tree_deref_slot
Unexecuted instantiation: vvmx.c:radix_tree_deref_slot
Unexecuted instantiation: vmx.c:radix_tree_deref_slot
Unexecuted instantiation: vmcs.c:radix_tree_deref_slot
Unexecuted instantiation: realmode.c:radix_tree_deref_slot
Unexecuted instantiation: vmcb.c:radix_tree_deref_slot
Unexecuted instantiation: svmdebug.c:radix_tree_deref_slot
Unexecuted instantiation: svm.c:radix_tree_deref_slot
Unexecuted instantiation: nestedsvm.c:radix_tree_deref_slot
Unexecuted instantiation: intr.c:radix_tree_deref_slot
Unexecuted instantiation: vpt.c:radix_tree_deref_slot
Unexecuted instantiation: vpic.c:radix_tree_deref_slot
Unexecuted instantiation: vmsi.c:radix_tree_deref_slot
Unexecuted instantiation: vlapic.c:radix_tree_deref_slot
Unexecuted instantiation: viridian.c:radix_tree_deref_slot
Unexecuted instantiation: vioapic.c:radix_tree_deref_slot
Unexecuted instantiation: stdvga.c:radix_tree_deref_slot
Unexecuted instantiation: save.c:radix_tree_deref_slot
Unexecuted instantiation: rtc.c:radix_tree_deref_slot
Unexecuted instantiation: pmtimer.c:radix_tree_deref_slot
Unexecuted instantiation: nestedhvm.c:radix_tree_deref_slot
Unexecuted instantiation: mtrr.c:radix_tree_deref_slot
Unexecuted instantiation: ioreq.c:radix_tree_deref_slot
Unexecuted instantiation: intercept.c:radix_tree_deref_slot
Unexecuted instantiation: i8254.c:radix_tree_deref_slot
Unexecuted instantiation: hvm.c:radix_tree_deref_slot
Unexecuted instantiation: hpet.c:radix_tree_deref_slot
Unexecuted instantiation: emulate.c:radix_tree_deref_slot
Unexecuted instantiation: dm.c:radix_tree_deref_slot
Unexecuted instantiation: asid.c:radix_tree_deref_slot
Unexecuted instantiation: delivery.c:radix_tree_deref_slot
Unexecuted instantiation: vmce.c:radix_tree_deref_slot
Unexecuted instantiation: util.c:radix_tree_deref_slot
Unexecuted instantiation: non-fatal.c:radix_tree_deref_slot
Unexecuted instantiation: mce_intel.c:radix_tree_deref_slot
Unexecuted instantiation: mce-apei.c:radix_tree_deref_slot
Unexecuted instantiation: mce.c:radix_tree_deref_slot
Unexecuted instantiation: mctelem.c:radix_tree_deref_slot
Unexecuted instantiation: barrier.c:radix_tree_deref_slot
Unexecuted instantiation: mcaction.c:radix_tree_deref_slot
Unexecuted instantiation: mce_amd.c:radix_tree_deref_slot
Unexecuted instantiation: amd_nonfatal.c:radix_tree_deref_slot
Unexecuted instantiation: vpmu_intel.c:radix_tree_deref_slot
Unexecuted instantiation: vpmu_amd.c:radix_tree_deref_slot
Unexecuted instantiation: vpmu.c:radix_tree_deref_slot
Unexecuted instantiation: mwait-idle.c:radix_tree_deref_slot
Unexecuted instantiation: intel.c:radix_tree_deref_slot
Unexecuted instantiation: common.c:radix_tree_deref_slot
Unexecuted instantiation: amd.c:radix_tree_deref_slot
Unexecuted instantiation: cpu_idle.c:radix_tree_deref_slot
Unexecuted instantiation: suspend.c:radix_tree_deref_slot
Unexecuted instantiation: power.c:radix_tree_deref_slot
Unexecuted instantiation: xstate.c:radix_tree_deref_slot
Unexecuted instantiation: tboot.c:radix_tree_deref_slot
Unexecuted instantiation: x86_emulate.c:radix_tree_deref_slot
Unexecuted instantiation: usercopy.c:radix_tree_deref_slot
Unexecuted instantiation: traps.c:radix_tree_deref_slot
Unexecuted instantiation: smpboot.c:radix_tree_deref_slot
Unexecuted instantiation: smp.c:radix_tree_deref_slot
Unexecuted instantiation: setup.c:radix_tree_deref_slot
Unexecuted instantiation: psr.c:radix_tree_deref_slot
Unexecuted instantiation: platform_hypercall.c:radix_tree_deref_slot
Unexecuted instantiation: physdev.c:radix_tree_deref_slot
Unexecuted instantiation: numa.c:radix_tree_deref_slot
Unexecuted instantiation: nmi.c:radix_tree_deref_slot
Unexecuted instantiation: mpparse.c:radix_tree_deref_slot
Unexecuted instantiation: mm.c:radix_tree_deref_slot
Unexecuted instantiation: microcode.c:radix_tree_deref_slot
Unexecuted instantiation: microcode_intel.c:radix_tree_deref_slot
Unexecuted instantiation: microcode_amd.c:radix_tree_deref_slot
Unexecuted instantiation: machine_kexec.c:radix_tree_deref_slot
Unexecuted instantiation: irq.c:radix_tree_deref_slot
Unexecuted instantiation: ioport_emulate.c:radix_tree_deref_slot
Unexecuted instantiation: msr.c:radix_tree_deref_slot
Unexecuted instantiation: io_apic.c:radix_tree_deref_slot
Unexecuted instantiation: i8259.c:radix_tree_deref_slot
Unexecuted instantiation: i387.c:radix_tree_deref_slot
Unexecuted instantiation: hypercall.c:radix_tree_deref_slot
Unexecuted instantiation: flushtlb.c:radix_tree_deref_slot
Unexecuted instantiation: domain_page.c:radix_tree_deref_slot
Unexecuted instantiation: debug.c:radix_tree_deref_slot
Unexecuted instantiation: crash.c:radix_tree_deref_slot
Unexecuted instantiation: compat.c:radix_tree_deref_slot
Unexecuted instantiation: cpuid.c:radix_tree_deref_slot
Unexecuted instantiation: apic.c:radix_tree_deref_slot
Unexecuted instantiation: xsm_core.c:radix_tree_deref_slot
Unexecuted instantiation: pmstat.c:radix_tree_deref_slot
Unexecuted instantiation: iommu_guest.c:radix_tree_deref_slot
Unexecuted instantiation: iommu_cmd.c:radix_tree_deref_slot
Unexecuted instantiation: iommu_intr.c:radix_tree_deref_slot
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_deref_slot
Unexecuted instantiation: iommu_map.c:radix_tree_deref_slot
Unexecuted instantiation: iommu_init.c:radix_tree_deref_slot
Unexecuted instantiation: ats.c:radix_tree_deref_slot
Unexecuted instantiation: vtd.c:radix_tree_deref_slot
Unexecuted instantiation: quirks.c:radix_tree_deref_slot
Unexecuted instantiation: intremap.c:radix_tree_deref_slot
Unexecuted instantiation: qinval.c:radix_tree_deref_slot
Unexecuted instantiation: utils.c:radix_tree_deref_slot
Unexecuted instantiation: pci.c:radix_tree_deref_slot
Unexecuted instantiation: io.c:radix_tree_deref_slot
Unexecuted instantiation: iommu.c:radix_tree_deref_slot
Unexecuted instantiation: msix.c:radix_tree_deref_slot
Unexecuted instantiation: msi.c:radix_tree_deref_slot
Unexecuted instantiation: header.c:radix_tree_deref_slot
Unexecuted instantiation: vpci.c:radix_tree_deref_slot
Unexecuted instantiation: utility.c:radix_tree_deref_slot
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_deref_slot
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_deref_slot
Unexecuted instantiation: cpufreq.c:radix_tree_deref_slot
Unexecuted instantiation: ns16550.c:radix_tree_deref_slot
Unexecuted instantiation: console.c:radix_tree_deref_slot
Unexecuted instantiation: libelf-loader.c:radix_tree_deref_slot
Unexecuted instantiation: llvm.c:radix_tree_deref_slot
Unexecuted instantiation: tmem_control.c:radix_tree_deref_slot
Unexecuted instantiation: tmem_xen.c:radix_tree_deref_slot
Unexecuted instantiation: tmem.c:radix_tree_deref_slot
Unexecuted instantiation: xenoprof.c:radix_tree_deref_slot
Unexecuted instantiation: wait.c:radix_tree_deref_slot
Unexecuted instantiation: vsprintf.c:radix_tree_deref_slot
Unexecuted instantiation: vm_event.c:radix_tree_deref_slot
Unexecuted instantiation: trace.c:radix_tree_deref_slot
Unexecuted instantiation: timer.c:radix_tree_deref_slot
Unexecuted instantiation: time.c:radix_tree_deref_slot
Unexecuted instantiation: tasklet.c:radix_tree_deref_slot
Unexecuted instantiation: sysctl.c:radix_tree_deref_slot
Unexecuted instantiation: symbols.c:radix_tree_deref_slot
Unexecuted instantiation: stop_machine.c:radix_tree_deref_slot
Unexecuted instantiation: spinlock.c:radix_tree_deref_slot
Unexecuted instantiation: softirq.c:radix_tree_deref_slot
Unexecuted instantiation: shutdown.c:radix_tree_deref_slot
Unexecuted instantiation: schedule.c:radix_tree_deref_slot
Unexecuted instantiation: sched_null.c:radix_tree_deref_slot
Unexecuted instantiation: sched_rt.c:radix_tree_deref_slot
Unexecuted instantiation: sched_credit2.c:radix_tree_deref_slot
Unexecuted instantiation: sched_credit.c:radix_tree_deref_slot
Unexecuted instantiation: sched_arinc653.c:radix_tree_deref_slot
Unexecuted instantiation: rcupdate.c:radix_tree_deref_slot
Unexecuted instantiation: radix-tree.c:radix_tree_deref_slot
Unexecuted instantiation: rangeset.c:radix_tree_deref_slot
Unexecuted instantiation: page_alloc.c:radix_tree_deref_slot
Unexecuted instantiation: multicall.c:radix_tree_deref_slot
Unexecuted instantiation: monitor.c:radix_tree_deref_slot
Unexecuted instantiation: memory.c:radix_tree_deref_slot
Unexecuted instantiation: mem_access.c:radix_tree_deref_slot
Unexecuted instantiation: kimage.c:radix_tree_deref_slot
Unexecuted instantiation: kexec.c:radix_tree_deref_slot
Unexecuted instantiation: keyhandler.c:radix_tree_deref_slot
Unexecuted instantiation: kernel.c:radix_tree_deref_slot
Unexecuted instantiation: guestcopy.c:radix_tree_deref_slot
Unexecuted instantiation: grant_table.c:radix_tree_deref_slot
Unexecuted instantiation: event_fifo.c:radix_tree_deref_slot
Unexecuted instantiation: event_channel.c:radix_tree_deref_slot
Unexecuted instantiation: event_2l.c:radix_tree_deref_slot
Unexecuted instantiation: domain.c:radix_tree_deref_slot
Unexecuted instantiation: domctl.c:radix_tree_deref_slot
Unexecuted instantiation: cpupool.c:radix_tree_deref_slot
144
145
/**
146
 * radix_tree_deref_retry - check radix_tree_deref_slot
147
 * @arg:  pointer returned by radix_tree_deref_slot
148
 * Returns: 0 if retry is not required, otherwise retry is required
149
 *
150
 * radix_tree_deref_retry must be used with radix_tree_deref_slot.
151
 */
152
static inline int radix_tree_deref_retry(void *arg)
153
0
{
154
0
  return unlikely((unsigned long)arg & RADIX_TREE_INDIRECT_PTR);
155
0
}
Unexecuted instantiation: misc-hypercalls.c:radix_tree_deref_retry
Unexecuted instantiation: cpupool.c:radix_tree_deref_retry
Unexecuted instantiation: domctl.c:radix_tree_deref_retry
Unexecuted instantiation: domain.c:radix_tree_deref_retry
Unexecuted instantiation: event_2l.c:radix_tree_deref_retry
Unexecuted instantiation: event_channel.c:radix_tree_deref_retry
Unexecuted instantiation: event_fifo.c:radix_tree_deref_retry
Unexecuted instantiation: grant_table.c:radix_tree_deref_retry
Unexecuted instantiation: guestcopy.c:radix_tree_deref_retry
Unexecuted instantiation: kernel.c:radix_tree_deref_retry
Unexecuted instantiation: keyhandler.c:radix_tree_deref_retry
Unexecuted instantiation: kexec.c:radix_tree_deref_retry
Unexecuted instantiation: kimage.c:radix_tree_deref_retry
Unexecuted instantiation: mem_access.c:radix_tree_deref_retry
Unexecuted instantiation: memory.c:radix_tree_deref_retry
Unexecuted instantiation: monitor.c:radix_tree_deref_retry
Unexecuted instantiation: multicall.c:radix_tree_deref_retry
Unexecuted instantiation: page_alloc.c:radix_tree_deref_retry
Unexecuted instantiation: rangeset.c:radix_tree_deref_retry
Unexecuted instantiation: radix-tree.c:radix_tree_deref_retry
Unexecuted instantiation: rcupdate.c:radix_tree_deref_retry
Unexecuted instantiation: sched_arinc653.c:radix_tree_deref_retry
Unexecuted instantiation: sched_credit.c:radix_tree_deref_retry
Unexecuted instantiation: sched_credit2.c:radix_tree_deref_retry
Unexecuted instantiation: sched_rt.c:radix_tree_deref_retry
Unexecuted instantiation: sched_null.c:radix_tree_deref_retry
Unexecuted instantiation: schedule.c:radix_tree_deref_retry
Unexecuted instantiation: shutdown.c:radix_tree_deref_retry
Unexecuted instantiation: softirq.c:radix_tree_deref_retry
Unexecuted instantiation: spinlock.c:radix_tree_deref_retry
Unexecuted instantiation: stop_machine.c:radix_tree_deref_retry
Unexecuted instantiation: symbols.c:radix_tree_deref_retry
Unexecuted instantiation: sysctl.c:radix_tree_deref_retry
Unexecuted instantiation: tasklet.c:radix_tree_deref_retry
Unexecuted instantiation: time.c:radix_tree_deref_retry
Unexecuted instantiation: timer.c:radix_tree_deref_retry
Unexecuted instantiation: trace.c:radix_tree_deref_retry
Unexecuted instantiation: vm_event.c:radix_tree_deref_retry
Unexecuted instantiation: vsprintf.c:radix_tree_deref_retry
Unexecuted instantiation: wait.c:radix_tree_deref_retry
Unexecuted instantiation: xenoprof.c:radix_tree_deref_retry
Unexecuted instantiation: tmem.c:radix_tree_deref_retry
Unexecuted instantiation: tmem_xen.c:radix_tree_deref_retry
Unexecuted instantiation: tmem_control.c:radix_tree_deref_retry
Unexecuted instantiation: llvm.c:radix_tree_deref_retry
Unexecuted instantiation: libelf-loader.c:radix_tree_deref_retry
Unexecuted instantiation: console.c:radix_tree_deref_retry
Unexecuted instantiation: ns16550.c:radix_tree_deref_retry
Unexecuted instantiation: cpufreq.c:radix_tree_deref_retry
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_deref_retry
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_deref_retry
Unexecuted instantiation: utility.c:radix_tree_deref_retry
Unexecuted instantiation: vpci.c:radix_tree_deref_retry
Unexecuted instantiation: header.c:radix_tree_deref_retry
Unexecuted instantiation: msi.c:radix_tree_deref_retry
Unexecuted instantiation: msix.c:radix_tree_deref_retry
Unexecuted instantiation: iommu.c:radix_tree_deref_retry
Unexecuted instantiation: io.c:radix_tree_deref_retry
Unexecuted instantiation: pci.c:radix_tree_deref_retry
Unexecuted instantiation: utils.c:radix_tree_deref_retry
Unexecuted instantiation: qinval.c:radix_tree_deref_retry
Unexecuted instantiation: intremap.c:radix_tree_deref_retry
Unexecuted instantiation: quirks.c:radix_tree_deref_retry
Unexecuted instantiation: vtd.c:radix_tree_deref_retry
Unexecuted instantiation: ats.c:radix_tree_deref_retry
Unexecuted instantiation: iommu_init.c:radix_tree_deref_retry
Unexecuted instantiation: iommu_map.c:radix_tree_deref_retry
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_deref_retry
Unexecuted instantiation: iommu_intr.c:radix_tree_deref_retry
Unexecuted instantiation: iommu_cmd.c:radix_tree_deref_retry
Unexecuted instantiation: iommu_guest.c:radix_tree_deref_retry
Unexecuted instantiation: pmstat.c:radix_tree_deref_retry
Unexecuted instantiation: xsm_core.c:radix_tree_deref_retry
Unexecuted instantiation: apic.c:radix_tree_deref_retry
Unexecuted instantiation: cpuid.c:radix_tree_deref_retry
Unexecuted instantiation: compat.c:radix_tree_deref_retry
Unexecuted instantiation: crash.c:radix_tree_deref_retry
Unexecuted instantiation: debug.c:radix_tree_deref_retry
Unexecuted instantiation: domain_page.c:radix_tree_deref_retry
Unexecuted instantiation: flushtlb.c:radix_tree_deref_retry
Unexecuted instantiation: hypercall.c:radix_tree_deref_retry
Unexecuted instantiation: i387.c:radix_tree_deref_retry
Unexecuted instantiation: i8259.c:radix_tree_deref_retry
Unexecuted instantiation: io_apic.c:radix_tree_deref_retry
Unexecuted instantiation: msr.c:radix_tree_deref_retry
Unexecuted instantiation: ioport_emulate.c:radix_tree_deref_retry
Unexecuted instantiation: irq.c:radix_tree_deref_retry
Unexecuted instantiation: machine_kexec.c:radix_tree_deref_retry
Unexecuted instantiation: microcode_amd.c:radix_tree_deref_retry
Unexecuted instantiation: microcode_intel.c:radix_tree_deref_retry
Unexecuted instantiation: microcode.c:radix_tree_deref_retry
Unexecuted instantiation: ro-page-fault.c:radix_tree_deref_retry
Unexecuted instantiation: mm.c:radix_tree_deref_retry
Unexecuted instantiation: mpparse.c:radix_tree_deref_retry
Unexecuted instantiation: nmi.c:radix_tree_deref_retry
Unexecuted instantiation: numa.c:radix_tree_deref_retry
Unexecuted instantiation: physdev.c:radix_tree_deref_retry
Unexecuted instantiation: platform_hypercall.c:radix_tree_deref_retry
Unexecuted instantiation: psr.c:radix_tree_deref_retry
Unexecuted instantiation: setup.c:radix_tree_deref_retry
Unexecuted instantiation: smp.c:radix_tree_deref_retry
Unexecuted instantiation: smpboot.c:radix_tree_deref_retry
Unexecuted instantiation: traps.c:radix_tree_deref_retry
Unexecuted instantiation: usercopy.c:radix_tree_deref_retry
Unexecuted instantiation: x86_emulate.c:radix_tree_deref_retry
Unexecuted instantiation: tboot.c:radix_tree_deref_retry
Unexecuted instantiation: xstate.c:radix_tree_deref_retry
Unexecuted instantiation: power.c:radix_tree_deref_retry
Unexecuted instantiation: suspend.c:radix_tree_deref_retry
Unexecuted instantiation: cpu_idle.c:radix_tree_deref_retry
Unexecuted instantiation: amd.c:radix_tree_deref_retry
Unexecuted instantiation: common.c:radix_tree_deref_retry
Unexecuted instantiation: intel.c:radix_tree_deref_retry
Unexecuted instantiation: mwait-idle.c:radix_tree_deref_retry
Unexecuted instantiation: vpmu.c:radix_tree_deref_retry
Unexecuted instantiation: vpmu_amd.c:radix_tree_deref_retry
Unexecuted instantiation: vpmu_intel.c:radix_tree_deref_retry
Unexecuted instantiation: amd_nonfatal.c:radix_tree_deref_retry
Unexecuted instantiation: mce_amd.c:radix_tree_deref_retry
Unexecuted instantiation: mcaction.c:radix_tree_deref_retry
Unexecuted instantiation: barrier.c:radix_tree_deref_retry
Unexecuted instantiation: mctelem.c:radix_tree_deref_retry
Unexecuted instantiation: mce.c:radix_tree_deref_retry
Unexecuted instantiation: mce-apei.c:radix_tree_deref_retry
Unexecuted instantiation: mce_intel.c:radix_tree_deref_retry
Unexecuted instantiation: non-fatal.c:radix_tree_deref_retry
Unexecuted instantiation: util.c:radix_tree_deref_retry
Unexecuted instantiation: vmce.c:radix_tree_deref_retry
Unexecuted instantiation: delivery.c:radix_tree_deref_retry
Unexecuted instantiation: asid.c:radix_tree_deref_retry
Unexecuted instantiation: dm.c:radix_tree_deref_retry
Unexecuted instantiation: emulate.c:radix_tree_deref_retry
Unexecuted instantiation: hpet.c:radix_tree_deref_retry
Unexecuted instantiation: hvm.c:radix_tree_deref_retry
Unexecuted instantiation: i8254.c:radix_tree_deref_retry
Unexecuted instantiation: intercept.c:radix_tree_deref_retry
Unexecuted instantiation: ioreq.c:radix_tree_deref_retry
Unexecuted instantiation: mtrr.c:radix_tree_deref_retry
Unexecuted instantiation: nestedhvm.c:radix_tree_deref_retry
Unexecuted instantiation: pmtimer.c:radix_tree_deref_retry
Unexecuted instantiation: rtc.c:radix_tree_deref_retry
Unexecuted instantiation: save.c:radix_tree_deref_retry
Unexecuted instantiation: stdvga.c:radix_tree_deref_retry
Unexecuted instantiation: vioapic.c:radix_tree_deref_retry
Unexecuted instantiation: viridian.c:radix_tree_deref_retry
Unexecuted instantiation: vlapic.c:radix_tree_deref_retry
Unexecuted instantiation: vmsi.c:radix_tree_deref_retry
Unexecuted instantiation: vpic.c:radix_tree_deref_retry
Unexecuted instantiation: vpt.c:radix_tree_deref_retry
Unexecuted instantiation: intr.c:radix_tree_deref_retry
Unexecuted instantiation: nestedsvm.c:radix_tree_deref_retry
Unexecuted instantiation: svm.c:radix_tree_deref_retry
Unexecuted instantiation: svmdebug.c:radix_tree_deref_retry
Unexecuted instantiation: vmcb.c:radix_tree_deref_retry
Unexecuted instantiation: realmode.c:radix_tree_deref_retry
Unexecuted instantiation: vmcs.c:radix_tree_deref_retry
Unexecuted instantiation: vmx.c:radix_tree_deref_retry
Unexecuted instantiation: vvmx.c:radix_tree_deref_retry
Unexecuted instantiation: paging.c:radix_tree_deref_retry
Unexecuted instantiation: p2m.c:radix_tree_deref_retry
Unexecuted instantiation: p2m-pt.c:radix_tree_deref_retry
Unexecuted instantiation: p2m-ept.c:radix_tree_deref_retry
Unexecuted instantiation: p2m-pod.c:radix_tree_deref_retry
Unexecuted instantiation: altp2m.c:radix_tree_deref_retry
Unexecuted instantiation: guest_walk.c:radix_tree_deref_retry
Unexecuted instantiation: mem_paging.c:radix_tree_deref_retry
Unexecuted instantiation: mem_sharing.c:radix_tree_deref_retry
Unexecuted instantiation: multi.c:radix_tree_deref_retry
Unexecuted instantiation: hap.c:radix_tree_deref_retry
Unexecuted instantiation: nested_hap.c:radix_tree_deref_retry
Unexecuted instantiation: nested_ept.c:radix_tree_deref_retry
Unexecuted instantiation: nmi_int.c:radix_tree_deref_retry
Unexecuted instantiation: op_model_ppro.c:radix_tree_deref_retry
Unexecuted instantiation: op_model_athlon.c:radix_tree_deref_retry
Unexecuted instantiation: backtrace.c:radix_tree_deref_retry
Unexecuted instantiation: callback.c:radix_tree_deref_retry
Unexecuted instantiation: descriptor-tables.c:radix_tree_deref_retry
Unexecuted instantiation: emul-gate-op.c:radix_tree_deref_retry
Unexecuted instantiation: emul-inv-op.c:radix_tree_deref_retry
Unexecuted instantiation: emul-priv-op.c:radix_tree_deref_retry
Unexecuted instantiation: iret.c:radix_tree_deref_retry
Unexecuted instantiation: cpu.c:radix_tree_deref_retry
156
157
/**
158
 * radix_tree_replace_slot  - replace item in a slot
159
 * @pslot:  pointer to slot, returned by radix_tree_lookup_slot
160
 * @item: new item to store in the slot.
161
 *
162
 * For use with radix_tree_lookup_slot().  Caller must hold tree write locked
163
 * across slot lookup and replacement.
164
 */
165
static inline void radix_tree_replace_slot(void **pslot, void *item)
166
48
{
167
48
  BUG_ON(radix_tree_is_indirect_ptr(item));
168
48
  rcu_assign_pointer(*pslot, item);
169
48
}
Unexecuted instantiation: cpu.c:radix_tree_replace_slot
Unexecuted instantiation: cpupool.c:radix_tree_replace_slot
Unexecuted instantiation: domctl.c:radix_tree_replace_slot
Unexecuted instantiation: domain.c:radix_tree_replace_slot
Unexecuted instantiation: event_2l.c:radix_tree_replace_slot
Unexecuted instantiation: event_channel.c:radix_tree_replace_slot
Unexecuted instantiation: event_fifo.c:radix_tree_replace_slot
Unexecuted instantiation: grant_table.c:radix_tree_replace_slot
Unexecuted instantiation: guestcopy.c:radix_tree_replace_slot
Unexecuted instantiation: kernel.c:radix_tree_replace_slot
Unexecuted instantiation: keyhandler.c:radix_tree_replace_slot
Unexecuted instantiation: kexec.c:radix_tree_replace_slot
Unexecuted instantiation: kimage.c:radix_tree_replace_slot
Unexecuted instantiation: mem_access.c:radix_tree_replace_slot
Unexecuted instantiation: memory.c:radix_tree_replace_slot
Unexecuted instantiation: monitor.c:radix_tree_replace_slot
Unexecuted instantiation: multicall.c:radix_tree_replace_slot
Unexecuted instantiation: page_alloc.c:radix_tree_replace_slot
Unexecuted instantiation: rangeset.c:radix_tree_replace_slot
Unexecuted instantiation: radix-tree.c:radix_tree_replace_slot
Unexecuted instantiation: rcupdate.c:radix_tree_replace_slot
Unexecuted instantiation: sched_arinc653.c:radix_tree_replace_slot
Unexecuted instantiation: sched_credit.c:radix_tree_replace_slot
Unexecuted instantiation: sched_credit2.c:radix_tree_replace_slot
Unexecuted instantiation: sched_rt.c:radix_tree_replace_slot
Unexecuted instantiation: sched_null.c:radix_tree_replace_slot
Unexecuted instantiation: schedule.c:radix_tree_replace_slot
Unexecuted instantiation: shutdown.c:radix_tree_replace_slot
Unexecuted instantiation: softirq.c:radix_tree_replace_slot
Unexecuted instantiation: spinlock.c:radix_tree_replace_slot
Unexecuted instantiation: stop_machine.c:radix_tree_replace_slot
Unexecuted instantiation: symbols.c:radix_tree_replace_slot
Unexecuted instantiation: sysctl.c:radix_tree_replace_slot
Unexecuted instantiation: tasklet.c:radix_tree_replace_slot
Unexecuted instantiation: time.c:radix_tree_replace_slot
Unexecuted instantiation: timer.c:radix_tree_replace_slot
Unexecuted instantiation: trace.c:radix_tree_replace_slot
Unexecuted instantiation: vm_event.c:radix_tree_replace_slot
Unexecuted instantiation: vsprintf.c:radix_tree_replace_slot
Unexecuted instantiation: wait.c:radix_tree_replace_slot
Unexecuted instantiation: xenoprof.c:radix_tree_replace_slot
Unexecuted instantiation: tmem.c:radix_tree_replace_slot
Unexecuted instantiation: tmem_xen.c:radix_tree_replace_slot
Unexecuted instantiation: tmem_control.c:radix_tree_replace_slot
Unexecuted instantiation: llvm.c:radix_tree_replace_slot
Unexecuted instantiation: libelf-loader.c:radix_tree_replace_slot
Unexecuted instantiation: console.c:radix_tree_replace_slot
Unexecuted instantiation: ns16550.c:radix_tree_replace_slot
Unexecuted instantiation: cpufreq.c:radix_tree_replace_slot
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_replace_slot
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_replace_slot
Unexecuted instantiation: utility.c:radix_tree_replace_slot
Unexecuted instantiation: vpci.c:radix_tree_replace_slot
Unexecuted instantiation: header.c:radix_tree_replace_slot
Unexecuted instantiation: msi.c:radix_tree_replace_slot
Unexecuted instantiation: msix.c:radix_tree_replace_slot
Unexecuted instantiation: iommu.c:radix_tree_replace_slot
Unexecuted instantiation: io.c:radix_tree_replace_slot
Unexecuted instantiation: pci.c:radix_tree_replace_slot
Unexecuted instantiation: utils.c:radix_tree_replace_slot
Unexecuted instantiation: qinval.c:radix_tree_replace_slot
Unexecuted instantiation: intremap.c:radix_tree_replace_slot
Unexecuted instantiation: quirks.c:radix_tree_replace_slot
Unexecuted instantiation: vtd.c:radix_tree_replace_slot
Unexecuted instantiation: ats.c:radix_tree_replace_slot
Unexecuted instantiation: iommu_init.c:radix_tree_replace_slot
Unexecuted instantiation: iommu_map.c:radix_tree_replace_slot
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_replace_slot
Unexecuted instantiation: iommu_intr.c:radix_tree_replace_slot
Unexecuted instantiation: iommu_cmd.c:radix_tree_replace_slot
Unexecuted instantiation: iommu_guest.c:radix_tree_replace_slot
Unexecuted instantiation: pmstat.c:radix_tree_replace_slot
Unexecuted instantiation: xsm_core.c:radix_tree_replace_slot
Unexecuted instantiation: apic.c:radix_tree_replace_slot
Unexecuted instantiation: cpuid.c:radix_tree_replace_slot
Unexecuted instantiation: compat.c:radix_tree_replace_slot
Unexecuted instantiation: crash.c:radix_tree_replace_slot
Unexecuted instantiation: debug.c:radix_tree_replace_slot
Unexecuted instantiation: domain_page.c:radix_tree_replace_slot
Unexecuted instantiation: flushtlb.c:radix_tree_replace_slot
Unexecuted instantiation: hypercall.c:radix_tree_replace_slot
Unexecuted instantiation: i387.c:radix_tree_replace_slot
Unexecuted instantiation: i8259.c:radix_tree_replace_slot
Unexecuted instantiation: io_apic.c:radix_tree_replace_slot
Unexecuted instantiation: msr.c:radix_tree_replace_slot
Unexecuted instantiation: ioport_emulate.c:radix_tree_replace_slot
irq.c:radix_tree_replace_slot
Line
Count
Source
166
48
{
167
48
  BUG_ON(radix_tree_is_indirect_ptr(item));
168
48
  rcu_assign_pointer(*pslot, item);
169
48
}
Unexecuted instantiation: machine_kexec.c:radix_tree_replace_slot
Unexecuted instantiation: microcode_amd.c:radix_tree_replace_slot
Unexecuted instantiation: microcode_intel.c:radix_tree_replace_slot
Unexecuted instantiation: microcode.c:radix_tree_replace_slot
Unexecuted instantiation: mm.c:radix_tree_replace_slot
Unexecuted instantiation: mpparse.c:radix_tree_replace_slot
Unexecuted instantiation: nmi.c:radix_tree_replace_slot
Unexecuted instantiation: numa.c:radix_tree_replace_slot
Unexecuted instantiation: physdev.c:radix_tree_replace_slot
Unexecuted instantiation: platform_hypercall.c:radix_tree_replace_slot
Unexecuted instantiation: psr.c:radix_tree_replace_slot
Unexecuted instantiation: setup.c:radix_tree_replace_slot
Unexecuted instantiation: smp.c:radix_tree_replace_slot
Unexecuted instantiation: smpboot.c:radix_tree_replace_slot
Unexecuted instantiation: traps.c:radix_tree_replace_slot
Unexecuted instantiation: usercopy.c:radix_tree_replace_slot
Unexecuted instantiation: x86_emulate.c:radix_tree_replace_slot
Unexecuted instantiation: tboot.c:radix_tree_replace_slot
Unexecuted instantiation: xstate.c:radix_tree_replace_slot
Unexecuted instantiation: power.c:radix_tree_replace_slot
Unexecuted instantiation: suspend.c:radix_tree_replace_slot
Unexecuted instantiation: cpu_idle.c:radix_tree_replace_slot
Unexecuted instantiation: amd.c:radix_tree_replace_slot
Unexecuted instantiation: common.c:radix_tree_replace_slot
Unexecuted instantiation: intel.c:radix_tree_replace_slot
Unexecuted instantiation: mwait-idle.c:radix_tree_replace_slot
Unexecuted instantiation: vpmu.c:radix_tree_replace_slot
Unexecuted instantiation: vpmu_amd.c:radix_tree_replace_slot
Unexecuted instantiation: vpmu_intel.c:radix_tree_replace_slot
Unexecuted instantiation: amd_nonfatal.c:radix_tree_replace_slot
Unexecuted instantiation: mce_amd.c:radix_tree_replace_slot
Unexecuted instantiation: mcaction.c:radix_tree_replace_slot
Unexecuted instantiation: barrier.c:radix_tree_replace_slot
Unexecuted instantiation: mctelem.c:radix_tree_replace_slot
Unexecuted instantiation: mce.c:radix_tree_replace_slot
Unexecuted instantiation: mce-apei.c:radix_tree_replace_slot
Unexecuted instantiation: mce_intel.c:radix_tree_replace_slot
Unexecuted instantiation: non-fatal.c:radix_tree_replace_slot
Unexecuted instantiation: util.c:radix_tree_replace_slot
Unexecuted instantiation: vmce.c:radix_tree_replace_slot
Unexecuted instantiation: delivery.c:radix_tree_replace_slot
Unexecuted instantiation: asid.c:radix_tree_replace_slot
Unexecuted instantiation: dm.c:radix_tree_replace_slot
Unexecuted instantiation: emulate.c:radix_tree_replace_slot
Unexecuted instantiation: hpet.c:radix_tree_replace_slot
Unexecuted instantiation: hvm.c:radix_tree_replace_slot
Unexecuted instantiation: i8254.c:radix_tree_replace_slot
Unexecuted instantiation: intercept.c:radix_tree_replace_slot
Unexecuted instantiation: ioreq.c:radix_tree_replace_slot
Unexecuted instantiation: mtrr.c:radix_tree_replace_slot
Unexecuted instantiation: nestedhvm.c:radix_tree_replace_slot
Unexecuted instantiation: pmtimer.c:radix_tree_replace_slot
Unexecuted instantiation: rtc.c:radix_tree_replace_slot
Unexecuted instantiation: save.c:radix_tree_replace_slot
Unexecuted instantiation: stdvga.c:radix_tree_replace_slot
Unexecuted instantiation: vioapic.c:radix_tree_replace_slot
Unexecuted instantiation: viridian.c:radix_tree_replace_slot
Unexecuted instantiation: vlapic.c:radix_tree_replace_slot
Unexecuted instantiation: vmsi.c:radix_tree_replace_slot
Unexecuted instantiation: vpic.c:radix_tree_replace_slot
Unexecuted instantiation: vpt.c:radix_tree_replace_slot
Unexecuted instantiation: intr.c:radix_tree_replace_slot
Unexecuted instantiation: nestedsvm.c:radix_tree_replace_slot
Unexecuted instantiation: svm.c:radix_tree_replace_slot
Unexecuted instantiation: svmdebug.c:radix_tree_replace_slot
Unexecuted instantiation: vmcb.c:radix_tree_replace_slot
Unexecuted instantiation: realmode.c:radix_tree_replace_slot
Unexecuted instantiation: vmcs.c:radix_tree_replace_slot
Unexecuted instantiation: vmx.c:radix_tree_replace_slot
Unexecuted instantiation: vvmx.c:radix_tree_replace_slot
Unexecuted instantiation: paging.c:radix_tree_replace_slot
Unexecuted instantiation: p2m.c:radix_tree_replace_slot
Unexecuted instantiation: p2m-pt.c:radix_tree_replace_slot
Unexecuted instantiation: p2m-ept.c:radix_tree_replace_slot
Unexecuted instantiation: p2m-pod.c:radix_tree_replace_slot
Unexecuted instantiation: altp2m.c:radix_tree_replace_slot
Unexecuted instantiation: guest_walk.c:radix_tree_replace_slot
Unexecuted instantiation: mem_paging.c:radix_tree_replace_slot
Unexecuted instantiation: mem_sharing.c:radix_tree_replace_slot
Unexecuted instantiation: multi.c:radix_tree_replace_slot
Unexecuted instantiation: hap.c:radix_tree_replace_slot
Unexecuted instantiation: nested_hap.c:radix_tree_replace_slot
Unexecuted instantiation: nested_ept.c:radix_tree_replace_slot
Unexecuted instantiation: nmi_int.c:radix_tree_replace_slot
Unexecuted instantiation: op_model_ppro.c:radix_tree_replace_slot
Unexecuted instantiation: op_model_athlon.c:radix_tree_replace_slot
Unexecuted instantiation: backtrace.c:radix_tree_replace_slot
Unexecuted instantiation: callback.c:radix_tree_replace_slot
Unexecuted instantiation: descriptor-tables.c:radix_tree_replace_slot
Unexecuted instantiation: emul-gate-op.c:radix_tree_replace_slot
Unexecuted instantiation: emul-inv-op.c:radix_tree_replace_slot
Unexecuted instantiation: emul-priv-op.c:radix_tree_replace_slot
Unexecuted instantiation: iret.c:radix_tree_replace_slot
Unexecuted instantiation: misc-hypercalls.c:radix_tree_replace_slot
Unexecuted instantiation: ro-page-fault.c:radix_tree_replace_slot
170
171
172
/**
173
 * radix_tree_{int_to_ptr,ptr_to_int}:
174
 * 
175
 * Allow storage of signed integers in radix-tree slots. We use an encoding
176
 * in which the bottom two bits of the slot pointer are reserved (bit 0 for
177
 * the indirect-pointer tag; bit 1 always set to prevent an in-use
178
 * integer-valued slot from being NULL and thus mistakenly being reaped).
179
 */
180
static inline void *radix_tree_int_to_ptr(int val)
181
96
{
182
96
    long _ptr = ((long)val << 2) | 0x2l;
183
96
    ASSERT((_ptr >> 2) == val);
184
96
    return (void *)_ptr;
185
96
}
Unexecuted instantiation: cpu.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpupool.c:radix_tree_int_to_ptr
Unexecuted instantiation: domctl.c:radix_tree_int_to_ptr
Unexecuted instantiation: domain.c:radix_tree_int_to_ptr
Unexecuted instantiation: event_2l.c:radix_tree_int_to_ptr
Unexecuted instantiation: event_channel.c:radix_tree_int_to_ptr
Unexecuted instantiation: event_fifo.c:radix_tree_int_to_ptr
Unexecuted instantiation: grant_table.c:radix_tree_int_to_ptr
Unexecuted instantiation: guestcopy.c:radix_tree_int_to_ptr
Unexecuted instantiation: kernel.c:radix_tree_int_to_ptr
Unexecuted instantiation: keyhandler.c:radix_tree_int_to_ptr
Unexecuted instantiation: kexec.c:radix_tree_int_to_ptr
Unexecuted instantiation: kimage.c:radix_tree_int_to_ptr
Unexecuted instantiation: mem_access.c:radix_tree_int_to_ptr
Unexecuted instantiation: memory.c:radix_tree_int_to_ptr
Unexecuted instantiation: monitor.c:radix_tree_int_to_ptr
Unexecuted instantiation: multicall.c:radix_tree_int_to_ptr
Unexecuted instantiation: page_alloc.c:radix_tree_int_to_ptr
Unexecuted instantiation: rangeset.c:radix_tree_int_to_ptr
Unexecuted instantiation: radix-tree.c:radix_tree_int_to_ptr
Unexecuted instantiation: rcupdate.c:radix_tree_int_to_ptr
Unexecuted instantiation: sched_arinc653.c:radix_tree_int_to_ptr
Unexecuted instantiation: sched_credit.c:radix_tree_int_to_ptr
Unexecuted instantiation: sched_credit2.c:radix_tree_int_to_ptr
Unexecuted instantiation: sched_rt.c:radix_tree_int_to_ptr
Unexecuted instantiation: sched_null.c:radix_tree_int_to_ptr
Unexecuted instantiation: schedule.c:radix_tree_int_to_ptr
Unexecuted instantiation: shutdown.c:radix_tree_int_to_ptr
Unexecuted instantiation: softirq.c:radix_tree_int_to_ptr
Unexecuted instantiation: spinlock.c:radix_tree_int_to_ptr
Unexecuted instantiation: stop_machine.c:radix_tree_int_to_ptr
Unexecuted instantiation: symbols.c:radix_tree_int_to_ptr
Unexecuted instantiation: sysctl.c:radix_tree_int_to_ptr
Unexecuted instantiation: tasklet.c:radix_tree_int_to_ptr
Unexecuted instantiation: time.c:radix_tree_int_to_ptr
Unexecuted instantiation: timer.c:radix_tree_int_to_ptr
Unexecuted instantiation: trace.c:radix_tree_int_to_ptr
Unexecuted instantiation: vm_event.c:radix_tree_int_to_ptr
Unexecuted instantiation: vsprintf.c:radix_tree_int_to_ptr
Unexecuted instantiation: wait.c:radix_tree_int_to_ptr
Unexecuted instantiation: xenoprof.c:radix_tree_int_to_ptr
Unexecuted instantiation: tmem.c:radix_tree_int_to_ptr
Unexecuted instantiation: tmem_xen.c:radix_tree_int_to_ptr
Unexecuted instantiation: tmem_control.c:radix_tree_int_to_ptr
Unexecuted instantiation: llvm.c:radix_tree_int_to_ptr
Unexecuted instantiation: libelf-loader.c:radix_tree_int_to_ptr
Unexecuted instantiation: console.c:radix_tree_int_to_ptr
Unexecuted instantiation: ns16550.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpufreq.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_int_to_ptr
Unexecuted instantiation: utility.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpci.c:radix_tree_int_to_ptr
Unexecuted instantiation: header.c:radix_tree_int_to_ptr
Unexecuted instantiation: msi.c:radix_tree_int_to_ptr
Unexecuted instantiation: msix.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu.c:radix_tree_int_to_ptr
Unexecuted instantiation: io.c:radix_tree_int_to_ptr
Unexecuted instantiation: pci.c:radix_tree_int_to_ptr
Unexecuted instantiation: utils.c:radix_tree_int_to_ptr
Unexecuted instantiation: qinval.c:radix_tree_int_to_ptr
Unexecuted instantiation: intremap.c:radix_tree_int_to_ptr
Unexecuted instantiation: quirks.c:radix_tree_int_to_ptr
Unexecuted instantiation: vtd.c:radix_tree_int_to_ptr
Unexecuted instantiation: ats.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu_init.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu_map.c:radix_tree_int_to_ptr
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu_intr.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu_cmd.c:radix_tree_int_to_ptr
Unexecuted instantiation: iommu_guest.c:radix_tree_int_to_ptr
Unexecuted instantiation: pmstat.c:radix_tree_int_to_ptr
Unexecuted instantiation: xsm_core.c:radix_tree_int_to_ptr
Unexecuted instantiation: apic.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpuid.c:radix_tree_int_to_ptr
Unexecuted instantiation: compat.c:radix_tree_int_to_ptr
Unexecuted instantiation: crash.c:radix_tree_int_to_ptr
Unexecuted instantiation: debug.c:radix_tree_int_to_ptr
Unexecuted instantiation: domain_page.c:radix_tree_int_to_ptr
Unexecuted instantiation: flushtlb.c:radix_tree_int_to_ptr
Unexecuted instantiation: hypercall.c:radix_tree_int_to_ptr
Unexecuted instantiation: i387.c:radix_tree_int_to_ptr
Unexecuted instantiation: i8259.c:radix_tree_int_to_ptr
Unexecuted instantiation: io_apic.c:radix_tree_int_to_ptr
Unexecuted instantiation: msr.c:radix_tree_int_to_ptr
Unexecuted instantiation: ioport_emulate.c:radix_tree_int_to_ptr
irq.c:radix_tree_int_to_ptr
Line
Count
Source
181
96
{
182
96
    long _ptr = ((long)val << 2) | 0x2l;
183
96
    ASSERT((_ptr >> 2) == val);
184
96
    return (void *)_ptr;
185
96
}
Unexecuted instantiation: machine_kexec.c:radix_tree_int_to_ptr
Unexecuted instantiation: microcode_amd.c:radix_tree_int_to_ptr
Unexecuted instantiation: microcode_intel.c:radix_tree_int_to_ptr
Unexecuted instantiation: microcode.c:radix_tree_int_to_ptr
Unexecuted instantiation: mm.c:radix_tree_int_to_ptr
Unexecuted instantiation: mpparse.c:radix_tree_int_to_ptr
Unexecuted instantiation: nmi.c:radix_tree_int_to_ptr
Unexecuted instantiation: numa.c:radix_tree_int_to_ptr
Unexecuted instantiation: physdev.c:radix_tree_int_to_ptr
Unexecuted instantiation: platform_hypercall.c:radix_tree_int_to_ptr
Unexecuted instantiation: psr.c:radix_tree_int_to_ptr
Unexecuted instantiation: setup.c:radix_tree_int_to_ptr
Unexecuted instantiation: smp.c:radix_tree_int_to_ptr
Unexecuted instantiation: smpboot.c:radix_tree_int_to_ptr
Unexecuted instantiation: traps.c:radix_tree_int_to_ptr
Unexecuted instantiation: usercopy.c:radix_tree_int_to_ptr
Unexecuted instantiation: x86_emulate.c:radix_tree_int_to_ptr
Unexecuted instantiation: tboot.c:radix_tree_int_to_ptr
Unexecuted instantiation: xstate.c:radix_tree_int_to_ptr
Unexecuted instantiation: power.c:radix_tree_int_to_ptr
Unexecuted instantiation: suspend.c:radix_tree_int_to_ptr
Unexecuted instantiation: cpu_idle.c:radix_tree_int_to_ptr
Unexecuted instantiation: amd.c:radix_tree_int_to_ptr
Unexecuted instantiation: common.c:radix_tree_int_to_ptr
Unexecuted instantiation: intel.c:radix_tree_int_to_ptr
Unexecuted instantiation: mwait-idle.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpmu.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpmu_amd.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpmu_intel.c:radix_tree_int_to_ptr
Unexecuted instantiation: amd_nonfatal.c:radix_tree_int_to_ptr
Unexecuted instantiation: mce_amd.c:radix_tree_int_to_ptr
Unexecuted instantiation: mcaction.c:radix_tree_int_to_ptr
Unexecuted instantiation: barrier.c:radix_tree_int_to_ptr
Unexecuted instantiation: mctelem.c:radix_tree_int_to_ptr
Unexecuted instantiation: mce.c:radix_tree_int_to_ptr
Unexecuted instantiation: mce-apei.c:radix_tree_int_to_ptr
Unexecuted instantiation: mce_intel.c:radix_tree_int_to_ptr
Unexecuted instantiation: non-fatal.c:radix_tree_int_to_ptr
Unexecuted instantiation: util.c:radix_tree_int_to_ptr
Unexecuted instantiation: vmce.c:radix_tree_int_to_ptr
Unexecuted instantiation: delivery.c:radix_tree_int_to_ptr
Unexecuted instantiation: asid.c:radix_tree_int_to_ptr
Unexecuted instantiation: dm.c:radix_tree_int_to_ptr
Unexecuted instantiation: emulate.c:radix_tree_int_to_ptr
Unexecuted instantiation: hpet.c:radix_tree_int_to_ptr
Unexecuted instantiation: hvm.c:radix_tree_int_to_ptr
Unexecuted instantiation: i8254.c:radix_tree_int_to_ptr
Unexecuted instantiation: intercept.c:radix_tree_int_to_ptr
Unexecuted instantiation: ioreq.c:radix_tree_int_to_ptr
Unexecuted instantiation: mtrr.c:radix_tree_int_to_ptr
Unexecuted instantiation: nestedhvm.c:radix_tree_int_to_ptr
Unexecuted instantiation: pmtimer.c:radix_tree_int_to_ptr
Unexecuted instantiation: rtc.c:radix_tree_int_to_ptr
Unexecuted instantiation: save.c:radix_tree_int_to_ptr
Unexecuted instantiation: stdvga.c:radix_tree_int_to_ptr
Unexecuted instantiation: vioapic.c:radix_tree_int_to_ptr
Unexecuted instantiation: viridian.c:radix_tree_int_to_ptr
Unexecuted instantiation: vlapic.c:radix_tree_int_to_ptr
Unexecuted instantiation: vmsi.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpic.c:radix_tree_int_to_ptr
Unexecuted instantiation: vpt.c:radix_tree_int_to_ptr
Unexecuted instantiation: intr.c:radix_tree_int_to_ptr
Unexecuted instantiation: nestedsvm.c:radix_tree_int_to_ptr
Unexecuted instantiation: svm.c:radix_tree_int_to_ptr
Unexecuted instantiation: svmdebug.c:radix_tree_int_to_ptr
Unexecuted instantiation: vmcb.c:radix_tree_int_to_ptr
Unexecuted instantiation: realmode.c:radix_tree_int_to_ptr
Unexecuted instantiation: vmcs.c:radix_tree_int_to_ptr
Unexecuted instantiation: vmx.c:radix_tree_int_to_ptr
Unexecuted instantiation: vvmx.c:radix_tree_int_to_ptr
Unexecuted instantiation: paging.c:radix_tree_int_to_ptr
Unexecuted instantiation: p2m.c:radix_tree_int_to_ptr
Unexecuted instantiation: p2m-pt.c:radix_tree_int_to_ptr
Unexecuted instantiation: p2m-ept.c:radix_tree_int_to_ptr
Unexecuted instantiation: p2m-pod.c:radix_tree_int_to_ptr
Unexecuted instantiation: altp2m.c:radix_tree_int_to_ptr
Unexecuted instantiation: guest_walk.c:radix_tree_int_to_ptr
Unexecuted instantiation: mem_paging.c:radix_tree_int_to_ptr
Unexecuted instantiation: mem_sharing.c:radix_tree_int_to_ptr
Unexecuted instantiation: multi.c:radix_tree_int_to_ptr
Unexecuted instantiation: hap.c:radix_tree_int_to_ptr
Unexecuted instantiation: nested_hap.c:radix_tree_int_to_ptr
Unexecuted instantiation: nested_ept.c:radix_tree_int_to_ptr
Unexecuted instantiation: nmi_int.c:radix_tree_int_to_ptr
Unexecuted instantiation: op_model_ppro.c:radix_tree_int_to_ptr
Unexecuted instantiation: op_model_athlon.c:radix_tree_int_to_ptr
Unexecuted instantiation: backtrace.c:radix_tree_int_to_ptr
Unexecuted instantiation: callback.c:radix_tree_int_to_ptr
Unexecuted instantiation: descriptor-tables.c:radix_tree_int_to_ptr
Unexecuted instantiation: emul-gate-op.c:radix_tree_int_to_ptr
Unexecuted instantiation: emul-inv-op.c:radix_tree_int_to_ptr
Unexecuted instantiation: emul-priv-op.c:radix_tree_int_to_ptr
Unexecuted instantiation: iret.c:radix_tree_int_to_ptr
Unexecuted instantiation: misc-hypercalls.c:radix_tree_int_to_ptr
Unexecuted instantiation: ro-page-fault.c:radix_tree_int_to_ptr
186
187
static inline int radix_tree_ptr_to_int(void *ptr)
188
7.99k
{
189
7.99k
    ASSERT(((long)ptr & 0x3) == 0x2);
190
7.99k
    return (int)((long)ptr >> 2);
191
7.99k
}
Unexecuted instantiation: cpu.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpupool.c:radix_tree_ptr_to_int
Unexecuted instantiation: domctl.c:radix_tree_ptr_to_int
Unexecuted instantiation: domain.c:radix_tree_ptr_to_int
Unexecuted instantiation: event_2l.c:radix_tree_ptr_to_int
Unexecuted instantiation: event_channel.c:radix_tree_ptr_to_int
Unexecuted instantiation: event_fifo.c:radix_tree_ptr_to_int
Unexecuted instantiation: grant_table.c:radix_tree_ptr_to_int
Unexecuted instantiation: guestcopy.c:radix_tree_ptr_to_int
Unexecuted instantiation: kernel.c:radix_tree_ptr_to_int
Unexecuted instantiation: keyhandler.c:radix_tree_ptr_to_int
Unexecuted instantiation: kexec.c:radix_tree_ptr_to_int
Unexecuted instantiation: kimage.c:radix_tree_ptr_to_int
Unexecuted instantiation: mem_access.c:radix_tree_ptr_to_int
Unexecuted instantiation: memory.c:radix_tree_ptr_to_int
Unexecuted instantiation: monitor.c:radix_tree_ptr_to_int
Unexecuted instantiation: multicall.c:radix_tree_ptr_to_int
Unexecuted instantiation: page_alloc.c:radix_tree_ptr_to_int
Unexecuted instantiation: rangeset.c:radix_tree_ptr_to_int
Unexecuted instantiation: radix-tree.c:radix_tree_ptr_to_int
Unexecuted instantiation: rcupdate.c:radix_tree_ptr_to_int
Unexecuted instantiation: sched_arinc653.c:radix_tree_ptr_to_int
Unexecuted instantiation: sched_credit.c:radix_tree_ptr_to_int
Unexecuted instantiation: sched_credit2.c:radix_tree_ptr_to_int
Unexecuted instantiation: sched_rt.c:radix_tree_ptr_to_int
Unexecuted instantiation: sched_null.c:radix_tree_ptr_to_int
Unexecuted instantiation: schedule.c:radix_tree_ptr_to_int
Unexecuted instantiation: shutdown.c:radix_tree_ptr_to_int
Unexecuted instantiation: softirq.c:radix_tree_ptr_to_int
Unexecuted instantiation: spinlock.c:radix_tree_ptr_to_int
Unexecuted instantiation: stop_machine.c:radix_tree_ptr_to_int
Unexecuted instantiation: symbols.c:radix_tree_ptr_to_int
Unexecuted instantiation: sysctl.c:radix_tree_ptr_to_int
Unexecuted instantiation: tasklet.c:radix_tree_ptr_to_int
Unexecuted instantiation: time.c:radix_tree_ptr_to_int
Unexecuted instantiation: timer.c:radix_tree_ptr_to_int
Unexecuted instantiation: trace.c:radix_tree_ptr_to_int
Unexecuted instantiation: vm_event.c:radix_tree_ptr_to_int
Unexecuted instantiation: vsprintf.c:radix_tree_ptr_to_int
Unexecuted instantiation: wait.c:radix_tree_ptr_to_int
Unexecuted instantiation: xenoprof.c:radix_tree_ptr_to_int
Unexecuted instantiation: tmem.c:radix_tree_ptr_to_int
Unexecuted instantiation: tmem_xen.c:radix_tree_ptr_to_int
Unexecuted instantiation: tmem_control.c:radix_tree_ptr_to_int
Unexecuted instantiation: llvm.c:radix_tree_ptr_to_int
Unexecuted instantiation: libelf-loader.c:radix_tree_ptr_to_int
Unexecuted instantiation: console.c:radix_tree_ptr_to_int
Unexecuted instantiation: ns16550.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpufreq.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpufreq_ondemand.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpufreq_misc_governors.c:radix_tree_ptr_to_int
Unexecuted instantiation: utility.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpci.c:radix_tree_ptr_to_int
Unexecuted instantiation: header.c:radix_tree_ptr_to_int
Unexecuted instantiation: msi.c:radix_tree_ptr_to_int
Unexecuted instantiation: msix.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu.c:radix_tree_ptr_to_int
Unexecuted instantiation: io.c:radix_tree_ptr_to_int
Unexecuted instantiation: pci.c:radix_tree_ptr_to_int
Unexecuted instantiation: utils.c:radix_tree_ptr_to_int
Unexecuted instantiation: qinval.c:radix_tree_ptr_to_int
Unexecuted instantiation: intremap.c:radix_tree_ptr_to_int
Unexecuted instantiation: quirks.c:radix_tree_ptr_to_int
Unexecuted instantiation: vtd.c:radix_tree_ptr_to_int
Unexecuted instantiation: ats.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu_init.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu_map.c:radix_tree_ptr_to_int
Unexecuted instantiation: pci_amd_iommu.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu_intr.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu_cmd.c:radix_tree_ptr_to_int
Unexecuted instantiation: iommu_guest.c:radix_tree_ptr_to_int
Unexecuted instantiation: pmstat.c:radix_tree_ptr_to_int
Unexecuted instantiation: xsm_core.c:radix_tree_ptr_to_int
Unexecuted instantiation: apic.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpuid.c:radix_tree_ptr_to_int
Unexecuted instantiation: compat.c:radix_tree_ptr_to_int
Unexecuted instantiation: crash.c:radix_tree_ptr_to_int
Unexecuted instantiation: debug.c:radix_tree_ptr_to_int
Unexecuted instantiation: domain_page.c:radix_tree_ptr_to_int
Unexecuted instantiation: flushtlb.c:radix_tree_ptr_to_int
Unexecuted instantiation: hypercall.c:radix_tree_ptr_to_int
Unexecuted instantiation: i387.c:radix_tree_ptr_to_int
Unexecuted instantiation: i8259.c:radix_tree_ptr_to_int
Unexecuted instantiation: io_apic.c:radix_tree_ptr_to_int
Unexecuted instantiation: msr.c:radix_tree_ptr_to_int
Unexecuted instantiation: ioport_emulate.c:radix_tree_ptr_to_int
irq.c:radix_tree_ptr_to_int
Line
Count
Source
188
7.99k
{
189
7.99k
    ASSERT(((long)ptr & 0x3) == 0x2);
190
7.99k
    return (int)((long)ptr >> 2);
191
7.99k
}
Unexecuted instantiation: machine_kexec.c:radix_tree_ptr_to_int
Unexecuted instantiation: microcode_amd.c:radix_tree_ptr_to_int
Unexecuted instantiation: microcode_intel.c:radix_tree_ptr_to_int
Unexecuted instantiation: microcode.c:radix_tree_ptr_to_int
Unexecuted instantiation: mm.c:radix_tree_ptr_to_int
Unexecuted instantiation: mpparse.c:radix_tree_ptr_to_int
Unexecuted instantiation: nmi.c:radix_tree_ptr_to_int
Unexecuted instantiation: numa.c:radix_tree_ptr_to_int
Unexecuted instantiation: physdev.c:radix_tree_ptr_to_int
Unexecuted instantiation: platform_hypercall.c:radix_tree_ptr_to_int
Unexecuted instantiation: psr.c:radix_tree_ptr_to_int
Unexecuted instantiation: setup.c:radix_tree_ptr_to_int
Unexecuted instantiation: smp.c:radix_tree_ptr_to_int
Unexecuted instantiation: smpboot.c:radix_tree_ptr_to_int
Unexecuted instantiation: traps.c:radix_tree_ptr_to_int
Unexecuted instantiation: usercopy.c:radix_tree_ptr_to_int
Unexecuted instantiation: x86_emulate.c:radix_tree_ptr_to_int
Unexecuted instantiation: tboot.c:radix_tree_ptr_to_int
Unexecuted instantiation: xstate.c:radix_tree_ptr_to_int
Unexecuted instantiation: power.c:radix_tree_ptr_to_int
Unexecuted instantiation: suspend.c:radix_tree_ptr_to_int
Unexecuted instantiation: cpu_idle.c:radix_tree_ptr_to_int
Unexecuted instantiation: amd.c:radix_tree_ptr_to_int
Unexecuted instantiation: common.c:radix_tree_ptr_to_int
Unexecuted instantiation: intel.c:radix_tree_ptr_to_int
Unexecuted instantiation: mwait-idle.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpmu.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpmu_amd.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpmu_intel.c:radix_tree_ptr_to_int
Unexecuted instantiation: amd_nonfatal.c:radix_tree_ptr_to_int
Unexecuted instantiation: mce_amd.c:radix_tree_ptr_to_int
Unexecuted instantiation: mcaction.c:radix_tree_ptr_to_int
Unexecuted instantiation: barrier.c:radix_tree_ptr_to_int
Unexecuted instantiation: mctelem.c:radix_tree_ptr_to_int
Unexecuted instantiation: mce.c:radix_tree_ptr_to_int
Unexecuted instantiation: mce-apei.c:radix_tree_ptr_to_int
Unexecuted instantiation: mce_intel.c:radix_tree_ptr_to_int
Unexecuted instantiation: non-fatal.c:radix_tree_ptr_to_int
Unexecuted instantiation: util.c:radix_tree_ptr_to_int
Unexecuted instantiation: vmce.c:radix_tree_ptr_to_int
Unexecuted instantiation: delivery.c:radix_tree_ptr_to_int
Unexecuted instantiation: asid.c:radix_tree_ptr_to_int
Unexecuted instantiation: dm.c:radix_tree_ptr_to_int
Unexecuted instantiation: emulate.c:radix_tree_ptr_to_int
Unexecuted instantiation: hpet.c:radix_tree_ptr_to_int
Unexecuted instantiation: hvm.c:radix_tree_ptr_to_int
Unexecuted instantiation: i8254.c:radix_tree_ptr_to_int
Unexecuted instantiation: intercept.c:radix_tree_ptr_to_int
Unexecuted instantiation: ioreq.c:radix_tree_ptr_to_int
Unexecuted instantiation: mtrr.c:radix_tree_ptr_to_int
Unexecuted instantiation: nestedhvm.c:radix_tree_ptr_to_int
Unexecuted instantiation: pmtimer.c:radix_tree_ptr_to_int
Unexecuted instantiation: rtc.c:radix_tree_ptr_to_int
Unexecuted instantiation: save.c:radix_tree_ptr_to_int
Unexecuted instantiation: stdvga.c:radix_tree_ptr_to_int
Unexecuted instantiation: vioapic.c:radix_tree_ptr_to_int
Unexecuted instantiation: viridian.c:radix_tree_ptr_to_int
Unexecuted instantiation: vlapic.c:radix_tree_ptr_to_int
Unexecuted instantiation: vmsi.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpic.c:radix_tree_ptr_to_int
Unexecuted instantiation: vpt.c:radix_tree_ptr_to_int
Unexecuted instantiation: intr.c:radix_tree_ptr_to_int
Unexecuted instantiation: nestedsvm.c:radix_tree_ptr_to_int
Unexecuted instantiation: svm.c:radix_tree_ptr_to_int
Unexecuted instantiation: svmdebug.c:radix_tree_ptr_to_int
Unexecuted instantiation: vmcb.c:radix_tree_ptr_to_int
Unexecuted instantiation: realmode.c:radix_tree_ptr_to_int
Unexecuted instantiation: vmcs.c:radix_tree_ptr_to_int
Unexecuted instantiation: vmx.c:radix_tree_ptr_to_int
Unexecuted instantiation: vvmx.c:radix_tree_ptr_to_int
Unexecuted instantiation: paging.c:radix_tree_ptr_to_int
Unexecuted instantiation: p2m.c:radix_tree_ptr_to_int
Unexecuted instantiation: p2m-pt.c:radix_tree_ptr_to_int
Unexecuted instantiation: p2m-ept.c:radix_tree_ptr_to_int
Unexecuted instantiation: p2m-pod.c:radix_tree_ptr_to_int
Unexecuted instantiation: altp2m.c:radix_tree_ptr_to_int
Unexecuted instantiation: guest_walk.c:radix_tree_ptr_to_int
Unexecuted instantiation: mem_paging.c:radix_tree_ptr_to_int
Unexecuted instantiation: mem_sharing.c:radix_tree_ptr_to_int
Unexecuted instantiation: multi.c:radix_tree_ptr_to_int
Unexecuted instantiation: hap.c:radix_tree_ptr_to_int
Unexecuted instantiation: nested_hap.c:radix_tree_ptr_to_int
Unexecuted instantiation: nested_ept.c:radix_tree_ptr_to_int
Unexecuted instantiation: nmi_int.c:radix_tree_ptr_to_int
Unexecuted instantiation: op_model_ppro.c:radix_tree_ptr_to_int
Unexecuted instantiation: op_model_athlon.c:radix_tree_ptr_to_int
Unexecuted instantiation: backtrace.c:radix_tree_ptr_to_int
Unexecuted instantiation: callback.c:radix_tree_ptr_to_int
Unexecuted instantiation: descriptor-tables.c:radix_tree_ptr_to_int
Unexecuted instantiation: emul-gate-op.c:radix_tree_ptr_to_int
Unexecuted instantiation: emul-inv-op.c:radix_tree_ptr_to_int
Unexecuted instantiation: emul-priv-op.c:radix_tree_ptr_to_int
Unexecuted instantiation: iret.c:radix_tree_ptr_to_int
Unexecuted instantiation: misc-hypercalls.c:radix_tree_ptr_to_int
Unexecuted instantiation: ro-page-fault.c:radix_tree_ptr_to_int
192
193
int radix_tree_insert(struct radix_tree_root *, unsigned long, void *);
194
void *radix_tree_lookup(struct radix_tree_root *, unsigned long);
195
void **radix_tree_lookup_slot(struct radix_tree_root *, unsigned long);
196
void *radix_tree_delete(struct radix_tree_root *, unsigned long);
197
unsigned int
198
radix_tree_gang_lookup(struct radix_tree_root *root, void **results,
199
      unsigned long first_index, unsigned int max_items);
200
unsigned int
201
radix_tree_gang_lookup_slot(struct radix_tree_root *root, void ***results,
202
      unsigned long first_index, unsigned int max_items);
203
unsigned long radix_tree_next_hole(struct radix_tree_root *root,
204
        unsigned long index, unsigned long max_scan);
205
unsigned long radix_tree_prev_hole(struct radix_tree_root *root,
206
        unsigned long index, unsigned long max_scan);
207
208
#endif /* _XEN_RADIX_TREE_H */