Lines Matching +full:low +full:- +full:to +full:- +full:high
1 /* SPDX-License-Identifier: GPL-2.0-only */
7 * 1) Non-protected nVHE mode - the host can directly access the
9 * to allocate shared buffers for the host to read the unwinded
12 * 2) pKVM (protected nVHE) mode - the host cannot directly access
13 * the HYP memory. The stack is unwinded in EL2 and dumped to a shared
29 unsigned long low = (unsigned long)stacktrace_info->overflow_stack_base; in stackinfo_get_overflow() local
30 unsigned long high = low + OVERFLOW_STACK_SIZE; in stackinfo_get_overflow() local
33 .low = low, in stackinfo_get_overflow()
34 .high = high, in stackinfo_get_overflow()
40 unsigned long low = (unsigned long)this_cpu_ptr_nvhe_sym(overflow_stack); in stackinfo_get_overflow_kern_va() local
41 unsigned long high = low + OVERFLOW_STACK_SIZE; in stackinfo_get_overflow_kern_va() local
44 .low = low, in stackinfo_get_overflow_kern_va()
45 .high = high, in stackinfo_get_overflow_kern_va()
53 unsigned long low = (unsigned long)stacktrace_info->stack_base; in stackinfo_get_hyp() local
54 unsigned long high = low + NVHE_STACK_SIZE; in stackinfo_get_hyp() local
57 .low = low, in stackinfo_get_hyp()
58 .high = high, in stackinfo_get_hyp()
64 unsigned long low = (unsigned long)*this_cpu_ptr(&kvm_arm_hyp_stack_base); in stackinfo_get_hyp_kern_va() local
65 unsigned long high = low + NVHE_STACK_SIZE; in stackinfo_get_hyp_kern_va() local
68 .low = low, in stackinfo_get_hyp_kern_va()
69 .high = high, in stackinfo_get_hyp_kern_va()
74 * kvm_nvhe_stack_kern_va - Convert KVM nVHE HYP stack addresses to a kernel VAs
76 * The nVHE hypervisor stack is mapped in the flexible 'private' VA range, to
83 * Returns true on success and updates @addr to its corresponding kernel VA;
103 *addr = *addr - stack_hyp.low + stack_kern.low; in kvm_nvhe_stack_kern_va()
108 * Convert a KVN nVHE HYP frame record address to a kernel VA
118 * The FP is in the hypervisor VA space. Convert it to the kernel VA in unwind_next()
121 if (!kvm_nvhe_stack_kern_record_va(&state->fp)) in unwind_next()
122 return -EINVAL; in unwind_next()
133 if (!consume_entry(cookie, state->pc)) in unwind()
142 * kvm_nvhe_dump_backtrace_entry - Symbolize and print an nVHE backtrace entry
145 * @where : the program counter corresponding to the stack frame
149 unsigned long va_mask = GENMASK_ULL(__hyp_va_bits - 1, 0); in kvm_nvhe_dump_backtrace_entry()
152 /* Mask tags and convert to kern addr */ in kvm_nvhe_dump_backtrace_entry()
166 kvm_err("---[ end nVHE call trace ]---\n"); in kvm_nvhe_dump_backtrace_end()
170 * hyp_dump_backtrace - Dump the non-protected nVHE backtrace.
174 * The host can directly access HYP stack pages in non-protected
193 kvm_nvhe_unwind_init(&state, stacktrace_info->fp, stacktrace_info->pc); in hyp_dump_backtrace()
205 * pkvm_dump_backtrace - Dump the protected nVHE HYP backtrace.
236 * kvm_nvhe_dump_backtrace - Dump KVM nVHE hypervisor backtrace.