Lines Matching +full:high +full:- +full:to +full:- +full:low

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
28 unsigned long low = (unsigned long)stacktrace_info->overflow_stack_base; in stackinfo_get_overflow() local
29 unsigned long high = low + OVERFLOW_STACK_SIZE; in stackinfo_get_overflow() local
32 .low = low, in stackinfo_get_overflow()
33 .high = high, in stackinfo_get_overflow()
39 unsigned long low = (unsigned long)this_cpu_ptr_nvhe_sym(overflow_stack); in stackinfo_get_overflow_kern_va() local
40 unsigned long high = low + OVERFLOW_STACK_SIZE; in stackinfo_get_overflow_kern_va() local
43 .low = low, in stackinfo_get_overflow_kern_va()
44 .high = high, in stackinfo_get_overflow_kern_va()
52 unsigned long low = (unsigned long)stacktrace_info->stack_base; in stackinfo_get_hyp() local
53 unsigned long high = low + PAGE_SIZE; in stackinfo_get_hyp() local
56 .low = low, in stackinfo_get_hyp()
57 .high = high, in stackinfo_get_hyp()
63 unsigned long low = (unsigned long)*this_cpu_ptr(&kvm_arm_hyp_stack_page); in stackinfo_get_hyp_kern_va() local
64 unsigned long high = low + PAGE_SIZE; in stackinfo_get_hyp_kern_va() local
67 .low = low, in stackinfo_get_hyp_kern_va()
68 .high = high, in stackinfo_get_hyp_kern_va()
73 * kvm_nvhe_stack_kern_va - Convert KVM nVHE HYP stack addresses to a kernel VAs
75 * The nVHE hypervisor stack is mapped in the flexible 'private' VA range, to
82 * Returns true on success and updates @addr to its corresponding kernel VA;
102 *addr = *addr - stack_hyp.low + stack_kern.low; in kvm_nvhe_stack_kern_va()
107 * Convert a KVN nVHE HYP frame record address to a kernel VA
117 * The FP is in the hypervisor VA space. Convert it to the kernel VA in unwind_next()
120 if (!kvm_nvhe_stack_kern_record_va(&state->fp)) in unwind_next()
121 return -EINVAL; in unwind_next()
132 if (!consume_entry(cookie, state->pc)) in unwind()
141 * kvm_nvhe_dump_backtrace_entry - Symbolize and print an nVHE backtrace entry
144 * @where : the program counter corresponding to the stack frame
148 unsigned long va_mask = GENMASK_ULL(vabits_actual - 1, 0); in kvm_nvhe_dump_backtrace_entry()
151 /* Mask tags and convert to kern addr */ in kvm_nvhe_dump_backtrace_entry()
165 kvm_err("---[ end nVHE call trace ]---\n"); in kvm_nvhe_dump_backtrace_end()
169 * hyp_dump_backtrace - Dump the non-protected nVHE backtrace.
173 * The host can directly access HYP stack pages in non-protected
192 kvm_nvhe_unwind_init(&state, stacktrace_info->fp, stacktrace_info->pc); in hyp_dump_backtrace()
204 * pkvm_dump_backtrace - Dump the protected nVHE HYP backtrace.
235 * kvm_nvhe_dump_backtrace - Dump KVM nVHE hypervisor backtrace.