Lines Matching refs:head
33 dump_hypervisor_backtrace(struct vcpu *vcpu, const struct frame_head *head, in dump_hypervisor_backtrace() argument
36 if (!xenoprof_add_trace(vcpu, head->ret, mode)) in dump_hypervisor_backtrace()
41 if (head >= head->ebp) in dump_hypervisor_backtrace()
44 return head->ebp; in dump_hypervisor_backtrace()
56 dump_guest_backtrace(struct vcpu *vcpu, const struct frame_head *head, in dump_guest_backtrace() argument
64 { .c = (unsigned long)head }; in dump_guest_backtrace()
79 const_guest_handle_from_ptr(head, frame_head_t); in dump_guest_backtrace()
95 if (head >= bufhead.ebp) in dump_guest_backtrace()
132 static int valid_hypervisor_stack(const struct frame_head *head, in valid_hypervisor_stack() argument
135 unsigned long headaddr = (unsigned long)head; in valid_hypervisor_stack()
143 static int valid_hypervisor_stack(const struct frame_head *head, in valid_hypervisor_stack() argument
153 const struct frame_head *head = (void *)regs->rbp; in xenoprof_backtrace() local
156 while (depth-- && valid_hypervisor_stack(head, regs)) in xenoprof_backtrace()
157 head = dump_hypervisor_backtrace(vcpu, head, mode); in xenoprof_backtrace()
161 while (depth-- && head) in xenoprof_backtrace()
162 head = dump_guest_backtrace(vcpu, head, mode); in xenoprof_backtrace()