Key: ELF symbol (primary) ELF symbol source (with column ║) frame instruction +variable (range start) -variable (range end) inlining control-flow forwards branch ──> backwards branch ══>Compilation unit 00007834 00008d30 arch/arm64/kvm/hyp/nvhe/psci-relay.c
instructions
header
.debug_abbrev die abbreviation table
.debug_info die tree
.debug_line line number info
.debug_line evaluated line info
simple die tree
simple die tree globals
simple die tree locals
inlined subroutine info
inlined subroutine info by range
**00007834 <kvm_host_psci_cpu_entry>:
00007834 <$x>:
+ kvm_host_psci_cpu_entry params:
+is_cpu_on param typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x7834 0x7a2c (DW_OP_fbreg -0x4c)
kvm_host_psci_cpu_entry:210.0 (psci-relay.c) Sbepe ║{
+is_cpu_on param typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x7834 0x7a2c (DW_OP_fbreg -0x4c) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:209
+boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x7834 0x7a2c (DW_OP_fbreg -0x58) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:211
+host_ctxt var pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7834 0x7a2c (DW_OP_fbreg -0x60) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:212
~ 00007834: d10503ff sub sp, sp, #0x140
~ 00007838: a9127bfd stp x29, x30, [sp, #288]
~ 0000783c: f9009bfc str x28, [sp, #304]
00007834 CFA:r31 r28:u r29:u r30:u
~ 00007840: 910483fd add x29, sp, #0x120
~ 00007844: 12000008 and w8, w0, #0x1
~ 00007848: 381b43a8 sturb w8, [x29, #-76]
kvm_host_psci_cpu_entry:214.15 (psci-relay.c) SbePe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
~ ┌─0000784c: 14000001 b 7850 <kvm_host_psci_cpu_entry+0x1c>
│
~ └>00007850: aa1f03e8 mov x8, xzr <- 0000784c(b)<kvm_host_psci_cpu_entry+0x1c>
kvm_host_psci_cpu_entry:214.15 (psci-relay.c) sbepe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
+__vpp_verify var pointer(const(no type)) 0x7854 0x785c (DW_OP_fbreg -0x68) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
~ 00007854: f81983a8 stur x8, [x29, #-104]
~ ┌─00007858: 14000001 b 785c <kvm_host_psci_cpu_entry+0x28>
-__vpp_verify var pointer(const(no type)) 0x7854 0x785c (DW_OP_fbreg -0x68) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
│
│ kvm_host_psci_cpu_entry:214.15 (psci-relay.c) sbepe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x785c 0x7894 (DW_OP_fbreg -0x78) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
+addr var pointer(struct kvm_host_data<5bca5>/<5c0f3>) 0x785c 0x7874 (DW_OP_fbreg -0x80) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
~ └>0000785c: d0000088 adrp x8, 19000 <kvm_host_data> <- 00007858(b)<kvm_host_psci_cpu_entry+0x28>
~ 00007860: 91000108 add x8, x8, #0x0
~ 00007864: f81803a8 stur x8, [x29, #-128]
~ 00007868: f85803a8 ldur x8, [x29, #-128]
~ 0000786c: f81783a8 stur x8, [x29, #-136]
~ 00007870: f85783a8 ldur x8, [x29, #-136]
-addr var pointer(struct kvm_host_data<5bca5>/<5c0f3>) 0x785c 0x7874 (DW_OP_fbreg -0x80) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
kvm_host_psci_cpu_entry:214.15 (psci-relay.c) sbepe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
~ 00007874: f81883a8 stur x8, [x29, #-120]
~ 00007878: f85883a8 ldur x8, [x29, #-120]
~ 0000787c: f90013e8 str x8, [sp, #32]
~ 00007880: 9400006b bl 7a2c <__hyp_my_cpu_offset>
~ 00007884: f94013e8 ldr x8, [sp, #32] <- 00007880(bl-succ)<return>
~ 00007888: 8b000108 add x8, x8, x0
~ 0000788c: f9004be8 str x8, [sp, #144]
~ 00007890: f9404be8 ldr x8, [sp, #144]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x785c 0x7894 (DW_OP_fbreg -0x78) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
kvm_host_psci_cpu_entry:214.15 (psci-relay.c) sbepe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
+__vpp_verify var pointer(const(no type)) 0x7894 0x7898 (DW_OP_fbreg -0x68) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
~ 00007894: f81903a8 stur x8, [x29, #-112]
-__vpp_verify var pointer(const(no type)) 0x7894 0x7898 (DW_OP_fbreg -0x68) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:214
kvm_host_psci_cpu_entry:214.15 (psci-relay.c) sbepe host_ctxt = &║this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
~ 00007898: f85903a8 ldur x8, [x29, #-112]
kvm_host_psci_cpu_entry:214.12 (psci-relay.c) sbepe host_ctxt ║= &this_cpu_ptr(hyp_symbol_addr(kvm_host_data))->host_ctxt;
~ 0000789c: f81a03a8 stur x8, [x29, #-96]
kvm_host_psci_cpu_entry:216.6 (psci-relay.c) Sbepe if (║is_cpu_on)
~ 000078a0: 385b43a9 ldurb w9, [x29, #-76]
kvm_host_psci_cpu_entry:216.6 (psci-relay.c) sbepe if (║is_cpu_on)
~ ┌────000078a4: 36000309 tbz w9, #0, 7904 <kvm_host_psci_cpu_entry+0xd0>
│
~ │ ┌─000078a8: 14000001 b 78ac <kvm_host_psci_cpu_entry+0x78> <- 000078a4(b.cc-succ)<fallthrough>
│ │
│ │ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) Sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
~ │┌─└>000078ac: 14000001 b 78b0 <kvm_host_psci_cpu_entry+0x7c> <- 000078a8(b)<kvm_host_psci_cpu_entry+0x78>
││
~ │└──>000078b0: aa1f03e8 mov x8, xzr <- 000078ac(b)<kvm_host_psci_cpu_entry+0x7c>
│ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
+__vpp_verify var pointer(const(no type)) 0x78b4 0x78bc (DW_OP_breg31 0x88) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
~ │ 000078b4: f90047e8 str x8, [sp, #136]
~ │ ┌─000078b8: 14000001 b 78bc <kvm_host_psci_cpu_entry+0x88>
-__vpp_verify var pointer(const(no type)) 0x78b4 0x78bc (DW_OP_breg31 0x88) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
│ │
│ │ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x78bc 0x78f4 (DW_OP_breg31 0x78) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
+addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x78bc 0x78d4 (DW_OP_breg31 0x70) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
~ │ └>000078bc: d0000088 adrp x8, 19000 <kvm_host_data> <- 000078b8(b)<kvm_host_psci_cpu_entry+0x88>
~ │ 000078c0: 91396108 add x8, x8, #0xe58
~ │ 000078c4: f9003be8 str x8, [sp, #112]
~ │ 000078c8: f9403be8 ldr x8, [sp, #112]
~ │ 000078cc: f90037e8 str x8, [sp, #104]
~ │ 000078d0: f94037e8 ldr x8, [sp, #104]
-addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x78bc 0x78d4 (DW_OP_breg31 0x70) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
│ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
~ │ 000078d4: f9003fe8 str x8, [sp, #120]
~ │ 000078d8: f9403fe8 ldr x8, [sp, #120]
~ │ 000078dc: f9000fe8 str x8, [sp, #24]
~ │ 000078e0: 94000053 bl 7a2c <__hyp_my_cpu_offset>
│
~ │ 000078e4: f9400fe8 ldr x8, [sp, #24] <- 000078e0(bl-succ)<return>
~ │ 000078e8: 8b000108 add x8, x8, x0
~ │ 000078ec: f90033e8 str x8, [sp, #96]
~ │ 000078f0: f94033e8 ldr x8, [sp, #96]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x78bc 0x78f4 (DW_OP_breg31 0x78) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
│ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
+__vpp_verify var pointer(const(no type)) 0x78f4 0x78f8 (DW_OP_breg31 0x88) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
~ │ 000078f4: f90043e8 str x8, [sp, #128]
-__vpp_verify var pointer(const(no type)) 0x78f4 0x78f8 (DW_OP_breg31 0x88) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:217
│ kvm_host_psci_cpu_entry:217.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
~ │ 000078f8: f94043e8 ldr x8, [sp, #128]
│ kvm_host_psci_cpu_entry:217.13 (psci-relay.c) sbepe boot_args ║= this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
~ │ 000078fc: f81a83a8 stur x8, [x29, #-88]
│ kvm_host_psci_cpu_entry:217.3 (psci-relay.c) sbepe ║boot_args = this_cpu_ptr(hyp_symbol_addr(cpu_on_args));
~ │┌───00007900: 14000017 b 795c <kvm_host_psci_cpu_entry+0x128>
││
││ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) Sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ └┼>┌─00007904: 14000001 b 7908 <kvm_host_psci_cpu_entry+0xd4> <- 000078a4(b.cc)<kvm_host_psci_cpu_entry+0xd0>
│ │
~ │ └>00007908: aa1f03e8 mov x8, xzr <- 00007904(b)<kvm_host_psci_cpu_entry+0xd4>
│ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x790c 0x7914 (DW_OP_breg31 0x58) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
~ │ 0000790c: f9002fe8 str x8, [sp, #88]
~ │ ┌─00007910: 14000001 b 7914 <kvm_host_psci_cpu_entry+0xe0>
-__vpp_verify var pointer(const(no type)) 0x790c 0x7914 (DW_OP_breg31 0x58) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
│ │
│ │ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x7914 0x794c (DW_OP_breg31 0x48) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
+addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x7914 0x792c (DW_OP_breg31 0x40) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
~ │ └>00007914: d0000088 adrp x8, 19000 <kvm_host_data> <- 00007910(b)<kvm_host_psci_cpu_entry+0xe0>
~ │ 00007918: 9139c108 add x8, x8, #0xe70
~ │ 0000791c: f90023e8 str x8, [sp, #64]
~ │ 00007920: f94023e8 ldr x8, [sp, #64]
~ │ 00007924: f9001fe8 str x8, [sp, #56]
~ │ 00007928: f9401fe8 ldr x8, [sp, #56]
-addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x7914 0x792c (DW_OP_breg31 0x40) lexblock:lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
│ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │ 0000792c: f90027e8 str x8, [sp, #72]
~ │ 00007930: f94027e8 ldr x8, [sp, #72]
~ │ 00007934: f9000be8 str x8, [sp, #16]
~ │ 00007938: 9400003d bl 7a2c <__hyp_my_cpu_offset>
│
~ │ 0000793c: f9400be8 ldr x8, [sp, #16] <- 00007938(bl-succ)<return>
~ │ 00007940: 8b000108 add x8, x8, x0
~ │ 00007944: f9001be8 str x8, [sp, #48]
~ │ 00007948: f9401be8 ldr x8, [sp, #48]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x7914 0x794c (DW_OP_breg31 0x48) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
│ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x794c 0x7950 (DW_OP_breg31 0x58) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
~ │ 0000794c: f9002be8 str x8, [sp, #80]
-__vpp_verify var pointer(const(no type)) 0x794c 0x7950 (DW_OP_breg31 0x58) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:219
│ kvm_host_psci_cpu_entry:219.15 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │ 00007950: f9402be8 ldr x8, [sp, #80]
│ kvm_host_psci_cpu_entry:219.13 (psci-relay.c) sbepe boot_args ║= this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │ 00007954: f81a83a8 stur x8, [x29, #-88]
~ │ ┌─00007958: 14000001 b 795c <kvm_host_psci_cpu_entry+0x128>
│ │
│ │ kvm_host_psci_cpu_entry:221.26 (psci-relay.c) Sbepe cpu_reg(host_ctxt, 0) = ║boot_args->r0;
~ └>└>0000795c: f85a83a8 ldur x8, [x29, #-88] <- 00007900(b)<kvm_host_psci_cpu_entry+0x128>,00007958(b)<kvm_host_psci_cpu_entry+0x128>
kvm_host_psci_cpu_entry:221.37 (psci-relay.c) sbepe cpu_reg(host_ctxt, 0) = boot_args->║r0;
~ 00007960: f9400908 ldr x8, [x8, #16]
kvm_host_psci_cpu_entry:221.2 (psci-relay.c) sbepe ║cpu_reg(host_ctxt, 0) = boot_args->r0;
~ 00007964: f85a03a9 ldur x9, [x29, #-96]
kvm_host_psci_cpu_entry:221.24 (psci-relay.c) sbepe cpu_reg(host_ctxt, 0) ║= boot_args->r0;
~ 00007968: f9000128 str x8, [x9]
kvm_host_psci_cpu_entry:222.2 (psci-relay.c) Sbepe ║write_sysreg_el2(boot_args->pc, SYS_ELR);
~ ┌─0000796c: 14000001 b 7970 <kvm_host_psci_cpu_entry+0x13c>
│
│ kvm_host_psci_cpu_entry:222.2 (psci-relay.c) sbepe ║write_sysreg_el2(boot_args->pc, SYS_ELR);
+__val var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7970 0x7988 (DW_OP_breg31 0x28) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:222
~ └>00007970: f85a83a8 ldur x8, [x29, #-88] <- 0000796c(b)<kvm_host_psci_cpu_entry+0x13c>
~ 00007974: f9400508 ldr x8, [x8, #8]
~ 00007978: f90017e8 str x8, [sp, #40]
~ 0000797c: f94017e8 ldr x8, [sp, #40]
~ 00007980: d51c4028 msr elr_el2, x8
~ ┌─00007984: 14000001 b 7988 <kvm_host_psci_cpu_entry+0x154>
-__val var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7970 0x7988 (DW_OP_breg31 0x28) lexblock:kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:222
│
│ kvm_host_psci_cpu_entry:224.6 (psci-relay.c) Sbepe if (║is_cpu_on)
~ └>00007988: 385b43a8 ldurb w8, [x29, #-76] <- 00007984(b)<kvm_host_psci_cpu_entry+0x154>
kvm_host_psci_cpu_entry:224.6 (psci-relay.c) sbepe if (║is_cpu_on)
~ ┌───0000798c: 360004c8 tbz w8, #0, 7a24 <kvm_host_psci_cpu_entry+0x1f0>
│
~ │ ┌─00007990: 14000001 b 7994 <kvm_host_psci_cpu_entry+0x160> <- 0000798c(b.cc-succ)<fallthrough>
│ │
│ │ kvm_host_psci_cpu_entry:225.21 (psci-relay.c) Sbepe release_boot_args(║boot_args);
~ │ └>00007994: f85a83a8 ldur x8, [x29, #-88] <- 00007990(b)<kvm_host_psci_cpu_entry+0x160>
~ │ 00007998: f81b83a8 stur x8, [x29, #-72]
d: 0x799c 0x7a20 release_boot_args inlined from kvm_host_psci_cpu_entry:225 (psci-relay.c) <6a5e2>:
d │ release_boot_args:110.22 (psci-relay.c) Sbepe atomic_set_release(&║args->lock, PSCI_BOOT_ARGS_UNLOCKED);
+args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x799c 0x7a20 (DW_OP_fbreg -0x48) release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~d │ 0000799c: f85b83a8 ldur x8, [x29, #-72]
~d │ 000079a0: f81c83a8 stur x8, [x29, #-56]
~d │ 000079a4: 2a1f03e9 mov w9, wzr
~d │ 000079a8: b81c43a9 stur w9, [x29, #-60]
e: 0x79ac 0x7a20 atomic_set_release inlined from release_boot_args:110 (psci-relay.c) <6a5ff>:<6a5e2>:
de │ atomic_set_release:54.26 (atomic-instrumented.h) Sbepe instrument_atomic_write(║v, sizeof(*v));
+v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x79ac 0x7a20 (DW_OP_fbreg -0x38) atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+i param int (base type, DW_ATE_signed size:4) 0x79ac 0x7a20 (DW_OP_fbreg -0x3c) atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~de │ 000079ac: f85c83a8 ldur x8, [x29, #-56]
~de │ 000079b0: f81d83a8 stur x8, [x29, #-40]
~de │ 000079b4: 52800089 mov w9, #0x4 // #4
~de │ 000079b8: 2a0903e8 mov w8, w9
~de │ 000079bc: f81d03a8 stur x8, [x29, #-48]
f: 0x79c0 0x79e8 instrument_atomic_write inlined from atomic_set_release:54 (atomic-instrumented.h) <6a623>:<6a5ff>:<6a5e2>:
def │ instrument_atomic_write:86.20 (instrumented.h) Sbepe kasan_check_write(║v, size);
+v param pointer(const(missing at <5bca5>/<6a434>)) 0x79c0 0x79e8 (DW_OP_fbreg -0x28) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x79c0 0x79e8 (DW_OP_fbreg -0x30) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~def │ 000079c0: f85d83a0 ldur x0, [x29, #-40]
def │ instrument_atomic_write:86.23 (instrumented.h) sbepe kasan_check_write(v, ║size);
~def │ 000079c4: b85d03a1 ldur w1, [x29, #-48]
~def │ 000079c8: b9000fe9 str w9, [sp, #12]
def │ instrument_atomic_write:86.2 (instrumented.h) sbepe ║kasan_check_write(v, size);
~def │ 000079cc: 940001a5 bl 8060 <kasan_check_write>
│
def │ instrument_atomic_write:87.2 (instrumented.h) Sbepe ║kcsan_check_atomic_write(v, size);
~def │ 000079d0: f85d83a8 ldur x8, [x29, #-40] <- 000079cc(bl-succ)<return>
~def │ 000079d4: f85d03a1 ldur x1, [x29, #-48]
~def │ 000079d8: 528000a2 mov w2, #0x5 // #5
~def │ 000079dc: b9000be0 str w0, [sp, #8]
~def │ 000079e0: aa0803e0 mov x0, x8
~def │ 000079e4: 940001a5 bl 8078 <kcsan_check_access>
-v param pointer(const(missing at <5bca5>/<6a434>)) 0x79c0 0x79e8 (DW_OP_fbreg -0x28) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x79c0 0x79e8 (DW_OP_fbreg -0x30) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│
de │ atomic_set_release:55.26 (atomic-instrumented.h) Sbepe arch_atomic_set_release(║v, i);
~de │ 000079e8: f85c83a8 ldur x8, [x29, #-56] <- 000079e4(bl-succ)<return>
de │ atomic_set_release:55.29 (atomic-instrumented.h) sbepe arch_atomic_set_release(v, ║i);
~de │ 000079ec: b85c43a9 ldur w9, [x29, #-60]
~de │ 000079f0: f81f83a8 stur x8, [x29, #-8]
~de │ 000079f4: b81f43a9 stur w9, [x29, #-12]
g: 0x79f8 0x7a20 arch_atomic_set_release inlined from atomic_set_release:55 (atomic-instrumented.h) <6a648>:<6a5ff>:<6a5e2>:
deg │ arch_atomic_set_release:163.2 (atomic-arch-fallback.h) Sbepe ║smp_store_release(&(v)->counter, i);
+v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x79f8 0x7a20 (DW_OP_fbreg -0x8) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+i param int (base type, DW_ATE_signed size:4) 0x79f8 0x7a20 (DW_OP_fbreg -0xc) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+__p var pointer(int (base type, DW_ATE_signed size:4)) 0x79f8 0x7a20 (DW_OP_fbreg -0x18) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+__u var union noname<5bca5>/<6a46d> 0x79f8 0x7a20 (DW_OP_fbreg -0x20) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~deg │ 000079f8: f85f83a8 ldur x8, [x29, #-8]
~deg │ 000079fc: f81e83a8 stur x8, [x29, #-24]
~deg │ 00007a00: b85f43a9 ldur w9, [x29, #-12]
~deg │ 00007a04: b81e03a9 stur w9, [x29, #-32]
~deg │ 00007a08: f85e83a0 ldur x0, [x29, #-24]
~deg │ 00007a0c: b9400fe1 ldr w1, [sp, #12]
~deg │ 00007a10: 94000194 bl 8060 <kasan_check_write>
│
~deg │ 00007a14: f85e83a8 ldur x8, [x29, #-24] <- 00007a10(bl-succ)<return>
~deg │ 00007a18: b85e03a9 ldur w9, [x29, #-32]
~deg │ 00007a1c: 889ffd09 stlr w9, [x8]
-args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x799c 0x7a20 (DW_OP_fbreg -0x48) release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x79ac 0x7a20 (DW_OP_fbreg -0x38) atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-i param int (base type, DW_ATE_signed size:4) 0x79ac 0x7a20 (DW_OP_fbreg -0x3c) atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x79f8 0x7a20 (DW_OP_fbreg -0x8) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-i param int (base type, DW_ATE_signed size:4) 0x79f8 0x7a20 (DW_OP_fbreg -0xc) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-__p var pointer(int (base type, DW_ATE_signed size:4)) 0x79f8 0x7a20 (DW_OP_fbreg -0x18) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-__u var union noname<5bca5>/<6a46d> 0x79f8 0x7a20 (DW_OP_fbreg -0x20) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ kvm_host_psci_cpu_entry:225.3 (psci-relay.c) Sbepe ║release_boot_args(boot_args);
~ │ ┌─00007a20: 14000001 b 7a24 <kvm_host_psci_cpu_entry+0x1f0>
│ │
│ │ kvm_host_psci_cpu_entry:227.15 (psci-relay.c) Sbepe __host_enter(║host_ctxt);
~ └>└>00007a24: f85a03a0 ldur x0, [x29, #-96] <- 0000798c(b.cc)<kvm_host_psci_cpu_entry+0x1f0>,00007a20(b)<kvm_host_psci_cpu_entry+0x1f0>
kvm_host_psci_cpu_entry:227.2 (psci-relay.c) sbepe ║__host_enter(host_ctxt);
00007844 CFA:r29+32 r28:c-16 r29:c-32 r30:c-24
~ 00007a28: 97fff9a1 bl 60ac <__host_enter>
-is_cpu_on param typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x7834 0x7a2c (DW_OP_fbreg -0x4c) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:209
-boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x7834 0x7a2c (DW_OP_fbreg -0x58) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:211
-host_ctxt var pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7834 0x7a2c (DW_OP_fbreg -0x60) kvm_host_psci_cpu_entry:arch/arm64/kvm/hyp/nvhe/psci-relay.c:212
**00007a2c <__hyp_my_cpu_offset>:
+ __hyp_my_cpu_offset params: none
__hyp_my_cpu_offset:23.0 (percpu.h) Sbepe ║{
00007a2c CFA:r31
~ 00007a2c: d10043ff sub sp, sp, #0x10 <- 00007880(bl)<__hyp_my_cpu_offset>,000078e0(bl)<__hyp_my_cpu_offset>,00007938(bl)<__hyp_my_cpu_offset>,00007a28(bl-succ)<return>,0000849c(bl)<__hyp_my_cpu_offset>,000084f0(bl)<__hyp_my_cpu_offset>,00008bec(bl)<__hyp_my_cpu_offset>,00008c40(bl)<__hyp_my_cpu_offset>
__hyp_my_cpu_offset:28.9 (percpu.h) SbePe return ║read_sysreg(tpidr_el2);
+__val var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7a30 0x7a44 (DW_OP_fbreg 0x8) lexblock:__hyp_my_cpu_offset:arch/arm64/kvm/hyp/nvhe/psci-relay.c:28
~ 00007a30: d53cd048 mrs x8, tpidr_el2
~ 00007a34: f90007e8 str x8, [sp, #8]
~ 00007a38: f94007e8 ldr x8, [sp, #8]
~ 00007a3c: f90003e8 str x8, [sp]
~ 00007a40: f94003e0 ldr x0, [sp]
-__val var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7a30 0x7a44 (DW_OP_fbreg 0x8) lexblock:__hyp_my_cpu_offset:arch/arm64/kvm/hyp/nvhe/psci-relay.c:28
__hyp_my_cpu_offset:28.2 (percpu.h) sbepe ║return read_sysreg(tpidr_el2);
~ 00007a44: 910043ff add sp, sp, #0x10
00007a30 CFA:r31+16
~ 00007a48: d65f03c0 ret
**00007a4c <kvm_host_psci_handler>:
+ kvm_host_psci_handler params:
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7a4c 0x7b68 (DW_OP_fbreg -0x10)
kvm_host_psci_handler:280.0 (psci-relay.c) Sbepe ║{
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7a4c 0x7b68 (DW_OP_fbreg -0x10) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:279
+func_id var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7a4c 0x7b68 (DW_OP_breg31 0x18) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:281
+ret var long unsigned int (base type, DW_ATE_unsigned size:8) 0x7a4c 0x7b68 (DW_OP_breg31 0x10) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:282
~ 00007a4c: d10103ff sub sp, sp, #0x40 <- 000071a4(bl)<kvm_host_psci_handler>
~ 00007a50: a9037bfd stp x29, x30, [sp, #48]
00007a4c CFA:r31 r29:u r30:u
~ 00007a54: 9100c3fd add x29, sp, #0x30
~ 00007a58: f81f03a0 stur x0, [x29, #-16]
kvm_host_psci_handler:281.2 (psci-relay.c) SbePe ║DECLARE_REG(u64, func_id, host_ctxt, 0);
~ 00007a5c: f85f03a8 ldur x8, [x29, #-16]
~ 00007a60: f9400108 ldr x8, [x8]
~ 00007a64: f9000fe8 str x8, [sp, #24]
kvm_host_psci_handler:284.31 (psci-relay.c) Sbepe switch (kvm_host_psci_config.║version) {
~ 00007a68: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00007a6c: b9472109 ldr w9, [x8, #1824]
kvm_host_psci_handler:284.2 (psci-relay.c) sbepe ║switch (kvm_host_psci_config.version) {
~ 00007a70: 2a0903ea mov w10, w9
~ 00007a74: 71000529 subs w9, w9, #0x1
~ 00007a78: b9000fea str w10, [sp, #12]
~ ┌──00007a7c: 540000c0 b.eq 7a94 <kvm_host_psci_handler+0x48> // b.none
│
~ │┌─00007a80: 14000001 b 7a84 <kvm_host_psci_handler+0x38> <- 00007a7c(b.cc-succ)<fallthrough>
││
~ │└>00007a84: b9400fe8 ldr w8, [sp, #12] <- 00007a80(b)<kvm_host_psci_handler+0x38>
│ kvm_host_psci_handler:284.2 (psci-relay.c) sbepe ║switch (kvm_host_psci_config.version) {
~ │ 00007a88: 71000909 subs w9, w8, #0x2
~ ┌┼──00007a8c: 540001c0 b.eq 7ac4 <kvm_host_psci_handler+0x78> // b.none
││
~ ┌┼┼──00007a90: 14000019 b 7af4 <kvm_host_psci_handler+0xa8> <- 00007a8c(b.cc-succ)<fallthrough>
│││
│││ kvm_host_psci_handler:286.25 (psci-relay.c) Sbepe if (!is_psci_0_1_call(║func_id))
~ ││└─>00007a94: f9400fe0 ldr x0, [sp, #24] <- 00007a7c(b.cc)<kvm_host_psci_handler+0x48>
││ kvm_host_psci_handler:286.8 (psci-relay.c) sbepe if (!║is_psci_0_1_call(func_id))
~ ││ 00007a98: 94000034 bl 7b68 <is_psci_0_1_call>
││
││ kvm_host_psci_handler:286.7 (psci-relay.c) sbepe if (║!is_psci_0_1_call(func_id))
~ ││┌──00007a9c: 370000a0 tbnz w0, #0, 7ab0 <kvm_host_psci_handler+0x64> <- 00007a98(bl-succ)<return>
│││
~ │││┌─00007aa0: 14000001 b 7aa4 <kvm_host_psci_handler+0x58> <- 00007a9c(b.cc-succ)<fallthrough>
││││
~ │││└>00007aa4: 2a1f03e8 mov w8, wzr <- 00007aa0(b)<kvm_host_psci_handler+0x58>
│││ kvm_host_psci_handler:287.4 (psci-relay.c) Sbepe ║return false;
~ │││ 00007aa8: 381ff3a8 sturb w8, [x29, #-1]
~ ┌────┼┼┼──00007aac: 1400002b b 7b58 <kvm_host_psci_handler+0x10c>
│ │││
│ │││ kvm_host_psci_handler:288.26 (psci-relay.c) Sbepe ret = psci_0_1_handler(║func_id, host_ctxt);
~ │ ││└─>00007ab0: f9400fe0 ldr x0, [sp, #24] <- 00007a9c(b.cc)<kvm_host_psci_handler+0x64>
│ ││ kvm_host_psci_handler:288.35 (psci-relay.c) sbepe ret = psci_0_1_handler(func_id, ║host_ctxt);
~ │ ││ 00007ab4: f85f03a1 ldur x1, [x29, #-16]
│ ││ kvm_host_psci_handler:288.9 (psci-relay.c) sbepe ret = ║psci_0_1_handler(func_id, host_ctxt);
~ │ ││ 00007ab8: 9400006a bl 7c60 <psci_0_1_handler>
│ ││
│ ││ kvm_host_psci_handler:288.7 (psci-relay.c) sbepe ret ║= psci_0_1_handler(func_id, host_ctxt);
~ │ ││ 00007abc: f9000be0 str x0, [sp, #16] <- 00007ab8(bl-succ)<return>
│ ││ kvm_host_psci_handler:289.3 (psci-relay.c) Sbepe ║break;
~ │ ┌─┼┼───00007ac0: 14000019 b 7b24 <kvm_host_psci_handler+0xd8>
│ │ ││
│ │ ││ kvm_host_psci_handler:291.25 (psci-relay.c) Sbepe if (!is_psci_0_2_call(║func_id))
~ │ │ │└──>00007ac4: f9400fe0 ldr x0, [sp, #24] <- 00007a8c(b.cc)<kvm_host_psci_handler+0x78>
│ │ │ kvm_host_psci_handler:291.8 (psci-relay.c) sbepe if (!║is_psci_0_2_call(func_id))
~ │ │ │ 00007ac8: 940000b0 bl 7d88 <is_psci_0_2_call>
│ │ │
│ │ │ kvm_host_psci_handler:291.7 (psci-relay.c) sbepe if (║!is_psci_0_2_call(func_id))
~ │ │ │ ┌──00007acc: 370000a0 tbnz w0, #0, 7ae0 <kvm_host_psci_handler+0x94> <- 00007ac8(bl-succ)<return>
│ │ │ │
~ │ │ │ │┌─00007ad0: 14000001 b 7ad4 <kvm_host_psci_handler+0x88> <- 00007acc(b.cc-succ)<fallthrough>
│ │ │ ││
~ │ │ │ │└>00007ad4: 2a1f03e8 mov w8, wzr <- 00007ad0(b)<kvm_host_psci_handler+0x88>
│ │ │ │ kvm_host_psci_handler:292.4 (psci-relay.c) Sbepe ║return false;
~ │ │ │ │ 00007ad8: 381ff3a8 sturb w8, [x29, #-1]
~ │ ┌┼─┼─┼──00007adc: 1400001f b 7b58 <kvm_host_psci_handler+0x10c>
│ ││ │ │
│ ││ │ │ kvm_host_psci_handler:293.26 (psci-relay.c) Sbepe ret = psci_0_2_handler(║func_id, host_ctxt);
~ │ ││ │ └─>00007ae0: f9400fe0 ldr x0, [sp, #24] <- 00007acc(b.cc)<kvm_host_psci_handler+0x94>
│ ││ │ kvm_host_psci_handler:293.35 (psci-relay.c) sbepe ret = psci_0_2_handler(func_id, ║host_ctxt);
~ │ ││ │ 00007ae4: f85f03a1 ldur x1, [x29, #-16]
│ ││ │ kvm_host_psci_handler:293.9 (psci-relay.c) sbepe ret = ║psci_0_2_handler(func_id, host_ctxt);
~ │ ││ │ 00007ae8: 940000ce bl 7e20 <psci_0_2_handler>
│ ││ │
│ ││ │ kvm_host_psci_handler:293.7 (psci-relay.c) sbepe ret ║= psci_0_2_handler(func_id, host_ctxt);
~ │ ││ │ 00007aec: f9000be0 str x0, [sp, #16] <- 00007ae8(bl-succ)<return>
│ ││ │ kvm_host_psci_handler:294.3 (psci-relay.c) Sbepe ║break;
~ │ ││ │┌───00007af0: 1400000d b 7b24 <kvm_host_psci_handler+0xd8>
│ ││ ││
│ ││ ││ kvm_host_psci_handler:296.25 (psci-relay.c) Sbepe if (!is_psci_0_2_call(║func_id))
~ │ ││ └┼──>00007af4: f9400fe0 ldr x0, [sp, #24] <- 00007a90(b)<kvm_host_psci_handler+0xa8>
│ ││ │ kvm_host_psci_handler:296.8 (psci-relay.c) sbepe if (!║is_psci_0_2_call(func_id))
~ │ ││ │ 00007af8: 940000a4 bl 7d88 <is_psci_0_2_call>
│ ││ │
│ ││ │ kvm_host_psci_handler:296.7 (psci-relay.c) sbepe if (║!is_psci_0_2_call(func_id))
~ │ ││ │┌──00007afc: 370000a0 tbnz w0, #0, 7b10 <kvm_host_psci_handler+0xc4> <- 00007af8(bl-succ)<return>
│ ││ ││
~ │ ││ ││┌─00007b00: 14000001 b 7b04 <kvm_host_psci_handler+0xb8> <- 00007afc(b.cc-succ)<fallthrough>
│ ││ │││
~ │ ││ ││└>00007b04: 2a1f03e8 mov w8, wzr <- 00007b00(b)<kvm_host_psci_handler+0xb8>
│ ││ ││ kvm_host_psci_handler:297.4 (psci-relay.c) Sbepe ║return false;
~ │ ││ ││ 00007b08: 381ff3a8 sturb w8, [x29, #-1]
~ │ ││ ┌┼┼──00007b0c: 14000013 b 7b58 <kvm_host_psci_handler+0x10c>
│ ││ │││
│ ││ │││ kvm_host_psci_handler:298.26 (psci-relay.c) Sbepe ret = psci_1_0_handler(║func_id, host_ctxt);
~ │ ││ ││└─>00007b10: f9400fe0 ldr x0, [sp, #24] <- 00007afc(b.cc)<kvm_host_psci_handler+0xc4>
│ ││ ││ kvm_host_psci_handler:298.35 (psci-relay.c) sbepe ret = psci_1_0_handler(func_id, ║host_ctxt);
~ │ ││ ││ 00007b14: f85f03a1 ldur x1, [x29, #-16]
│ ││ ││ kvm_host_psci_handler:298.9 (psci-relay.c) sbepe ret = ║psci_1_0_handler(func_id, host_ctxt);
~ │ ││ ││ 00007b18: 9400011b bl 7f84 <psci_1_0_handler>
│ ││ ││
│ ││ ││ kvm_host_psci_handler:298.7 (psci-relay.c) sbepe ret ║= psci_1_0_handler(func_id, host_ctxt);
~ │ ││ ││ 00007b1c: f9000be0 str x0, [sp, #16] <- 00007b18(bl-succ)<return>
│ ││ ││ kvm_host_psci_handler:299.3 (psci-relay.c) Sbepe ║break;
~ │ ││ ││ ┌─00007b20: 14000001 b 7b24 <kvm_host_psci_handler+0xd8>
│ ││ ││ │
│ ││ ││ │ kvm_host_psci_handler:302.26 (psci-relay.c) Sbepe cpu_reg(host_ctxt, 0) = ║ret;
~ │ │└>│└>└>00007b24: f9400be8 ldr x8, [sp, #16] <- 00007ac0(b)<kvm_host_psci_handler+0xd8>,00007af0(b)<kvm_host_psci_handler+0xd8>,00007b20(b)<kvm_host_psci_handler+0xd8>
│ │ │ kvm_host_psci_handler:302.2 (psci-relay.c) sbepe ║cpu_reg(host_ctxt, 0) = ret;
~ │ │ │ 00007b28: f85f03a9 ldur x9, [x29, #-16]
│ │ │ kvm_host_psci_handler:302.24 (psci-relay.c) sbepe cpu_reg(host_ctxt, 0) ║= ret;
~ │ │ │ 00007b2c: f9000128 str x8, [x9]
│ │ │ kvm_host_psci_handler:303.2 (psci-relay.c) Sbepe ║cpu_reg(host_ctxt, 1) = 0;
~ │ │ │ 00007b30: f85f03a8 ldur x8, [x29, #-16]
~ │ │ │ 00007b34: aa1f03e9 mov x9, xzr
│ │ │ kvm_host_psci_handler:303.24 (psci-relay.c) sbepe cpu_reg(host_ctxt, 1) ║= 0;
~ │ │ │ 00007b38: f9000509 str x9, [x8, #8]
│ │ │ kvm_host_psci_handler:304.2 (psci-relay.c) Sbepe ║cpu_reg(host_ctxt, 2) = 0;
~ │ │ │ 00007b3c: f85f03a8 ldur x8, [x29, #-16]
│ │ │ kvm_host_psci_handler:304.24 (psci-relay.c) sbepe cpu_reg(host_ctxt, 2) ║= 0;
~ │ │ │ 00007b40: f9000909 str x9, [x8, #16]
│ │ │ kvm_host_psci_handler:305.2 (psci-relay.c) Sbepe ║cpu_reg(host_ctxt, 3) = 0;
~ │ │ │ 00007b44: f85f03a8 ldur x8, [x29, #-16]
│ │ │ kvm_host_psci_handler:305.24 (psci-relay.c) sbepe cpu_reg(host_ctxt, 3) ║= 0;
~ │ │ │ 00007b48: f9000d09 str x9, [x8, #24]
~ │ │ │ 00007b4c: 5280002a mov w10, #0x1 // #1
│ │ │ kvm_host_psci_handler:306.2 (psci-relay.c) Sbepe ║return true;
~ │ │ │ 00007b50: 381ff3aa sturb w10, [x29, #-1]
~ │ │ │ ┌─00007b54: 14000001 b 7b58 <kvm_host_psci_handler+0x10c>
│ │ │ │
│ │ │ │ kvm_host_psci_handler:307.1 (psci-relay.c) Sbepe ║}
~ └>└─>└─>└>00007b58: 385ff3a0 ldurb w0, [x29, #-1] <- 00007aac(b)<kvm_host_psci_handler+0x10c>,00007adc(b)<kvm_host_psci_handler+0x10c>,00007b0c(b)<kvm_host_psci_handler+0x10c>,00007b54(b)<kvm_host_psci_handler+0x10c>
~ 00007b5c: a9437bfd ldp x29, x30, [sp, #48]
~ 00007b60: 910103ff add sp, sp, #0x40
00007a58 CFA:r29+16 r29:c-16 r30:c-8
~ 00007b64: d65f03c0 ret
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7a4c 0x7b68 (DW_OP_fbreg -0x10) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:279
-func_id var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7a4c 0x7b68 (DW_OP_breg31 0x18) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:281
-ret var long unsigned int (base type, DW_ATE_unsigned size:8) 0x7a4c 0x7b68 (DW_OP_breg31 0x10) kvm_host_psci_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:282
**00007b68 <is_psci_0_1_call>:
+ is_psci_0_1_call params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7b68 0x7c60 (DW_OP_fbreg 0x8)
is_psci_0_1_call:49.0 (psci-relay.c) Sbepe ║{
00007b68 CFA:r31
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7b68 0x7c60 (DW_OP_fbreg 0x8) is_psci_0_1_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:48
~ 00007b68: d10043ff sub sp, sp, #0x10 <- 00007a98(bl)<is_psci_0_1_call>
~ 00007b6c: f90007e0 str x0, [sp, #8]
is_psci_0_1_call:50.10 (psci-relay.c) SbePe return (║is_psci_0_1(cpu_suspend, func_id) ||
~ 00007b70: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00007b74: 395cd109 ldrb w9, [x8, #1844]
~ ┌───00007b78: 36000169 tbz w9, #0, 7ba4 <is_psci_0_1_call+0x3c>
│
~ │ ┌─00007b7c: 14000001 b 7b80 <is_psci_0_1_call+0x18> <- 00007b78(b.cc-succ)<fallthrough>
│ │
~ │ └>00007b80: f94007e8 ldr x8, [sp, #8] <- 00007b7c(b)<is_psci_0_1_call+0x18>
~ │ 00007b84: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ 00007b88: b947252a ldr w10, [x9, #1828]
~ │ 00007b8c: 2a0a03e9 mov w9, w10
~ │ 00007b90: 5280002a mov w10, #0x1 // #1
│ is_psci_0_1_call:50.44 (psci-relay.c) sbepe return (is_psci_0_1(cpu_suspend, func_id) ||
~ │ 00007b94: eb090108 subs x8, x8, x9
~ │ 00007b98: b90007ea str w10, [sp, #4]
~ ┌────┼───00007b9c: 540005a0 b.eq 7c50 <is_psci_0_1_call+0xe8> // b.none
│ │
~ │ │ ┌─00007ba0: 14000001 b 7ba4 <is_psci_0_1_call+0x3c> <- 00007b9c(b.cc-succ)<fallthrough>
│ │ │
│ │ │ is_psci_0_1_call:51.3 (psci-relay.c) Sbepe ║is_psci_0_1(cpu_on, func_id) ||
~ │ └>└>00007ba4: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007b78(b.cc)<is_psci_0_1_call+0x3c>,00007ba0(b)<is_psci_0_1_call+0x3c>
~ │ 00007ba8: 395cd509 ldrb w9, [x8, #1845]
~ │ ┌───00007bac: 36000169 tbz w9, #0, 7bd8 <is_psci_0_1_call+0x70>
│ │
~ │ │ ┌─00007bb0: 14000001 b 7bb4 <is_psci_0_1_call+0x4c> <- 00007bac(b.cc-succ)<fallthrough>
│ │ │
~ │ │ └>00007bb4: f94007e8 ldr x8, [sp, #8] <- 00007bb0(b)<is_psci_0_1_call+0x4c>
~ │ │ 00007bb8: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ 00007bbc: b947292a ldr w10, [x9, #1832]
~ │ │ 00007bc0: 2a0a03e9 mov w9, w10
~ │ │ 00007bc4: 5280002a mov w10, #0x1 // #1
│ │ is_psci_0_1_call:51.32 (psci-relay.c) sbepe is_psci_0_1(cpu_on, func_id) ||
~ │ │ 00007bc8: eb090108 subs x8, x8, x9
~ │ │ 00007bcc: b90007ea str w10, [sp, #4]
~ │ ┌──┼───00007bd0: 54000400 b.eq 7c50 <is_psci_0_1_call+0xe8> // b.none
│ │ │
~ │ │ │ ┌─00007bd4: 14000001 b 7bd8 <is_psci_0_1_call+0x70> <- 00007bd0(b.cc-succ)<fallthrough>
│ │ │ │
│ │ │ │ is_psci_0_1_call:52.3 (psci-relay.c) Sbepe ║is_psci_0_1(cpu_off, func_id) ||
~ │ │ └>└>00007bd8: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007bac(b.cc)<is_psci_0_1_call+0x70>,00007bd4(b)<is_psci_0_1_call+0x70>
~ │ │ 00007bdc: 395cd909 ldrb w9, [x8, #1846]
~ │ │ ┌───00007be0: 36000169 tbz w9, #0, 7c0c <is_psci_0_1_call+0xa4>
│ │ │
~ │ │ │ ┌─00007be4: 14000001 b 7be8 <is_psci_0_1_call+0x80> <- 00007be0(b.cc-succ)<fallthrough>
│ │ │ │
~ │ │ │ └>00007be8: f94007e8 ldr x8, [sp, #8] <- 00007be4(b)<is_psci_0_1_call+0x80>
~ │ │ │ 00007bec: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ │ 00007bf0: b9472d2a ldr w10, [x9, #1836]
~ │ │ │ 00007bf4: 2a0a03e9 mov w9, w10
~ │ │ │ 00007bf8: 5280002a mov w10, #0x1 // #1
│ │ │ is_psci_0_1_call:52.33 (psci-relay.c) sbepe is_psci_0_1(cpu_off, func_id) ||
~ │ │ │ 00007bfc: eb090108 subs x8, x8, x9
~ │ │ │ 00007c00: b90007ea str w10, [sp, #4]
~ │ │ ┌┼───00007c04: 54000260 b.eq 7c50 <is_psci_0_1_call+0xe8> // b.none
│ │ ││
~ │ │ ││ ┌─00007c08: 14000001 b 7c0c <is_psci_0_1_call+0xa4> <- 00007c04(b.cc-succ)<fallthrough>
│ │ ││ │
│ │ ││ │ is_psci_0_1_call:53.3 (psci-relay.c) Sbepe ║is_psci_0_1(migrate, func_id));
~ │ │ │└>└>00007c0c: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007be0(b.cc)<is_psci_0_1_call+0xa4>,00007c08(b)<is_psci_0_1_call+0xa4>
~ │ │ │ 00007c10: 395cdd09 ldrb w9, [x8, #1847]
~ │ │ │ 00007c14: 2a1f03e0 mov w0, wzr
~ │ │ │ 00007c18: b90003e0 str w0, [sp]
~ │ │ │┌───00007c1c: 36000149 tbz w9, #0, 7c44 <is_psci_0_1_call+0xdc>
│ │ ││
~ │ │ ││ ┌─00007c20: 14000001 b 7c24 <is_psci_0_1_call+0xbc> <- 00007c1c(b.cc-succ)<fallthrough>
│ │ ││ │
~ │ │ ││ └>00007c24: f94007e8 ldr x8, [sp, #8] <- 00007c20(b)<is_psci_0_1_call+0xbc>
~ │ │ ││ 00007c28: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ ││ 00007c2c: b947312a ldr w10, [x9, #1840]
~ │ │ ││ 00007c30: 2a0a03e9 mov w9, w10
~ │ │ ││ 00007c34: eb090108 subs x8, x8, x9
~ │ │ ││ 00007c38: 1a9f17ea cset w10, eq // eq = none
~ │ │ ││ 00007c3c: b90003ea str w10, [sp]
~ │ │ ││ ┌─00007c40: 14000001 b 7c44 <is_psci_0_1_call+0xdc>
│ │ ││ │
~ │ │ │└>└>00007c44: b94003e0 ldr w0, [sp] <- 00007c1c(b.cc)<is_psci_0_1_call+0xdc>,00007c40(b)<is_psci_0_1_call+0xdc>
~ │ │ │ 00007c48: b90007e0 str w0, [sp, #4]
│ │ │ is_psci_0_1_call:52.33 (psci-relay.c) Sbepe is_psci_0_1(cpu_off, func_id) ||
~ │ │ │ ┌─00007c4c: 14000001 b 7c50 <is_psci_0_1_call+0xe8>
│ │ │ │
~ └>└>└─>└>00007c50: b94007e8 ldr w8, [sp, #4] <- 00007b9c(b.cc)<is_psci_0_1_call+0xe8>,00007bd0(b.cc)<is_psci_0_1_call+0xe8>,00007c04(b.cc)<is_psci_0_1_call+0xe8>,00007c4c(b)<is_psci_0_1_call+0xe8>
is_psci_0_1_call:50.2 (psci-relay.c) Sbepe ║return (is_psci_0_1(cpu_suspend, func_id) ||
~ 00007c54: 12000100 and w0, w8, #0x1
~ 00007c58: 910043ff add sp, sp, #0x10
00007b6c CFA:r31+16
~ 00007c5c: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7b68 0x7c60 (DW_OP_fbreg 0x8) is_psci_0_1_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:48
**00007c60 <psci_0_1_handler>:
+ psci_0_1_handler params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7c60 0x7d88 (DW_OP_breg31 0x10)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7c60 0x7d88 (DW_OP_breg31 0x8)
psci_0_1_handler:231.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7c60 0x7d88 (DW_OP_breg31 0x10) psci_0_1_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:230
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7c60 0x7d88 (DW_OP_breg31 0x8) psci_0_1_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:230
~ 00007c60: d100c3ff sub sp, sp, #0x30 <- 00007ab8(bl)<psci_0_1_handler>
~ 00007c64: a9027bfd stp x29, x30, [sp, #32]
00007c60 CFA:r31 r29:u r30:u
~ 00007c68: 910083fd add x29, sp, #0x20
~ 00007c6c: f9000be0 str x0, [sp, #16]
~ 00007c70: f90007e1 str x1, [sp, #8]
psci_0_1_handler:232.6 (psci-relay.c) SbePe if (║is_psci_0_1(cpu_off, func_id) || is_psci_0_1(migrate, func_id))
~ 00007c74: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00007c78: 395cd909 ldrb w9, [x8, #1846]
~ ┌───00007c7c: 36000129 tbz w9, #0, 7ca0 <psci_0_1_handler+0x40>
│
~ │ ┌─00007c80: 14000001 b 7c84 <psci_0_1_handler+0x24> <- 00007c7c(b.cc-succ)<fallthrough>
│ │
~ │ └>00007c84: f9400be8 ldr x8, [sp, #16] <- 00007c80(b)<psci_0_1_handler+0x24>
~ │ 00007c88: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ 00007c8c: b9472d2a ldr w10, [x9, #1836]
~ │ 00007c90: 2a0a03e9 mov w9, w10
│ psci_0_1_handler:232.36 (psci-relay.c) sbepe if (is_psci_0_1(cpu_off, func_id) ║|| is_psci_0_1(migrate, func_id))
~ │ 00007c94: eb090108 subs x8, x8, x9
~ ┌┼───00007c98: 540001a0 b.eq 7ccc <psci_0_1_handler+0x6c> // b.none
││
~ ││ ┌─00007c9c: 14000001 b 7ca0 <psci_0_1_handler+0x40> <- 00007c98(b.cc-succ)<fallthrough>
││ │
││ │ psci_0_1_handler:232.39 (psci-relay.c) sbepe if (is_psci_0_1(cpu_off, func_id) || ║is_psci_0_1(migrate, func_id))
~ │└>└>00007ca0: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007c7c(b.cc)<psci_0_1_handler+0x40>,00007c9c(b)<psci_0_1_handler+0x40>
~ │ 00007ca4: 395cdd09 ldrb w9, [x8, #1847]
~ ┌┼────00007ca8: 360001a9 tbz w9, #0, 7cdc <psci_0_1_handler+0x7c>
││
~ ││ ┌─00007cac: 14000001 b 7cb0 <psci_0_1_handler+0x50> <- 00007ca8(b.cc-succ)<fallthrough>
││ │
~ ││ └>00007cb0: f9400be8 ldr x8, [sp, #16] <- 00007cac(b)<psci_0_1_handler+0x50>
~ ││ 00007cb4: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ ││ 00007cb8: b947312a ldr w10, [x9, #1840]
~ ││ 00007cbc: 2a0a03e9 mov w9, w10
││ psci_0_1_handler:232.6 (psci-relay.c) sbepe if (║is_psci_0_1(cpu_off, func_id) || is_psci_0_1(migrate, func_id))
~ ││ 00007cc0: eb090108 subs x8, x8, x9
~ ││ ┌──00007cc4: 540000c1 b.ne 7cdc <psci_0_1_handler+0x7c> // b.any
││ │
~ ││ │┌─00007cc8: 14000001 b 7ccc <psci_0_1_handler+0x6c> <- 00007cc4(b.cc-succ)<fallthrough>
││ ││
││ ││ psci_0_1_handler:233.23 (psci-relay.c) Sbepe return psci_forward(║host_ctxt);
~ │└>│└>00007ccc: f94007e0 ldr x0, [sp, #8] <- 00007c98(b.cc)<psci_0_1_handler+0x6c>,00007cc8(b)<psci_0_1_handler+0x6c>
│ │ psci_0_1_handler:233.10 (psci-relay.c) sbepe return ║psci_forward(host_ctxt);
~ │ │ 00007cd0: 940000f0 bl 8090 <psci_forward>
│ │
│ │ psci_0_1_handler:233.3 (psci-relay.c) sbepe ║return psci_forward(host_ctxt);
~ │ │ 00007cd4: f81f83a0 stur x0, [x29, #-8] <- 00007cd0(bl-succ)<return>
~ ┌──┼──┼──00007cd8: 14000028 b 7d78 <psci_0_1_handler+0x118>
│ │ │
│ │ │ psci_0_1_handler:234.6 (psci-relay.c) Sbepe if (║is_psci_0_1(cpu_on, func_id))
~ │ └─>└─>00007cdc: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007ca8(b.cc)<psci_0_1_handler+0x7c>,00007cc4(b.cc)<psci_0_1_handler+0x7c>
~ │ 00007ce0: 395cd509 ldrb w9, [x8, #1845]
~ │ ┌────00007ce4: 36000209 tbz w9, #0, 7d24 <psci_0_1_handler+0xc4>
│ │
~ │ │ ┌─00007ce8: 14000001 b 7cec <psci_0_1_handler+0x8c> <- 00007ce4(b.cc-succ)<fallthrough>
│ │ │
~ │ │ └>00007cec: f9400be8 ldr x8, [sp, #16] <- 00007ce8(b)<psci_0_1_handler+0x8c>
~ │ │ 00007cf0: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ 00007cf4: b947292a ldr w10, [x9, #1832]
~ │ │ 00007cf8: 2a0a03e9 mov w9, w10
│ │ psci_0_1_handler:234.6 (psci-relay.c) sbepe if (║is_psci_0_1(cpu_on, func_id))
~ │ │ 00007cfc: eb090108 subs x8, x8, x9
~ │ │ ┌──00007d00: 54000121 b.ne 7d24 <psci_0_1_handler+0xc4> // b.any
│ │ │
~ │ │ │┌─00007d04: 14000001 b 7d08 <psci_0_1_handler+0xa8> <- 00007d00(b.cc-succ)<fallthrough>
│ │ ││
│ │ ││ psci_0_1_handler:235.22 (psci-relay.c) Sbepe return psci_cpu_on(║func_id, host_ctxt);
~ │ │ │└>00007d08: f9400be0 ldr x0, [sp, #16] <- 00007d04(b)<psci_0_1_handler+0xa8>
│ │ │ psci_0_1_handler:235.31 (psci-relay.c) sbepe return psci_cpu_on(func_id, ║host_ctxt);
~ │ │ │ 00007d0c: f94007e1 ldr x1, [sp, #8]
│ │ │ psci_0_1_handler:235.10 (psci-relay.c) sbepe return ║psci_cpu_on(func_id, host_ctxt);
~ │ │ │ 00007d10: 940000ed bl 80c4 <psci_cpu_on>
│ │ │
~ │ │ │ 00007d14: 2a0003e1 mov w1, w0 <- 00007d10(bl-succ)<return>
~ │ │ │ 00007d18: 93407c28 sxtw x8, w1
│ │ │ psci_0_1_handler:235.3 (psci-relay.c) sbepe ║return psci_cpu_on(func_id, host_ctxt);
~ │ │ │ 00007d1c: f81f83a8 stur x8, [x29, #-8]
~ │ ┌─┼─┼──00007d20: 14000016 b 7d78 <psci_0_1_handler+0x118>
│ │ │ │
│ │ │ │ psci_0_1_handler:236.6 (psci-relay.c) Sbepe if (║is_psci_0_1(cpu_suspend, func_id))
~ │ │ └>└─>00007d24: f0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00007ce4(b.cc)<psci_0_1_handler+0xc4>,00007d00(b.cc)<psci_0_1_handler+0xc4>
~ │ │ 00007d28: 395cd109 ldrb w9, [x8, #1844]
~ │ │┌─────00007d2c: 36000209 tbz w9, #0, 7d6c <psci_0_1_handler+0x10c>
│ ││
~ │ ││ ┌─00007d30: 14000001 b 7d34 <psci_0_1_handler+0xd4> <- 00007d2c(b.cc-succ)<fallthrough>
│ ││ │
~ │ ││ └>00007d34: f9400be8 ldr x8, [sp, #16] <- 00007d30(b)<psci_0_1_handler+0xd4>
~ │ ││ 00007d38: f0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ ││ 00007d3c: b947252a ldr w10, [x9, #1828]
~ │ ││ 00007d40: 2a0a03e9 mov w9, w10
│ ││ psci_0_1_handler:236.6 (psci-relay.c) sbepe if (║is_psci_0_1(cpu_suspend, func_id))
~ │ ││ 00007d44: eb090108 subs x8, x8, x9
~ │ ││ ┌──00007d48: 54000121 b.ne 7d6c <psci_0_1_handler+0x10c> // b.any
│ ││ │
~ │ ││ │┌─00007d4c: 14000001 b 7d50 <psci_0_1_handler+0xf0> <- 00007d48(b.cc-succ)<fallthrough>
│ ││ ││
│ ││ ││ psci_0_1_handler:237.27 (psci-relay.c) Sbepe return psci_cpu_suspend(║func_id, host_ctxt);
~ │ ││ │└>00007d50: f9400be0 ldr x0, [sp, #16] <- 00007d4c(b)<psci_0_1_handler+0xf0>
│ ││ │ psci_0_1_handler:237.36 (psci-relay.c) sbepe return psci_cpu_suspend(func_id, ║host_ctxt);
~ │ ││ │ 00007d54: f94007e1 ldr x1, [sp, #8]
│ ││ │ psci_0_1_handler:237.10 (psci-relay.c) sbepe return ║psci_cpu_suspend(func_id, host_ctxt);
~ │ ││ │ 00007d58: 940001b6 bl 8430 <psci_cpu_suspend>
│ ││ │
~ │ ││ │ 00007d5c: 2a0003e1 mov w1, w0 <- 00007d58(bl-succ)<return>
~ │ ││ │ 00007d60: 93407c28 sxtw x8, w1
│ ││ │ psci_0_1_handler:237.3 (psci-relay.c) sbepe ║return psci_cpu_suspend(func_id, host_ctxt);
~ │ ││ │ 00007d64: f81f83a8 stur x8, [x29, #-8]
~ │ ││ ┌┼──00007d68: 14000004 b 7d78 <psci_0_1_handler+0x118>
│ ││ ││
~ │ │└>│└─>00007d6c: 92800008 mov x8, #0xffffffffffffffff // #-1 <- 00007d2c(b.cc)<psci_0_1_handler+0x10c>,00007d48(b.cc)<psci_0_1_handler+0x10c>
│ │ │ psci_0_1_handler:239.2 (psci-relay.c) Sbepe ║return PSCI_RET_NOT_SUPPORTED;
~ │ │ │ 00007d70: f81f83a8 stur x8, [x29, #-8]
~ │ │ │ ┌─00007d74: 14000001 b 7d78 <psci_0_1_handler+0x118>
│ │ │ │
│ │ │ │ psci_0_1_handler:240.1 (psci-relay.c) Sbepe ║}
~ └>└─>└>└>00007d78: f85f83a0 ldur x0, [x29, #-8] <- 00007cd8(b)<psci_0_1_handler+0x118>,00007d20(b)<psci_0_1_handler+0x118>,00007d68(b)<psci_0_1_handler+0x118>,00007d74(b)<psci_0_1_handler+0x118>
~ 00007d7c: a9427bfd ldp x29, x30, [sp, #32]
~ 00007d80: 9100c3ff add sp, sp, #0x30
00007c6c CFA:r29+16 r29:c-16 r30:c-8
~ 00007d84: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7c60 0x7d88 (DW_OP_breg31 0x10) psci_0_1_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:230
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7c60 0x7d88 (DW_OP_breg31 0x8) psci_0_1_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:230
**00007d88 <is_psci_0_2_call>:
+ is_psci_0_2_call params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7d88 0x7e20 (DW_OP_fbreg 0x8)
is_psci_0_2_call:57.0 (psci-relay.c) Sbepe ║{
00007d88 CFA:r31
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7d88 0x7e20 (DW_OP_fbreg 0x8) is_psci_0_2_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:56
~ 00007d88: d10043ff sub sp, sp, #0x10 <- 00007ac8(bl)<is_psci_0_2_call>,00007af8(bl)<is_psci_0_2_call>
~ 00007d8c: f90007e0 str x0, [sp, #8]
is_psci_0_2_call:59.28 (psci-relay.c) SbePe return (PSCI_0_2_FN(0) <= ║func_id && func_id <= PSCI_0_2_FN(31)) ||
~ 00007d90: f94007e8 ldr x8, [sp, #8]
is_psci_0_2_call:59.36 (psci-relay.c) sbepe return (PSCI_0_2_FN(0) <= func_id ║&& func_id <= PSCI_0_2_FN(31)) ||
~ 00007d94: d35afd08 lsr x8, x8, #26
~ 00007d98: f1008508 subs x8, x8, #0x21
~ ┌───00007d9c: 54000163 b.cc 7dc8 <is_psci_0_2_call+0x40> // b.lo, b.ul, b.last
│
~ │ ┌─00007da0: 14000001 b 7da4 <is_psci_0_2_call+0x1c> <- 00007d9c(b.cc-succ)<fallthrough>
│ │
│ │ is_psci_0_2_call:59.39 (psci-relay.c) sbepe return (PSCI_0_2_FN(0) <= func_id && ║func_id <= PSCI_0_2_FN(31)) ||
~ │ └>00007da4: f94007e8 ldr x8, [sp, #8] <- 00007da0(b)<is_psci_0_2_call+0x1c>
~ │ 00007da8: 52800029 mov w9, #0x1 // #1
~ │ 00007dac: 5280040a mov w10, #0x20 // #32
~ │ 00007db0: 72b0800a movk w10, #0x8400, lsl #16
~ │ 00007db4: 2a0a03eb mov w11, w10
│ is_psci_0_2_call:59.67 (psci-relay.c) sbepe return (PSCI_0_2_FN(0) <= func_id && func_id <= PSCI_0_2_FN(31)) ||
~ │ 00007db8: eb0b0108 subs x8, x8, x11
~ │ 00007dbc: b90007e9 str w9, [sp, #4]
~ ┌┼───00007dc0: 54000283 b.cc 7e10 <is_psci_0_2_call+0x88> // b.lo, b.ul, b.last
││
~ ││ ┌─00007dc4: 14000001 b 7dc8 <is_psci_0_2_call+0x40> <- 00007dc0(b.cc-succ)<fallthrough>
││ │
││ │ is_psci_0_2_call:60.30 (psci-relay.c) Sbepe (PSCI_0_2_FN64(0) <= ║func_id && func_id <= PSCI_0_2_FN64(31));
~ │└>└>00007dc8: f94007e8 ldr x8, [sp, #8] <- 00007d9c(b.cc)<is_psci_0_2_call+0x40>,00007dc4(b)<is_psci_0_2_call+0x40>
~ │ 00007dcc: 2a1f03e0 mov w0, wzr
│ is_psci_0_2_call:60.38 (psci-relay.c) sbepe (PSCI_0_2_FN64(0) <= func_id ║&& func_id <= PSCI_0_2_FN64(31));
~ │ 00007dd0: d35afd08 lsr x8, x8, #26
~ │ 00007dd4: f100c508 subs x8, x8, #0x31
~ │ 00007dd8: b90003e0 str w0, [sp]
~ │┌───00007ddc: 54000143 b.cc 7e04 <is_psci_0_2_call+0x7c> // b.lo, b.ul, b.last
││
~ ││ ┌─00007de0: 14000001 b 7de4 <is_psci_0_2_call+0x5c> <- 00007ddc(b.cc-succ)<fallthrough>
││ │
││ │ is_psci_0_2_call:60.41 (psci-relay.c) sbepe (PSCI_0_2_FN64(0) <= func_id && ║func_id <= PSCI_0_2_FN64(31));
~ ││ └>00007de4: f94007e8 ldr x8, [sp, #8] <- 00007de0(b)<is_psci_0_2_call+0x5c>
~ ││ 00007de8: 52800409 mov w9, #0x20 // #32
~ ││ 00007dec: 72b88009 movk w9, #0xc400, lsl #16
~ ││ 00007df0: 2a0903ea mov w10, w9
││ is_psci_0_2_call:60.49 (psci-relay.c) sbepe (PSCI_0_2_FN64(0) <= func_id && func_id ║<= PSCI_0_2_FN64(31));
~ ││ 00007df4: eb0a0108 subs x8, x8, x10
~ ││ 00007df8: 1a9f27e9 cset w9, cc // cc = lo, ul, last
~ ││ 00007dfc: b90003e9 str w9, [sp]
~ ││ ┌─00007e00: 14000001 b 7e04 <is_psci_0_2_call+0x7c>
││ │
~ │└>└>00007e04: b94003e0 ldr w0, [sp] <- 00007ddc(b.cc)<is_psci_0_2_call+0x7c>,00007e00(b)<is_psci_0_2_call+0x7c>
~ │ 00007e08: b90007e0 str w0, [sp, #4]
│ is_psci_0_2_call:59.67 (psci-relay.c) Sbepe return (PSCI_0_2_FN(0) <= func_id && func_id <= PSCI_0_2_FN(31)) ||
~ │ ┌─00007e0c: 14000001 b 7e10 <is_psci_0_2_call+0x88>
│ │
~ └─>└>00007e10: b94007e8 ldr w8, [sp, #4] <- 00007dc0(b.cc)<is_psci_0_2_call+0x88>,00007e0c(b)<is_psci_0_2_call+0x88>
is_psci_0_2_call:59.2 (psci-relay.c) sbepe ║return (PSCI_0_2_FN(0) <= func_id && func_id <= PSCI_0_2_FN(31)) ||
~ 00007e14: 12000100 and w0, w8, #0x1
~ 00007e18: 910043ff add sp, sp, #0x10
00007d8c CFA:r31+16
~ 00007e1c: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7d88 0x7e20 (DW_OP_fbreg 0x8) is_psci_0_2_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:56
**00007e20 <psci_0_2_handler>:
+ psci_0_2_handler params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7e20 0x7f84 (DW_OP_breg31 0x10)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7e20 0x7f84 (DW_OP_breg31 0x8)
psci_0_2_handler:243.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7e20 0x7f84 (DW_OP_breg31 0x10) psci_0_2_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:242
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7e20 0x7f84 (DW_OP_breg31 0x8) psci_0_2_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:242
~ 00007e20: d100c3ff sub sp, sp, #0x30 <- 00007ae8(bl)<psci_0_2_handler>,00008044(bl)<psci_0_2_handler>
~ 00007e24: a9027bfd stp x29, x30, [sp, #32]
00007e20 CFA:r31 r29:u r30:u
~ 00007e28: 910083fd add x29, sp, #0x20
~ 00007e2c: f9000be0 str x0, [sp, #16]
~ 00007e30: f90007e1 str x1, [sp, #8]
psci_0_2_handler:244.10 (psci-relay.c) SbePe switch (║func_id) {
~ 00007e34: f9400be8 ldr x8, [sp, #16]
psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ 00007e38: aa0803e9 mov x9, x8
~ 00007e3c: 52b0800a mov w10, #0x84000000 // #-2080374784
~ 00007e40: 2a0a03eb mov w11, w10
~ 00007e44: eb0b0108 subs x8, x8, x11
~ 00007e48: f90003e9 str x9, [sp]
~ ┌─────────────00007e4c: 54000660 b.eq 7f18 <psci_0_2_handler+0xf8> // b.none
│
~ │ ┌─00007e50: 14000001 b 7e54 <psci_0_2_handler+0x34> <- 00007e4c(b.cc-succ)<fallthrough>
│ │
~ │ └>00007e54: 52800048 mov w8, #0x2 // #2 <- 00007e50(b)<psci_0_2_handler+0x34>
~ │ 00007e58: 72b08008 movk w8, #0x8400, lsl #16
~ │ 00007e5c: 2a0803e9 mov w9, w8
~ │ 00007e60: f94003ea ldr x10, [sp]
│ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ 00007e64: eb090149 subs x9, x10, x9
~ │ ┌───────────00007e68: 54000580 b.eq 7f18 <psci_0_2_handler+0xf8> // b.none
│ │
~ │ │ ┌─00007e6c: 14000001 b 7e70 <psci_0_2_handler+0x50> <- 00007e68(b.cc-succ)<fallthrough>
│ │ │
~ │ │ └>00007e70: 528000c8 mov w8, #0x6 // #6 <- 00007e6c(b)<psci_0_2_handler+0x50>
~ │ │ 00007e74: 72b08008 movk w8, #0x8400, lsl #16
~ │ │ 00007e78: 2a0803e9 mov w9, w8
~ │ │ 00007e7c: f94003ea ldr x10, [sp]
│ │ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ 00007e80: eb090149 subs x9, x10, x9
~ │ │ ┌─────────00007e84: 540004a0 b.eq 7f18 <psci_0_2_handler+0xf8> // b.none
│ │ │
~ │ │ │ ┌─00007e88: 14000001 b 7e8c <psci_0_2_handler+0x6c> <- 00007e84(b.cc-succ)<fallthrough>
│ │ │ │
~ │ │ │ └>00007e8c: 928000e8 mov x8, #0xfffffffffffffff8 // #-8 <- 00007e88(b)<psci_0_2_handler+0x6c>
~ │ │ │ 00007e90: f2af7fe8 movk x8, #0x7bff, lsl #16
~ │ │ │ 00007e94: f94003e9 ldr x9, [sp]
│ │ │ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ │ 00007e98: 8b080128 add x8, x9, x8
~ │ │ │ 00007e9c: f1000908 subs x8, x8, #0x2
~ │ │ │┌────────00007ea0: 54000443 b.cc 7f28 <psci_0_2_handler+0x108> // b.lo, b.ul, b.last
│ │ ││
~ │ │ ││ ┌─00007ea4: 14000001 b 7ea8 <psci_0_2_handler+0x88> <- 00007ea0(b.cc-succ)<fallthrough>
│ │ ││ │
~ │ │ ││ └>00007ea8: 52800028 mov w8, #0x1 // #1 <- 00007ea4(b)<psci_0_2_handler+0x88>
~ │ │ ││ 00007eac: 72b88008 movk w8, #0xc400, lsl #16
~ │ │ ││ 00007eb0: 2a0803e9 mov w9, w8
~ │ │ ││ 00007eb4: f94003ea ldr x10, [sp]
│ │ ││ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ ││ 00007eb8: eb090149 subs x9, x10, x9
~ │ │ ││ ┌─────00007ebc: 540003a0 b.eq 7f30 <psci_0_2_handler+0x110> // b.none
│ │ ││ │
~ │ │ ││ │ ┌─00007ec0: 14000001 b 7ec4 <psci_0_2_handler+0xa4> <- 00007ebc(b.cc-succ)<fallthrough>
│ │ ││ │ │
~ │ │ ││ │ └>00007ec4: 52800068 mov w8, #0x3 // #3 <- 00007ec0(b)<psci_0_2_handler+0xa4>
~ │ │ ││ │ 00007ec8: 72b88008 movk w8, #0xc400, lsl #16
~ │ │ ││ │ 00007ecc: 2a0803e9 mov w9, w8
~ │ │ ││ │ 00007ed0: f94003ea ldr x10, [sp]
│ │ ││ │ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ ││ │ 00007ed4: eb090149 subs x9, x10, x9
~ │ │ ││ ┌┼─────00007ed8: 540003a0 b.eq 7f4c <psci_0_2_handler+0x12c> // b.none
│ │ ││ ││
~ │ │ ││ ││ ┌─00007edc: 14000001 b 7ee0 <psci_0_2_handler+0xc0> <- 00007ed8(b.cc-succ)<fallthrough>
│ │ ││ ││ │
~ │ │ ││ ││ └>00007ee0: 92800068 mov x8, #0xfffffffffffffffc // #-4 <- 00007edc(b)<psci_0_2_handler+0xc0>
~ │ │ ││ ││ 00007ee4: f2a77fe8 movk x8, #0x3bff, lsl #16
~ │ │ ││ ││ 00007ee8: f94003e9 ldr x9, [sp]
│ │ ││ ││ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ ││ ││ 00007eec: 8b080128 add x8, x9, x8
~ │ │ ││ ││ 00007ef0: f1000908 subs x8, x8, #0x2
~ │ │ ││ ││ ┌───00007ef4: 54000123 b.cc 7f18 <psci_0_2_handler+0xf8> // b.lo, b.ul, b.last
│ │ ││ ││ │
~ │ │ ││ ││ │ ┌─00007ef8: 14000001 b 7efc <psci_0_2_handler+0xdc> <- 00007ef4(b.cc-succ)<fallthrough>
│ │ ││ ││ │ │
~ │ │ ││ ││ │ └>00007efc: 528000e8 mov w8, #0x7 // #7 <- 00007ef8(b)<psci_0_2_handler+0xdc>
~ │ │ ││ ││ │ 00007f00: 72b88008 movk w8, #0xc400, lsl #16
~ │ │ ││ ││ │ 00007f04: 2a0803e9 mov w9, w8
~ │ │ ││ ││ │ 00007f08: f94003ea ldr x10, [sp]
│ │ ││ ││ │ psci_0_2_handler:244.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ ││ ││ │ 00007f0c: eb090149 subs x9, x10, x9
~ │ │ ││ ││┌┼───00007f10: 540002c1 b.ne 7f68 <psci_0_2_handler+0x148> // b.any
│ │ ││ ││││
~ │ │ ││ ││││ ┌─00007f14: 14000001 b 7f18 <psci_0_2_handler+0xf8> <- 00007f10(b.cc-succ)<fallthrough>
│ │ ││ ││││ │
│ │ ││ ││││ │ psci_0_2_handler:251.23 (psci-relay.c) Sbepe return psci_forward(║host_ctxt);
~ └>└>└┼>│││└>└>00007f18: f94007e0 ldr x0, [sp, #8] <- 00007e4c(b.cc)<psci_0_2_handler+0xf8>,00007e68(b.cc)<psci_0_2_handler+0xf8>,00007e84(b.cc)<psci_0_2_handler+0xf8>,00007ef4(b.cc)<psci_0_2_handler+0xf8>,00007f14(b)<psci_0_2_handler+0xf8>
│ │││ psci_0_2_handler:251.10 (psci-relay.c) sbepe return ║psci_forward(host_ctxt);
~ │ │││ 00007f1c: 9400005d bl 8090 <psci_forward>
│ │││
│ │││ psci_0_2_handler:251.3 (psci-relay.c) sbepe ║return psci_forward(host_ctxt);
~ │ │││ 00007f20: f81f83a0 stur x0, [x29, #-8] <- 00007f1c(bl-succ)<return>
~ │┌┼┼┼────00007f24: 14000014 b 7f74 <psci_0_2_handler+0x154>
│││││
│││││ psci_0_2_handler:254.25 (psci-relay.c) Sbepe psci_forward_noreturn(║host_ctxt);
~ └┼┼┼┼───>00007f28: f94007e0 ldr x0, [sp, #8] <- 00007ea0(b.cc)<psci_0_2_handler+0x108>
││││ psci_0_2_handler:254.3 (psci-relay.c) sbepe ║psci_forward_noreturn(host_ctxt);
~ ││││ 00007f2c: 94000310 bl 8b6c <psci_forward_noreturn>
││││
││││ psci_0_2_handler:257.27 (psci-relay.c) Sbepe return psci_cpu_suspend(║func_id, host_ctxt);
~ ││└┼───>00007f30: f9400be0 ldr x0, [sp, #16] <- 00007ebc(b.cc)<psci_0_2_handler+0x110>,00007f2c(bl-succ)<return>
││ │ psci_0_2_handler:257.36 (psci-relay.c) sbepe return psci_cpu_suspend(func_id, ║host_ctxt);
~ ││ │ 00007f34: f94007e1 ldr x1, [sp, #8]
││ │ psci_0_2_handler:257.10 (psci-relay.c) sbepe return ║psci_cpu_suspend(func_id, host_ctxt);
~ ││ │ 00007f38: 9400013e bl 8430 <psci_cpu_suspend>
││ │
~ ││ │ 00007f3c: 2a0003e1 mov w1, w0 <- 00007f38(bl-succ)<return>
~ ││ │ 00007f40: 93407c28 sxtw x8, w1
││ │ psci_0_2_handler:257.3 (psci-relay.c) sbepe ║return psci_cpu_suspend(func_id, host_ctxt);
~ ││ │ 00007f44: f81f83a8 stur x8, [x29, #-8]
~ ││┌┼────00007f48: 1400000b b 7f74 <psci_0_2_handler+0x154>
││││
││││ psci_0_2_handler:259.22 (psci-relay.c) Sbepe return psci_cpu_on(║func_id, host_ctxt);
~ │└┼┼───>00007f4c: f9400be0 ldr x0, [sp, #16] <- 00007ed8(b.cc)<psci_0_2_handler+0x12c>
│ ││ psci_0_2_handler:259.31 (psci-relay.c) sbepe return psci_cpu_on(func_id, ║host_ctxt);
~ │ ││ 00007f50: f94007e1 ldr x1, [sp, #8]
│ ││ psci_0_2_handler:259.10 (psci-relay.c) sbepe return ║psci_cpu_on(func_id, host_ctxt);
~ │ ││ 00007f54: 9400005c bl 80c4 <psci_cpu_on>
│ ││
~ │ ││ 00007f58: 2a0003e1 mov w1, w0 <- 00007f54(bl-succ)<return>
~ │ ││ 00007f5c: 93407c28 sxtw x8, w1
│ ││ psci_0_2_handler:259.3 (psci-relay.c) sbepe ║return psci_cpu_on(func_id, host_ctxt);
~ │ ││ 00007f60: f81f83a8 stur x8, [x29, #-8]
~ │ ││┌───00007f64: 14000004 b 7f74 <psci_0_2_handler+0x154>
│ │││
~ │ │└┼──>00007f68: 92800008 mov x8, #0xffffffffffffffff // #-1 <- 00007f10(b.cc)<psci_0_2_handler+0x148>
│ │ │ psci_0_2_handler:261.3 (psci-relay.c) Sbepe ║return PSCI_RET_NOT_SUPPORTED;
~ │ │ │ 00007f6c: f81f83a8 stur x8, [x29, #-8]
~ │ │ │ ┌─00007f70: 14000001 b 7f74 <psci_0_2_handler+0x154>
│ │ │ │
│ │ │ │ psci_0_2_handler:263.1 (psci-relay.c) Sbepe ║}
~ └>└>└>└>00007f74: f85f83a0 ldur x0, [x29, #-8] <- 00007f24(b)<psci_0_2_handler+0x154>,00007f48(b)<psci_0_2_handler+0x154>,00007f64(b)<psci_0_2_handler+0x154>,00007f70(b)<psci_0_2_handler+0x154>
~ 00007f78: a9427bfd ldp x29, x30, [sp, #32]
~ 00007f7c: 9100c3ff add sp, sp, #0x30
00007e2c CFA:r29+16 r29:c-16 r30:c-8
~ 00007f80: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7e20 0x7f84 (DW_OP_breg31 0x10) psci_0_2_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:242
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7e20 0x7f84 (DW_OP_breg31 0x8) psci_0_2_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:242
**00007f84 <psci_1_0_handler>:
+ psci_1_0_handler params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7f84 0x8060 (DW_OP_breg31 0x10)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7f84 0x8060 (DW_OP_breg31 0x8)
psci_1_0_handler:266.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7f84 0x8060 (DW_OP_breg31 0x10) psci_1_0_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:265
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7f84 0x8060 (DW_OP_breg31 0x8) psci_1_0_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:265
~ 00007f84: d100c3ff sub sp, sp, #0x30 <- 00007b18(bl)<psci_1_0_handler>
~ 00007f88: a9027bfd stp x29, x30, [sp, #32]
00007f84 CFA:r31 r29:u r30:u
~ 00007f8c: 910083fd add x29, sp, #0x20
~ 00007f90: f9000be0 str x0, [sp, #16]
~ 00007f94: f90007e1 str x1, [sp, #8]
psci_1_0_handler:267.10 (psci-relay.c) SbePe switch (║func_id) {
~ 00007f98: f9400be8 ldr x8, [sp, #16]
psci_1_0_handler:267.2 (psci-relay.c) sbepe ║switch (func_id) {
~ 00007f9c: aa0803e9 mov x9, x8
~ 00007fa0: 5280014a mov w10, #0xa // #10
~ 00007fa4: 72b0800a movk w10, #0x8400, lsl #16
~ 00007fa8: 2a0a03eb mov w11, w10
~ 00007fac: eb0b0108 subs x8, x8, x11
~ 00007fb0: f90003e9 str x9, [sp]
~ ┌───────00007fb4: 540002e0 b.eq 8010 <psci_1_0_handler+0x8c> // b.none
│
~ │ ┌─00007fb8: 14000001 b 7fbc <psci_1_0_handler+0x38> <- 00007fb4(b.cc-succ)<fallthrough>
│ │
~ │ └>00007fbc: 528001e8 mov w8, #0xf // #15 <- 00007fb8(b)<psci_1_0_handler+0x38>
~ │ 00007fc0: 72b08008 movk w8, #0x8400, lsl #16
~ │ 00007fc4: 2a0803e9 mov w9, w8
~ │ 00007fc8: f94003ea ldr x10, [sp]
│ psci_1_0_handler:267.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ 00007fcc: eb090149 subs x9, x10, x9
~ │ ┌─────00007fd0: 54000200 b.eq 8010 <psci_1_0_handler+0x8c> // b.none
│ │
~ │ │ ┌─00007fd4: 14000001 b 7fd8 <psci_1_0_handler+0x54> <- 00007fd0(b.cc-succ)<fallthrough>
│ │ │
~ │ │ └>00007fd8: 528001c8 mov w8, #0xe // #14 <- 00007fd4(b)<psci_1_0_handler+0x54>
~ │ │ 00007fdc: 72b88008 movk w8, #0xc400, lsl #16
~ │ │ 00007fe0: 2a0803e9 mov w9, w8
~ │ │ 00007fe4: f94003ea ldr x10, [sp]
│ │ psci_1_0_handler:267.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ 00007fe8: eb090149 subs x9, x10, x9
~ │ │ ┌──00007fec: 540001a0 b.eq 8020 <psci_1_0_handler+0x9c> // b.none
│ │ │
~ │ │ │┌─00007ff0: 14000001 b 7ff4 <psci_1_0_handler+0x70> <- 00007fec(b.cc-succ)<fallthrough>
│ │ ││
~ │ │ │└>00007ff4: 52800248 mov w8, #0x12 // #18 <- 00007ff0(b)<psci_1_0_handler+0x70>
~ │ │ │ 00007ff8: 72b88008 movk w8, #0xc400, lsl #16
~ │ │ │ 00007ffc: 2a0803e9 mov w9, w8
~ │ │ │ 00008000: f94003ea ldr x10, [sp]
│ │ │ psci_1_0_handler:267.2 (psci-relay.c) sbepe ║switch (func_id) {
~ │ │ │ 00008004: eb090149 subs x9, x10, x9
~ │ │┌─┼──00008008: 540001a1 b.ne 803c <psci_1_0_handler+0xb8> // b.any
│ ││ │
~ │ ││ │┌─0000800c: 14000001 b 8010 <psci_1_0_handler+0x8c> <- 00008008(b.cc-succ)<fallthrough>
│ ││ ││
│ ││ ││ psci_1_0_handler:271.23 (psci-relay.c) Sbepe return psci_forward(║host_ctxt);
~ └>└┼>│└>00008010: f94007e0 ldr x0, [sp, #8] <- 00007fb4(b.cc)<psci_1_0_handler+0x8c>,00007fd0(b.cc)<psci_1_0_handler+0x8c>,0000800c(b)<psci_1_0_handler+0x8c>
│ │ psci_1_0_handler:271.10 (psci-relay.c) sbepe return ║psci_forward(host_ctxt);
~ │ │ 00008014: 9400001f bl 8090 <psci_forward>
│ │
│ │ psci_1_0_handler:271.3 (psci-relay.c) sbepe ║return psci_forward(host_ctxt);
~ │ │ 00008018: f81f83a0 stur x0, [x29, #-8] <- 00008014(bl-succ)<return>
~ ┌┼─┼──0000801c: 1400000d b 8050 <psci_1_0_handler+0xcc>
││ │
││ │ psci_1_0_handler:273.30 (psci-relay.c) Sbepe return psci_system_suspend(║func_id, host_ctxt);
~ ││ └─>00008020: f9400be0 ldr x0, [sp, #16] <- 00007fec(b.cc)<psci_1_0_handler+0x9c>
││ psci_1_0_handler:273.39 (psci-relay.c) sbepe return psci_system_suspend(func_id, ║host_ctxt);
~ ││ 00008024: f94007e1 ldr x1, [sp, #8]
││ psci_1_0_handler:273.10 (psci-relay.c) sbepe return ║psci_system_suspend(func_id, host_ctxt);
~ ││ 00008028: 940002d9 bl 8b8c <psci_system_suspend>
││
~ ││ 0000802c: 2a0003e1 mov w1, w0 <- 00008028(bl-succ)<return>
~ ││ 00008030: 93407c28 sxtw x8, w1
││ psci_1_0_handler:273.3 (psci-relay.c) sbepe ║return psci_system_suspend(func_id, host_ctxt);
~ ││ 00008034: f81f83a8 stur x8, [x29, #-8]
~ ││┌───00008038: 14000006 b 8050 <psci_1_0_handler+0xcc>
│││
│││ psci_1_0_handler:275.27 (psci-relay.c) Sbepe return psci_0_2_handler(║func_id, host_ctxt);
~ │└┼──>0000803c: f9400be0 ldr x0, [sp, #16] <- 00008008(b.cc)<psci_1_0_handler+0xb8>
│ │ psci_1_0_handler:275.36 (psci-relay.c) sbepe return psci_0_2_handler(func_id, ║host_ctxt);
~ │ │ 00008040: f94007e1 ldr x1, [sp, #8]
│ │ psci_1_0_handler:275.10 (psci-relay.c) sbepe return ║psci_0_2_handler(func_id, host_ctxt);
~ │ │ 00008044: 97ffff77 bl 7e20 <psci_0_2_handler>
│ │
│ │ psci_1_0_handler:275.3 (psci-relay.c) sbepe ║return psci_0_2_handler(func_id, host_ctxt);
~ │ │ 00008048: f81f83a0 stur x0, [x29, #-8] <- 00008044(bl-succ)<return>
~ │ │ ┌─0000804c: 14000001 b 8050 <psci_1_0_handler+0xcc>
│ │ │
│ │ │ psci_1_0_handler:277.1 (psci-relay.c) Sbepe ║}
~ └>└>└>00008050: f85f83a0 ldur x0, [x29, #-8] <- 0000801c(b)<psci_1_0_handler+0xcc>,00008038(b)<psci_1_0_handler+0xcc>,0000804c(b)<psci_1_0_handler+0xcc>
~ 00008054: a9427bfd ldp x29, x30, [sp, #32]
~ 00008058: 9100c3ff add sp, sp, #0x30
00007f90 CFA:r29+16 r29:c-16 r30:c-8
~ 0000805c: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x7f84 0x8060 (DW_OP_breg31 0x10) psci_1_0_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:265
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x7f84 0x8060 (DW_OP_breg31 0x8) psci_1_0_handler:arch/arm64/kvm/hyp/nvhe/psci-relay.c:265
**00008060 <kasan_check_write>:
+ kasan_check_write params:
+p param pointer(const(missing at <5bca5>/<6a434>)) 0x8060 0x8078 (DW_OP_fbreg 0x8)
+size param unsigned int (base type, DW_ATE_unsigned size:4) 0x8060 0x8078 (DW_OP_fbreg 0x4)
kasan_check_write:39.0 (kasan-checks.h) Sbepe ║{
00008060 CFA:r31
+p param pointer(const(missing at <5bca5>/<6a434>)) 0x8060 0x8078 (DW_OP_fbreg 0x8) kasan_check_write:arch/arm64/kvm/hyp/nvhe/psci-relay.c:38
+size param unsigned int (base type, DW_ATE_unsigned size:4) 0x8060 0x8078 (DW_OP_fbreg 0x4) kasan_check_write:arch/arm64/kvm/hyp/nvhe/psci-relay.c:38
~ 00008060: d10043ff sub sp, sp, #0x10 <- 000079cc(bl)<kasan_check_write>,00007a10(bl)<kasan_check_write>,00008218(bl)<kasan_check_write>,000083b8(bl)<kasan_check_write>,000083fc(bl)<kasan_check_write>
~ 00008064: f90007e0 str x0, [sp, #8]
~ 00008068: b90007e1 str w1, [sp, #4]
~ 0000806c: 52800020 mov w0, #0x1 // #1
kasan_check_write:40.2 (kasan-checks.h) SbePe ║return true;
~ 00008070: 910043ff add sp, sp, #0x10
00008064 CFA:r31+16
~ 00008074: d65f03c0 ret
-p param pointer(const(missing at <5bca5>/<6a434>)) 0x8060 0x8078 (DW_OP_fbreg 0x8) kasan_check_write:arch/arm64/kvm/hyp/nvhe/psci-relay.c:38
-size param unsigned int (base type, DW_ATE_unsigned size:4) 0x8060 0x8078 (DW_OP_fbreg 0x4) kasan_check_write:arch/arm64/kvm/hyp/nvhe/psci-relay.c:38
**00008078 <kcsan_check_access>:
+ kcsan_check_access params:
+ptr param pointer(const(missing at <5bca5>/<6a434>)) 0x8078 0x8090 (DW_OP_fbreg 0x18)
+size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8078 0x8090 (DW_OP_fbreg 0x10)
+type param int (base type, DW_ATE_signed size:4) 0x8078 0x8090 (DW_OP_fbreg 0xc)
kcsan_check_access:179.0 (kcsan-checks.h) Sbepe ║ int type) { }
00008078 CFA:r31
+ptr param pointer(const(missing at <5bca5>/<6a434>)) 0x8078 0x8090 (DW_OP_fbreg 0x18) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:178
+size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8078 0x8090 (DW_OP_fbreg 0x10) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:178
+type param int (base type, DW_ATE_signed size:4) 0x8078 0x8090 (DW_OP_fbreg 0xc) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:179
~ 00008078: d10083ff sub sp, sp, #0x20 <- 000079e4(bl)<kcsan_check_access>,00008230(bl)<kcsan_check_access>,000083d0(bl)<kcsan_check_access>
~ 0000807c: f9000fe0 str x0, [sp, #24]
~ 00008080: f9000be1 str x1, [sp, #16]
~ 00008084: b9000fe2 str w2, [sp, #12]
kcsan_check_access:179.23 (kcsan-checks.h) SbePe int type) { }
~ 00008088: 910083ff add sp, sp, #0x20
0000807c CFA:r31+32
~ 0000808c: d65f03c0 ret
-ptr param pointer(const(missing at <5bca5>/<6a434>)) 0x8078 0x8090 (DW_OP_fbreg 0x18) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:178
-size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8078 0x8090 (DW_OP_fbreg 0x10) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:178
-type param int (base type, DW_ATE_signed size:4) 0x8078 0x8090 (DW_OP_fbreg 0xc) kcsan_check_access:arch/arm64/kvm/hyp/nvhe/psci-relay.c:179
**00008090 <psci_forward>:
+ psci_forward params:
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8090 0x80c4 (DW_OP_breg31 0x8)
psci_forward:73.0 (psci-relay.c) Sbepe ║{
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8090 0x80c4 (DW_OP_breg31 0x8) psci_forward:arch/arm64/kvm/hyp/nvhe/psci-relay.c:72
~ 00008090: d10083ff sub sp, sp, #0x20 <- 00007cd0(bl)<psci_forward>,00007f1c(bl)<psci_forward>,00008014(bl)<psci_forward>,00008b80(bl)<psci_forward>
~ 00008094: a9017bfd stp x29, x30, [sp, #16]
00008090 CFA:r31 r29:u r30:u
~ 00008098: 910043fd add x29, sp, #0x10
~ 0000809c: f90007e0 str x0, [sp, #8]
psci_forward:74.19 (psci-relay.c) SbePe return psci_call(║cpu_reg(host_ctxt, 0), cpu_reg(host_ctxt, 1),
~ 000080a0: f94007e8 ldr x8, [sp, #8]
~ 000080a4: f9400100 ldr x0, [x8]
psci_forward:74.42 (psci-relay.c) sbepe return psci_call(cpu_reg(host_ctxt, 0), ║cpu_reg(host_ctxt, 1),
~ 000080a8: f9400501 ldr x1, [x8, #8]
psci_forward:75.5 (psci-relay.c) Sbepe ║cpu_reg(host_ctxt, 2), cpu_reg(host_ctxt, 3));
~ 000080ac: f9400902 ldr x2, [x8, #16]
psci_forward:75.28 (psci-relay.c) sbepe cpu_reg(host_ctxt, 2), ║cpu_reg(host_ctxt, 3));
~ 000080b0: f9400d03 ldr x3, [x8, #24]
psci_forward:74.9 (psci-relay.c) Sbepe return ║psci_call(cpu_reg(host_ctxt, 0), cpu_reg(host_ctxt, 1),
~ 000080b4: 9400012e bl 856c <psci_call>
psci_forward:74.2 (psci-relay.c) sbepe ║return psci_call(cpu_reg(host_ctxt, 0), cpu_reg(host_ctxt, 1),
~ 000080b8: a9417bfd ldp x29, x30, [sp, #16] <- 000080b4(bl-succ)<return>
~ 000080bc: 910083ff add sp, sp, #0x20
0000809c CFA:r29+16 r29:c-16 r30:c-8
~ 000080c0: d65f03c0 ret
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8090 0x80c4 (DW_OP_breg31 0x8) psci_forward:arch/arm64/kvm/hyp/nvhe/psci-relay.c:72
**000080c4 <psci_cpu_on>:
+ psci_cpu_on params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x80c4 0x8430 (DW_OP_fbreg -0xb0)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x80c4 0x8430 (DW_OP_fbreg -0xb8)
psci_cpu_on:114.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x80c4 0x8430 (DW_OP_fbreg -0xb0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:113
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x80c4 0x8430 (DW_OP_fbreg -0xb8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:113
+mpidr var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x80c4 0x8430 (DW_OP_fbreg -0xc0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:115
+pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x80c4 0x8430 (DW_OP_breg31 0xc8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:116
+r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x80c4 0x8430 (DW_OP_breg31 0xc0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:117
+cpu_id var unsigned int (base type, DW_ATE_unsigned size:4) 0x80c4 0x8430 (DW_OP_breg31 0xbc) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
+boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x80c4 0x8430 (DW_OP_breg31 0xb0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
+init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x80c4 0x8430 (DW_OP_breg31 0xa8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
+ret var int (base type, DW_ATE_signed size:4) 0x80c4 0x8430 (DW_OP_breg31 0xa4) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
~ 000080c4: d106c3ff sub sp, sp, #0x1b0 <- 00007d10(bl)<psci_cpu_on>,00007f54(bl)<psci_cpu_on>
~ 000080c8: a9197bfd stp x29, x30, [sp, #400]
~ 000080cc: f900d3fc str x28, [sp, #416]
000080c4 CFA:r31 r28:u r29:u r30:u
~ 000080d0: 910643fd add x29, sp, #0x190
~ 000080d4: f81503a0 stur x0, [x29, #-176]
~ 000080d8: f81483a1 stur x1, [x29, #-184]
psci_cpu_on:115.2 (psci-relay.c) SbePe ║DECLARE_REG(u64, mpidr, host_ctxt, 1);
~ 000080dc: f85483a8 ldur x8, [x29, #-184]
~ 000080e0: f9400508 ldr x8, [x8, #8]
~ 000080e4: f81403a8 stur x8, [x29, #-192]
psci_cpu_on:116.2 (psci-relay.c) Sbepe ║DECLARE_REG(unsigned long, pc, host_ctxt, 2);
~ 000080e8: f85483a8 ldur x8, [x29, #-184]
~ 000080ec: f9400908 ldr x8, [x8, #16]
~ 000080f0: f90067e8 str x8, [sp, #200]
psci_cpu_on:117.2 (psci-relay.c) Sbepe ║DECLARE_REG(unsigned long, r0, host_ctxt, 3);
~ 000080f4: f85483a8 ldur x8, [x29, #-184]
~ 000080f8: f9400d08 ldr x8, [x8, #24]
~ 000080fc: f90063e8 str x8, [sp, #192]
psci_cpu_on:131.23 (psci-relay.c) Sbepe cpu_id = find_cpu_id(║mpidr);
~ 00008100: f85403a0 ldur x0, [x29, #-192]
psci_cpu_on:131.11 (psci-relay.c) sbepe cpu_id = ║find_cpu_id(mpidr);
~ 00008104: 94000153 bl 8650 <find_cpu_id>
psci_cpu_on:131.9 (psci-relay.c) sbepe cpu_id ║= find_cpu_id(mpidr);
~ 00008108: b900bfe0 str w0, [sp, #188] <- 00008104(bl-succ)<return>
psci_cpu_on:132.6 (psci-relay.c) Sbepe if (║cpu_id == INVALID_CPU_ID)
~ 0000810c: b940bfe9 ldr w9, [sp, #188]
psci_cpu_on:132.6 (psci-relay.c) sbepe if (║cpu_id == INVALID_CPU_ID)
~ 00008110: 31000529 adds w9, w9, #0x1
~ ┌───00008114: 540000a1 b.ne 8128 <psci_cpu_on+0x64> // b.any
│
~ │ ┌─00008118: 14000001 b 811c <psci_cpu_on+0x58> <- 00008114(b.cc-succ)<fallthrough>
│ │
~ │ └>0000811c: 12800028 mov w8, #0xfffffffe // #-2 <- 00008118(b)<psci_cpu_on+0x58>
│ psci_cpu_on:133.3 (psci-relay.c) Sbepe ║return PSCI_RET_INVALID_PARAMS;
~ │ 00008120: b815c3a8 stur w8, [x29, #-164]
~ ┌────┼───00008124: 140000be b 841c <psci_cpu_on+0x358>
│ │
│ │ psci_cpu_on:135.14 (psci-relay.c) Sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
~ │ └>┌─00008128: 14000001 b 812c <psci_cpu_on+0x68> <- 00008114(b.cc)<psci_cpu_on+0x64>
│ │
~ │ └>0000812c: aa1f03e8 mov x8, xzr <- 00008128(b)<psci_cpu_on+0x68>
│ psci_cpu_on:135.14 (psci-relay.c) sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
+__vpp_verify var pointer(const(no type)) 0x8130 0x8138 (DW_OP_breg31 0x98) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
~ │ 00008130: f9004fe8 str x8, [sp, #152]
~ │ ┌─00008134: 14000001 b 8138 <psci_cpu_on+0x74>
-__vpp_verify var pointer(const(no type)) 0x8130 0x8138 (DW_OP_breg31 0x98) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
│ │
│ │ psci_cpu_on:135.14 (psci-relay.c) sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8138 0x8174 (DW_OP_breg31 0x88) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
+addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8138 0x8150 (DW_OP_breg31 0x80) lexblock:lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
~ │ └>00008138: b0000088 adrp x8, 19000 <kvm_host_data> <- 00008134(b)<psci_cpu_on+0x74>
~ │ 0000813c: 91396108 add x8, x8, #0xe58
~ │ 00008140: f90043e8 str x8, [sp, #128]
~ │ 00008144: f94043e8 ldr x8, [sp, #128]
~ │ 00008148: f9003fe8 str x8, [sp, #120]
~ │ 0000814c: f9403fe8 ldr x8, [sp, #120]
-addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8138 0x8150 (DW_OP_breg31 0x80) lexblock:lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
│ psci_cpu_on:135.14 (psci-relay.c) sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
~ │ 00008150: f90047e8 str x8, [sp, #136]
~ │ 00008154: f94047e8 ldr x8, [sp, #136]
~ │ 00008158: b940bfe0 ldr w0, [sp, #188]
~ │ 0000815c: f90017e8 str x8, [sp, #40]
~ │ 00008160: 97fffd8a bl 7788 <__hyp_per_cpu_offset>
│
~ │ 00008164: f94017e8 ldr x8, [sp, #40] <- 00008160(bl-succ)<return>
~ │ 00008168: 8b000108 add x8, x8, x0
~ │ 0000816c: f9003be8 str x8, [sp, #112]
~ │ 00008170: f9403be8 ldr x8, [sp, #112]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8138 0x8174 (DW_OP_breg31 0x88) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
│ psci_cpu_on:135.14 (psci-relay.c) sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
+__vpp_verify var pointer(const(no type)) 0x8174 0x8178 (DW_OP_breg31 0x98) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
~ │ 00008174: f9004be8 str x8, [sp, #144]
-__vpp_verify var pointer(const(no type)) 0x8174 0x8178 (DW_OP_breg31 0x98) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:135
│ psci_cpu_on:135.14 (psci-relay.c) sbepe boot_args = ║per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
~ │ 00008178: f9404be8 ldr x8, [sp, #144]
│ psci_cpu_on:135.12 (psci-relay.c) sbepe boot_args ║= per_cpu_ptr(hyp_symbol_addr(cpu_on_args), cpu_id);
~ │ 0000817c: f9005be8 str x8, [sp, #176]
│ psci_cpu_on:136.16 (psci-relay.c) Sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
~ │ ┌─00008180: 14000001 b 8184 <psci_cpu_on+0xc0>
│ │
~ │ └>00008184: aa1f03e8 mov x8, xzr <- 00008180(b)<psci_cpu_on+0xc0>
│ psci_cpu_on:136.16 (psci-relay.c) sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
+__vpp_verify var pointer(const(no type)) 0x8188 0x8190 (DW_OP_breg31 0x68) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
~ │ 00008188: f90037e8 str x8, [sp, #104]
~ │ ┌─0000818c: 14000001 b 8190 <psci_cpu_on+0xcc>
-__vpp_verify var pointer(const(no type)) 0x8188 0x8190 (DW_OP_breg31 0x68) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
│ │
│ │ psci_cpu_on:136.16 (psci-relay.c) sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8190 0x81cc (DW_OP_breg31 0x58) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
+addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8190 0x81a8 (DW_OP_breg31 0x50) lexblock:lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
~ │ └>00008190: b0000088 adrp x8, 19000 <kvm_host_data> <- 0000818c(b)<psci_cpu_on+0xcc>
~ │ 00008194: 91386108 add x8, x8, #0xe18
~ │ 00008198: f9002be8 str x8, [sp, #80]
~ │ 0000819c: f9402be8 ldr x8, [sp, #80]
~ │ 000081a0: f90027e8 str x8, [sp, #72]
~ │ 000081a4: f94027e8 ldr x8, [sp, #72]
-addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8190 0x81a8 (DW_OP_breg31 0x50) lexblock:lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
│ psci_cpu_on:136.16 (psci-relay.c) sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
~ │ 000081a8: f9002fe8 str x8, [sp, #88]
~ │ 000081ac: f9402fe8 ldr x8, [sp, #88]
~ │ 000081b0: b940bfe0 ldr w0, [sp, #188]
~ │ 000081b4: f90013e8 str x8, [sp, #32]
~ │ 000081b8: 97fffd74 bl 7788 <__hyp_per_cpu_offset>
│
~ │ 000081bc: f94013e8 ldr x8, [sp, #32] <- 000081b8(bl-succ)<return>
~ │ 000081c0: 8b000108 add x8, x8, x0
~ │ 000081c4: f90023e8 str x8, [sp, #64]
~ │ 000081c8: f94023e8 ldr x8, [sp, #64]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8190 0x81cc (DW_OP_breg31 0x58) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
│ psci_cpu_on:136.16 (psci-relay.c) sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
+__vpp_verify var pointer(const(no type)) 0x81cc 0x81d0 (DW_OP_breg31 0x68) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
~ │ 000081cc: f90033e8 str x8, [sp, #96]
-__vpp_verify var pointer(const(no type)) 0x81cc 0x81d0 (DW_OP_breg31 0x68) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:136
│ psci_cpu_on:136.16 (psci-relay.c) sbepe init_params = ║per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
~ │ 000081d0: f94033e8 ldr x8, [sp, #96]
│ psci_cpu_on:136.14 (psci-relay.c) sbepe init_params ║= per_cpu_ptr(hyp_symbol_addr(kvm_init_params), cpu_id);
~ │ 000081d4: f90057e8 str x8, [sp, #168]
│ psci_cpu_on:139.29 (psci-relay.c) Sbepe if (!try_acquire_boot_args(║boot_args))
~ │ 000081d8: f9405be8 ldr x8, [sp, #176]
~ │ 000081dc: f81603a8 stur x8, [x29, #-160]
h: 0x81e0 0x8308 try_acquire_boot_args inlined from psci_cpu_on:139 (psci-relay.c) <6aa92>:
h │ try_acquire_boot_args:102.33 (psci-relay.c) Sbepe return atomic_cmpxchg_acquire(&║args->lock,
+args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x81e0 0x8308 (DW_OP_fbreg -0xa0) try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~h │ 000081e0: f85603a8 ldur x8, [x29, #-160]
~h │ 000081e4: f81783a8 stur x8, [x29, #-136]
~h │ 000081e8: 2a1f03e9 mov w9, wzr
~h │ 000081ec: b81743a9 stur w9, [x29, #-140]
~h │ 000081f0: 52800029 mov w9, #0x1 // #1
~h │ 000081f4: b81703a9 stur w9, [x29, #-144]
i: 0x81f8 0x8308 atomic_cmpxchg_acquire inlined from try_acquire_boot_args:102 (psci-relay.c) <6aaaf>:<6aa92>:
hi │ atomic_cmpxchg_acquire:664.31 (atomic-instrumented.h) Sbepe instrument_atomic_read_write(║v, sizeof(*v));
+v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x81f8 0x8308 (DW_OP_fbreg -0x88) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param int (base type, DW_ATE_signed size:4) 0x81f8 0x8308 (DW_OP_fbreg -0x8c) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param int (base type, DW_ATE_signed size:4) 0x81f8 0x8308 (DW_OP_fbreg -0x90) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~hi │ 000081f8: f85783a8 ldur x8, [x29, #-136]
~hi │ 000081fc: f81883a8 stur x8, [x29, #-120]
~hi │ 00008200: 52800089 mov w9, #0x4 // #4
~hi │ 00008204: 2a0903e8 mov w8, w9
~hi │ 00008208: f81803a8 stur x8, [x29, #-128]
j: 0x820c 0x8234 instrument_atomic_read_write inlined from atomic_cmpxchg_acquire:664 (atomic-instrumented.h) <6aade>:<6aaaf>:<6aa92>:
hij │ instrument_atomic_read_write:101.20 (instrumented.h) Sbepe kasan_check_write(║v, size);
+v param pointer(const(missing at <5bca5>/<6a434>)) 0x820c 0x8234 (DW_OP_fbreg -0x78) instrument_atomic_read_write(inlined):atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x820c 0x8234 (DW_OP_fbreg -0x80) instrument_atomic_read_write(inlined):atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~hij │ 0000820c: f85883a0 ldur x0, [x29, #-120]
hij │ instrument_atomic_read_write:101.23 (instrumented.h) sbepe kasan_check_write(v, ║size);
~hij │ 00008210: b85803a1 ldur w1, [x29, #-128]
~hij │ 00008214: b9001fe9 str w9, [sp, #28]
hij │ instrument_atomic_read_write:101.2 (instrumented.h) sbepe ║kasan_check_write(v, size);
~hij │ 00008218: 97ffff92 bl 8060 <kasan_check_write>
│
hij │ instrument_atomic_read_write:102.2 (instrumented.h) Sbepe ║kcsan_check_atomic_read_write(v, size);
~hij │ 0000821c: f85883a8 ldur x8, [x29, #-120] <- 00008218(bl-succ)<return>
~hij │ 00008220: f85803a1 ldur x1, [x29, #-128]
~hij │ 00008224: 528000e2 mov w2, #0x7 // #7
~hij │ 00008228: b9001be0 str w0, [sp, #24]
~hij │ 0000822c: aa0803e0 mov x0, x8
~hij │ 00008230: 97ffff92 bl 8078 <kcsan_check_access>
-v param pointer(const(missing at <5bca5>/<6a434>)) 0x820c 0x8234 (DW_OP_fbreg -0x78) instrument_atomic_read_write(inlined):atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x820c 0x8234 (DW_OP_fbreg -0x80) instrument_atomic_read_write(inlined):atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│
hi │ atomic_cmpxchg_acquire:665.9 (atomic-instrumented.h) Sbepe return ║arch_atomic_cmpxchg_acquire(v, old, new);
+__ret var int (base type, DW_ATE_signed size:4) 0x8234 0x8308 (DW_OP_fbreg -0x94) lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~hi │ 00008234: f85783a8 ldur x8, [x29, #-136] <- 00008230(bl-succ)<return>
~hi │ 00008238: b89743aa ldursw x10, [x29, #-140]
~hi │ 0000823c: b89703ab ldursw x11, [x29, #-144]
~hi │ 00008240: f81a83a8 stur x8, [x29, #-88]
~hi │ 00008244: f81a03aa stur x10, [x29, #-96]
~hi │ 00008248: f81983ab stur x11, [x29, #-104]
~hi │ 0000824c: b9401fe9 ldr w9, [sp, #28]
~hi │ 00008250: b81943a9 stur w9, [x29, #-108]
k: 0x8254 0x82f8 __cmpxchg_acq inlined from atomic_cmpxchg_acquire:665 (atomic-instrumented.h) <6ab1c>:<lexical_block>:<6aaaf>:<6aa92>:
hik │ __cmpxchg_acq:173.1 (cmpxchg.h) Sbepe ║__CMPXCHG_GEN(_acq)
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8254 0x82f8 (DW_OP_fbreg -0x58) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8254 0x82f8 (DW_OP_fbreg -0x60) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8254 0x82f8 (DW_OP_fbreg -0x68) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+size param int (base type, DW_ATE_signed size:4) 0x8254 0x82f8 (DW_OP_fbreg -0x6c) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~hik │ 00008254: b85943ac ldur w12, [x29, #-108]
~hik │ 00008258: 7100058c subs w12, w12, #0x1
~hik │ 0000825c: 2a0c03e8 mov w8, w12
~hik │ 00008260: f9000be8 str x8, [sp, #16]
~hik │ 00008264: f0000068 adrp x8, 17000 <___kvm_hyp_init+0x3c>
~hik │ 00008268: 913a4108 add x8, x8, #0xe90
~hik │ 0000826c: f9400beb ldr x11, [sp, #16]
~hik │ 00008270: b8ab790a ldrsw x10, [x8, x11, lsl #2]
~hik │ 00008274: 8b0a0109 add x9, x8, x10
│
~hik │ X00008278: d61f0120 br x9 -> 00008278<indirect0> <- 00008278(br)<indirect0>
hik │ __cmpxchg_acq:173.1 (cmpxchg.h) sbepe ║__CMPXCHG_GEN(_acq)
~hik │ 0000827c: f85a83a0 ldur x0, [x29, #-88]
~hik │ 00008280: 385983a2 ldurb w2, [x29, #-104]
~hik │ 00008284: 385a03a1 ldurb w1, [x29, #-96]
~hik │ 00008288: 9400011b bl 86f4 <__cmpxchg_case_acq_8>
│
~hik │ 0000828c: 2a0003e3 mov w3, w0 <- 00008288(bl-succ)<return>
~hik │ 00008290: 92401c68 and x8, x3, #0xff
~hik │ 00008294: f81b03a8 stur x8, [x29, #-80]
~hik │┌───────00008298: 14000017 b 82f4 <psci_cpu_on+0x230>
~hik ││ 0000829c: f85a83a0 ldur x0, [x29, #-88]
~hik ││ 000082a0: 785983a2 ldurh w2, [x29, #-104]
~hik ││ 000082a4: 785a03a1 ldurh w1, [x29, #-96]
~hik ││ 000082a8: 94000145 bl 87bc <__cmpxchg_case_acq_16>
││
~hik ││ 000082ac: 2a0003e3 mov w3, w0 <- 000082a8(bl-succ)<return>
~hik ││ 000082b0: 92403c68 and x8, x3, #0xffff
~hik ││ 000082b4: f81b03a8 stur x8, [x29, #-80]
~hik ││ ┌─────000082b8: 1400000f b 82f4 <psci_cpu_on+0x230>
~hik ││ │ 000082bc: f85a83a0 ldur x0, [x29, #-88]
~hik ││ │ 000082c0: b85a03a1 ldur w1, [x29, #-96]
~hik ││ │ 000082c4: b85983a2 ldur w2, [x29, #-104]
~hik ││ │ 000082c8: 9400016f bl 8884 <__cmpxchg_case_acq_32>
││ │
~hik ││ │ 000082cc: 2a0003e8 mov w8, w0 <- 000082c8(bl-succ)<return>
~hik ││ │ 000082d0: 2a0803e9 mov w9, w8
~hik ││ │ 000082d4: f81b03a9 stur x9, [x29, #-80]
~hik ││ │ ┌───000082d8: 14000007 b 82f4 <psci_cpu_on+0x230>
~hik ││ │ │ 000082dc: f85a83a0 ldur x0, [x29, #-88]
~hik ││ │ │ 000082e0: f85a03a1 ldur x1, [x29, #-96]
~hik ││ │ │ 000082e4: f85983a2 ldur x2, [x29, #-104]
~hik ││ │ │ 000082e8: 94000198 bl 8948 <__cmpxchg_case_acq_64>
││ │ │
~hik ││ │ │ 000082ec: f81b03a0 stur x0, [x29, #-80] <- 000082e8(bl-succ)<return>
~hik ││ │ │ ┌─000082f0: 14000001 b 82f4 <psci_cpu_on+0x230>
││ │ │ │
hik ││ │ │ │ __cmpxchg_acq:173.1 (cmpxchg.h) sbepe ║__CMPXCHG_GEN(_acq)
~hik │└>└>└>└>000082f4: f85b03a8 ldur x8, [x29, #-80] <- 00008298(b)<psci_cpu_on+0x230>,000082b8(b)<psci_cpu_on+0x230>,000082d8(b)<psci_cpu_on+0x230>,000082f0(b)<psci_cpu_on+0x230>
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8254 0x82f8 (DW_OP_fbreg -0x58) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8254 0x82f8 (DW_OP_fbreg -0x60) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8254 0x82f8 (DW_OP_fbreg -0x68) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-size param int (base type, DW_ATE_signed size:4) 0x8254 0x82f8 (DW_OP_fbreg -0x6c) __cmpxchg_acq(inlined):lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
hi │ atomic_cmpxchg_acquire:665.9 (atomic-instrumented.h) Sbepe return ║arch_atomic_cmpxchg_acquire(v, old, new);
~hi │ 000082f8: b816c3a8 stur w8, [x29, #-148]
~hi │ 000082fc: b856c3a8 ldur w8, [x29, #-148]
~hi │ 00008300: b81683a8 stur w8, [x29, #-152]
~hi │ 00008304: b85683a8 ldur w8, [x29, #-152]
-args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x81e0 0x8308 (DW_OP_fbreg -0xa0) try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x81f8 0x8308 (DW_OP_fbreg -0x88) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param int (base type, DW_ATE_signed size:4) 0x81f8 0x8308 (DW_OP_fbreg -0x8c) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param int (base type, DW_ATE_signed size:4) 0x81f8 0x8308 (DW_OP_fbreg -0x90) atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-__ret var int (base type, DW_ATE_signed size:4) 0x8234 0x8308 (DW_OP_fbreg -0x94) lexblock:atomic_cmpxchg_acquire(inlined):try_acquire_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ psci_cpu_on:139.6 (psci-relay.c) Sbepe if (║!try_acquire_boot_args(boot_args))
~ │ ┌──00008308: 340000a8 cbz w8, 831c <psci_cpu_on+0x258>
│ │
~ │ │┌─0000830c: 14000001 b 8310 <psci_cpu_on+0x24c> <- 00008308(b.cc-succ)<fallthrough>
│ ││
~ │ │└>00008310: 12800068 mov w8, #0xfffffffc // #-4 <- 0000830c(b)<psci_cpu_on+0x24c>
│ │ psci_cpu_on:140.3 (psci-relay.c) Sbepe ║return PSCI_RET_ALREADY_ON;
~ │ │ 00008314: b815c3a8 stur w8, [x29, #-164]
~ │ ┌─┼──00008318: 14000041 b 841c <psci_cpu_on+0x358>
│ │ │
│ │ │ psci_cpu_on:142.18 (psci-relay.c) Sbepe boot_args->pc = ║pc;
~ │ │ └─>0000831c: f94067e8 ldr x8, [sp, #200] <- 00008308(b.cc)<psci_cpu_on+0x258>
│ │ psci_cpu_on:142.2 (psci-relay.c) sbepe ║boot_args->pc = pc;
~ │ │ 00008320: f9405be9 ldr x9, [sp, #176]
│ │ psci_cpu_on:142.16 (psci-relay.c) sbepe boot_args->pc ║= pc;
~ │ │ 00008324: f9000528 str x8, [x9, #8]
│ │ psci_cpu_on:143.18 (psci-relay.c) Sbepe boot_args->r0 = ║r0;
~ │ │ 00008328: f94063e8 ldr x8, [sp, #192]
│ │ psci_cpu_on:143.2 (psci-relay.c) sbepe ║boot_args->r0 = r0;
~ │ │ 0000832c: f9405be9 ldr x9, [sp, #176]
│ │ psci_cpu_on:143.16 (psci-relay.c) sbepe boot_args->r0 ║= r0;
~ │ │ 00008330: f9000928 str x8, [x9, #16]
│ │ psci_cpu_on:144.2 (psci-relay.c) Sbepe ║wmb();
~ │ │ 00008334: d5033e9f dsb st
│ │ psci_cpu_on:146.18 (psci-relay.c) Sbepe ret = psci_call(║func_id, mpidr,
~ │ │ 00008338: f85503a0 ldur x0, [x29, #-176]
│ │ psci_cpu_on:146.27 (psci-relay.c) sbepe ret = psci_call(func_id, ║mpidr,
~ │ │ 0000833c: f85403a1 ldur x1, [x29, #-192]
│ │ psci_cpu_on:147.4 (psci-relay.c) Sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_entry)),
+addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8340 0x8358 (DW_OP_breg31 0x38) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:147
~ │ │ 00008340: f0000068 adrp x8, 17000 <___kvm_hyp_init+0x3c>
~ │ │ 00008344: 9102b108 add x8, x8, #0xac
~ │ │ 00008348: f9001fe8 str x8, [sp, #56]
~ │ │ 0000834c: f9401fe8 ldr x8, [sp, #56]
~ │ │ 00008350: f9001be8 str x8, [sp, #48]
~ │ │ 00008354: f9401be8 ldr x8, [sp, #48]
-addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8340 0x8358 (DW_OP_breg31 0x38) lexblock:psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:147
│ │ psci_cpu_on:147.4 (psci-relay.c) sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_entry)),
~ │ │ 00008358: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ 0000835c: f9439d29 ldr x9, [x9, #1848]
~ │ │ 00008360: 8b090102 add x2, x8, x9
│ │ psci_cpu_on:148.4 (psci-relay.c) Sbepe ║__hyp_pa(init_params));
~ │ │ 00008364: f94057e8 ldr x8, [sp, #168]
~ │ │ 00008368: 8b090103 add x3, x8, x9
│ │ psci_cpu_on:146.8 (psci-relay.c) Sbepe ret = ║psci_call(func_id, mpidr,
~ │ │ 0000836c: 94000080 bl 856c <psci_call>
│ │
│ │ psci_cpu_on:146.6 (psci-relay.c) sbepe ret ║= psci_call(func_id, mpidr,
~ │ │ 00008370: b900a7e0 str w0, [sp, #164] <- 0000836c(bl-succ)<return>
│ │ psci_cpu_on:151.6 (psci-relay.c) Sbepe if (║ret != PSCI_RET_SUCCESS)
~ │ │ 00008374: b940a7ea ldr w10, [sp, #164]
│ │ psci_cpu_on:151.6 (psci-relay.c) sbepe if (║ret != PSCI_RET_SUCCESS)
~ │ │┌───00008378: 340004ca cbz w10, 8410 <psci_cpu_on+0x34c>
│ ││
~ │ ││ ┌─0000837c: 14000001 b 8380 <psci_cpu_on+0x2bc> <- 00008378(b.cc-succ)<fallthrough>
│ ││ │
│ ││ │ psci_cpu_on:152.21 (psci-relay.c) Sbepe release_boot_args(║boot_args);
~ │ ││ └>00008380: f9405be8 ldr x8, [sp, #176] <- 0000837c(b)<psci_cpu_on+0x2bc>
~ │ ││ 00008384: f81b83a8 stur x8, [x29, #-72]
l: 0x8388 0x840c release_boot_args inlined from psci_cpu_on:152 (psci-relay.c) <6ab75>:
l │ ││ release_boot_args:110.22 (psci-relay.c) Sbepe atomic_set_release(&║args->lock, PSCI_BOOT_ARGS_UNLOCKED);
+args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8388 0x840c (DW_OP_fbreg -0x48) release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~l │ ││ 00008388: f85b83a8 ldur x8, [x29, #-72]
~l │ ││ 0000838c: f81c83a8 stur x8, [x29, #-56]
~l │ ││ 00008390: 2a1f03e9 mov w9, wzr
~l │ ││ 00008394: b81c43a9 stur w9, [x29, #-60]
m: 0x8398 0x840c atomic_set_release inlined from release_boot_args:110 (psci-relay.c) <6ab92>:<6ab75>:
lm │ ││ atomic_set_release:54.26 (atomic-instrumented.h) Sbepe instrument_atomic_write(║v, sizeof(*v));
+v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x8398 0x840c (DW_OP_fbreg -0x38) atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+i param int (base type, DW_ATE_signed size:4) 0x8398 0x840c (DW_OP_fbreg -0x3c) atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~lm │ ││ 00008398: f85c83a8 ldur x8, [x29, #-56]
~lm │ ││ 0000839c: f81d83a8 stur x8, [x29, #-40]
~lm │ ││ 000083a0: 52800089 mov w9, #0x4 // #4
~lm │ ││ 000083a4: 2a0903e8 mov w8, w9
~lm │ ││ 000083a8: f81d03a8 stur x8, [x29, #-48]
n: 0x83ac 0x83d4 instrument_atomic_write inlined from atomic_set_release:54 (atomic-instrumented.h) <6abb6>:<6ab92>:<6ab75>:
lmn │ ││ instrument_atomic_write:86.20 (instrumented.h) Sbepe kasan_check_write(║v, size);
+v param pointer(const(missing at <5bca5>/<6a434>)) 0x83ac 0x83d4 (DW_OP_fbreg -0x28) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x83ac 0x83d4 (DW_OP_fbreg -0x30) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~lmn │ ││ 000083ac: f85d83a0 ldur x0, [x29, #-40]
lmn │ ││ instrument_atomic_write:86.23 (instrumented.h) sbepe kasan_check_write(v, ║size);
~lmn │ ││ 000083b0: b85d03a1 ldur w1, [x29, #-48]
~lmn │ ││ 000083b4: b9000fe9 str w9, [sp, #12]
lmn │ ││ instrument_atomic_write:86.2 (instrumented.h) sbepe ║kasan_check_write(v, size);
~lmn │ ││ 000083b8: 97ffff2a bl 8060 <kasan_check_write>
│ ││
lmn │ ││ instrument_atomic_write:87.2 (instrumented.h) Sbepe ║kcsan_check_atomic_write(v, size);
~lmn │ ││ 000083bc: f85d83a8 ldur x8, [x29, #-40] <- 000083b8(bl-succ)<return>
~lmn │ ││ 000083c0: f85d03a1 ldur x1, [x29, #-48]
~lmn │ ││ 000083c4: 528000a2 mov w2, #0x5 // #5
~lmn │ ││ 000083c8: b9000be0 str w0, [sp, #8]
~lmn │ ││ 000083cc: aa0803e0 mov x0, x8
~lmn │ ││ 000083d0: 97ffff2a bl 8078 <kcsan_check_access>
-v param pointer(const(missing at <5bca5>/<6a434>)) 0x83ac 0x83d4 (DW_OP_fbreg -0x28) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-size param typedef(size_t=typedef(__kernel_size_t=typedef(__kernel_ulong_t=long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x83ac 0x83d4 (DW_OP_fbreg -0x30) instrument_atomic_write(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ ││
lm │ ││ atomic_set_release:55.26 (atomic-instrumented.h) Sbepe arch_atomic_set_release(║v, i);
~lm │ ││ 000083d4: f85c83a8 ldur x8, [x29, #-56] <- 000083d0(bl-succ)<return>
lm │ ││ atomic_set_release:55.29 (atomic-instrumented.h) sbepe arch_atomic_set_release(v, ║i);
~lm │ ││ 000083d8: b85c43a9 ldur w9, [x29, #-60]
~lm │ ││ 000083dc: f81f83a8 stur x8, [x29, #-8]
~lm │ ││ 000083e0: b81f43a9 stur w9, [x29, #-12]
o: 0x83e4 0x840c arch_atomic_set_release inlined from atomic_set_release:55 (atomic-instrumented.h) <6abdb>:<6ab92>:<6ab75>:
lmo │ ││ arch_atomic_set_release:163.2 (atomic-arch-fallback.h) Sbepe ║smp_store_release(&(v)->counter, i);
+v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x83e4 0x840c (DW_OP_fbreg -0x8) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+i param int (base type, DW_ATE_signed size:4) 0x83e4 0x840c (DW_OP_fbreg -0xc) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+__p var pointer(int (base type, DW_ATE_signed size:4)) 0x83e4 0x840c (DW_OP_fbreg -0x18) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+__u var union noname<5bca5>/<6a46d> 0x83e4 0x840c (DW_OP_fbreg -0x20) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~lmo │ ││ 000083e4: f85f83a8 ldur x8, [x29, #-8]
~lmo │ ││ 000083e8: f81e83a8 stur x8, [x29, #-24]
~lmo │ ││ 000083ec: b85f43a9 ldur w9, [x29, #-12]
~lmo │ ││ 000083f0: b81e03a9 stur w9, [x29, #-32]
~lmo │ ││ 000083f4: f85e83a0 ldur x0, [x29, #-24]
~lmo │ ││ 000083f8: b9400fe1 ldr w1, [sp, #12]
~lmo │ ││ 000083fc: 97ffff19 bl 8060 <kasan_check_write>
│ ││
~lmo │ ││ 00008400: f85e83a8 ldur x8, [x29, #-24] <- 000083fc(bl-succ)<return>
~lmo │ ││ 00008404: b85e03a9 ldur w9, [x29, #-32]
~lmo │ ││ 00008408: 889ffd09 stlr w9, [x8]
-args param pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8388 0x840c (DW_OP_fbreg -0x48) release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x8398 0x840c (DW_OP_fbreg -0x38) atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-i param int (base type, DW_ATE_signed size:4) 0x8398 0x840c (DW_OP_fbreg -0x3c) atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-v param pointer(typedef(atomic_t=struct noname<5bca5>/<5bdea>)) 0x83e4 0x840c (DW_OP_fbreg -0x8) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-i param int (base type, DW_ATE_signed size:4) 0x83e4 0x840c (DW_OP_fbreg -0xc) arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-__p var pointer(int (base type, DW_ATE_signed size:4)) 0x83e4 0x840c (DW_OP_fbreg -0x18) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-__u var union noname<5bca5>/<6a46d> 0x83e4 0x840c (DW_OP_fbreg -0x20) lexblock:arch_atomic_set_release(inlined):atomic_set_release(inlined):release_boot_args(inlined):psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ ││ psci_cpu_on:152.3 (psci-relay.c) Sbepe ║release_boot_args(boot_args);
~ │ ││ ┌─0000840c: 14000001 b 8410 <psci_cpu_on+0x34c>
│ ││ │
│ ││ │ psci_cpu_on:154.9 (psci-relay.c) Sbepe return ║ret;
~ │ │└>└>00008410: b940a7e8 ldr w8, [sp, #164] <- 00008378(b.cc)<psci_cpu_on+0x34c>,0000840c(b)<psci_cpu_on+0x34c>
│ │ psci_cpu_on:154.2 (psci-relay.c) sbepe ║return ret;
~ │ │ 00008414: b815c3a8 stur w8, [x29, #-164]
~ │ │ ┌─00008418: 14000001 b 841c <psci_cpu_on+0x358>
│ │ │
│ │ │ psci_cpu_on:155.1 (psci-relay.c) Sbepe ║}
~ └──>└─>└>0000841c: b855c3a0 ldur w0, [x29, #-164] <- 00008124(b)<psci_cpu_on+0x358>,00008318(b)<psci_cpu_on+0x358>,00008418(b)<psci_cpu_on+0x358>
~ 00008420: f940d3fc ldr x28, [sp, #416]
~ 00008424: a9597bfd ldp x29, x30, [sp, #400]
~ 00008428: 9106c3ff add sp, sp, #0x1b0
000080d4 CFA:r29+32 r28:c-16 r29:c-32 r30:c-24
~ 0000842c: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x80c4 0x8430 (DW_OP_fbreg -0xb0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:113
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x80c4 0x8430 (DW_OP_fbreg -0xb8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:113
-mpidr var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x80c4 0x8430 (DW_OP_fbreg -0xc0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:115
-pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x80c4 0x8430 (DW_OP_breg31 0xc8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:116
-r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x80c4 0x8430 (DW_OP_breg31 0xc0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:117
-cpu_id var unsigned int (base type, DW_ATE_unsigned size:4) 0x80c4 0x8430 (DW_OP_breg31 0xbc) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
-boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x80c4 0x8430 (DW_OP_breg31 0xb0) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
-init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x80c4 0x8430 (DW_OP_breg31 0xa8) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
-ret var int (base type, DW_ATE_signed size:4) 0x80c4 0x8430 (DW_OP_breg31 0xa4) psci_cpu_on:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
**00008430 <psci_cpu_suspend>:
+ psci_cpu_suspend params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8430 0x856c (DW_OP_fbreg -0x8)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8430 0x856c (DW_OP_fbreg -0x10)
psci_cpu_suspend:158.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8430 0x856c (DW_OP_fbreg -0x8) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:157
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8430 0x856c (DW_OP_fbreg -0x10) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:157
+power_state var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8430 0x856c (DW_OP_fbreg -0x18) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:159
+pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8430 0x856c (DW_OP_fbreg -0x20) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:160
+r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8430 0x856c (DW_OP_fbreg -0x28) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:161
+boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8430 0x856c (DW_OP_fbreg -0x30) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:163
+init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8430 0x856c (DW_OP_fbreg -0x38) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:164
~ 00008430: d10343ff sub sp, sp, #0xd0 <- 00007d58(bl)<psci_cpu_suspend>,00007f38(bl)<psci_cpu_suspend>
~ 00008434: a90c7bfd stp x29, x30, [sp, #192]
00008430 CFA:r31 r29:u r30:u
~ 00008438: 910303fd add x29, sp, #0xc0
~ 0000843c: f81f83a0 stur x0, [x29, #-8]
~ 00008440: f81f03a1 stur x1, [x29, #-16]
psci_cpu_suspend:159.2 (psci-relay.c) SbePe ║DECLARE_REG(u64, power_state, host_ctxt, 1);
~ 00008444: f85f03a8 ldur x8, [x29, #-16]
~ 00008448: f9400508 ldr x8, [x8, #8]
~ 0000844c: f81e83a8 stur x8, [x29, #-24]
psci_cpu_suspend:160.2 (psci-relay.c) Sbepe ║DECLARE_REG(unsigned long, pc, host_ctxt, 2);
~ 00008450: f85f03a8 ldur x8, [x29, #-16]
~ 00008454: f9400908 ldr x8, [x8, #16]
~ 00008458: f81e03a8 stur x8, [x29, #-32]
psci_cpu_suspend:161.2 (psci-relay.c) Sbepe ║DECLARE_REG(unsigned long, r0, host_ctxt, 3);
~ 0000845c: f85f03a8 ldur x8, [x29, #-16]
~ 00008460: f9400d08 ldr x8, [x8, #24]
~ 00008464: f81d83a8 stur x8, [x29, #-40]
psci_cpu_suspend:166.14 (psci-relay.c) Sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ ┌─00008468: 14000001 b 846c <psci_cpu_suspend+0x3c>
│
~ └>0000846c: aa1f03e8 mov x8, xzr <- 00008468(b)<psci_cpu_suspend+0x3c>
psci_cpu_suspend:166.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x8470 0x8478 (DW_OP_fbreg -0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
~ 00008470: f81c03a8 stur x8, [x29, #-64]
~ ┌─00008474: 14000001 b 8478 <psci_cpu_suspend+0x48>
-__vpp_verify var pointer(const(no type)) 0x8470 0x8478 (DW_OP_fbreg -0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
│
│ psci_cpu_suspend:166.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8478 0x84b0 (DW_OP_fbreg -0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
+addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8478 0x8490 (DW_OP_fbreg -0x58) lexblock:lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
~ └>00008478: b0000088 adrp x8, 19000 <kvm_host_data> <- 00008474(b)<psci_cpu_suspend+0x48>
~ 0000847c: 9139c108 add x8, x8, #0xe70
~ 00008480: f81a83a8 stur x8, [x29, #-88]
~ 00008484: f85a83a8 ldur x8, [x29, #-88]
~ 00008488: f90033e8 str x8, [sp, #96]
~ 0000848c: f94033e8 ldr x8, [sp, #96]
-addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8478 0x8490 (DW_OP_fbreg -0x58) lexblock:lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
psci_cpu_suspend:166.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ 00008490: f81b03a8 stur x8, [x29, #-80]
~ 00008494: f85b03a8 ldur x8, [x29, #-80]
~ 00008498: f9000be8 str x8, [sp, #16]
~ 0000849c: 97fffd64 bl 7a2c <__hyp_my_cpu_offset>
~ 000084a0: f9400be8 ldr x8, [sp, #16] <- 0000849c(bl-succ)<return>
~ 000084a4: 8b000108 add x8, x8, x0
~ 000084a8: f9002fe8 str x8, [sp, #88]
~ 000084ac: f9402fe8 ldr x8, [sp, #88]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8478 0x84b0 (DW_OP_fbreg -0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
psci_cpu_suspend:166.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x84b0 0x84b4 (DW_OP_fbreg -0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
~ 000084b0: f81b83a8 stur x8, [x29, #-72]
-__vpp_verify var pointer(const(no type)) 0x84b0 0x84b4 (DW_OP_fbreg -0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:166
psci_cpu_suspend:166.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ 000084b4: f85b83a8 ldur x8, [x29, #-72]
psci_cpu_suspend:166.12 (psci-relay.c) sbepe boot_args ║= this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ 000084b8: f81d03a8 stur x8, [x29, #-48]
psci_cpu_suspend:167.16 (psci-relay.c) Sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ ┌─000084bc: 14000001 b 84c0 <psci_cpu_suspend+0x90>
│
~ └>000084c0: aa1f03e8 mov x8, xzr <- 000084bc(b)<psci_cpu_suspend+0x90>
psci_cpu_suspend:167.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__vpp_verify var pointer(const(no type)) 0x84c4 0x84cc (DW_OP_breg31 0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
~ 000084c4: f9002be8 str x8, [sp, #80]
~ ┌─000084c8: 14000001 b 84cc <psci_cpu_suspend+0x9c>
-__vpp_verify var pointer(const(no type)) 0x84c4 0x84cc (DW_OP_breg31 0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
│
│ psci_cpu_suspend:167.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x84cc 0x8504 (DW_OP_breg31 0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
+addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x84cc 0x84e4 (DW_OP_breg31 0x38) lexblock:lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
~ └>000084cc: b0000088 adrp x8, 19000 <kvm_host_data> <- 000084c8(b)<psci_cpu_suspend+0x9c>
~ 000084d0: 91386108 add x8, x8, #0xe18
~ 000084d4: f9001fe8 str x8, [sp, #56]
~ 000084d8: f9401fe8 ldr x8, [sp, #56]
~ 000084dc: f9001be8 str x8, [sp, #48]
~ 000084e0: f9401be8 ldr x8, [sp, #48]
-addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x84cc 0x84e4 (DW_OP_breg31 0x38) lexblock:lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
psci_cpu_suspend:167.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ 000084e4: f90023e8 str x8, [sp, #64]
~ 000084e8: f94023e8 ldr x8, [sp, #64]
~ 000084ec: f90007e8 str x8, [sp, #8]
~ 000084f0: 97fffd4f bl 7a2c <__hyp_my_cpu_offset>
~ 000084f4: f94007e8 ldr x8, [sp, #8] <- 000084f0(bl-succ)<return>
~ 000084f8: 8b000108 add x8, x8, x0
~ 000084fc: f90017e8 str x8, [sp, #40]
~ 00008500: f94017e8 ldr x8, [sp, #40]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x84cc 0x8504 (DW_OP_breg31 0x40) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
psci_cpu_suspend:167.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__vpp_verify var pointer(const(no type)) 0x8504 0x8508 (DW_OP_breg31 0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
~ 00008504: f90027e8 str x8, [sp, #72]
-__vpp_verify var pointer(const(no type)) 0x8504 0x8508 (DW_OP_breg31 0x50) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:167
psci_cpu_suspend:167.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ 00008508: f94027e8 ldr x8, [sp, #72]
psci_cpu_suspend:167.14 (psci-relay.c) sbepe init_params ║= this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ 0000850c: f81c83a8 stur x8, [x29, #-56]
psci_cpu_suspend:173.18 (psci-relay.c) Sbepe boot_args->pc = ║pc;
~ 00008510: f85e03a8 ldur x8, [x29, #-32]
psci_cpu_suspend:173.2 (psci-relay.c) sbepe ║boot_args->pc = pc;
~ 00008514: f85d03a9 ldur x9, [x29, #-48]
psci_cpu_suspend:173.16 (psci-relay.c) sbepe boot_args->pc ║= pc;
~ 00008518: f9000528 str x8, [x9, #8]
psci_cpu_suspend:174.18 (psci-relay.c) Sbepe boot_args->r0 = ║r0;
~ 0000851c: f85d83a8 ldur x8, [x29, #-40]
psci_cpu_suspend:174.2 (psci-relay.c) sbepe ║boot_args->r0 = r0;
~ 00008520: f85d03a9 ldur x9, [x29, #-48]
psci_cpu_suspend:174.16 (psci-relay.c) sbepe boot_args->r0 ║= r0;
~ 00008524: f9000928 str x8, [x9, #16]
psci_cpu_suspend:180.19 (psci-relay.c) Sbepe return psci_call(║func_id, power_state,
~ 00008528: f85f83a0 ldur x0, [x29, #-8]
psci_cpu_suspend:180.28 (psci-relay.c) sbepe return psci_call(func_id, ║power_state,
~ 0000852c: f85e83a1 ldur x1, [x29, #-24]
psci_cpu_suspend:181.5 (psci-relay.c) Sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_resume)),
+addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8530 0x8548 (DW_OP_breg31 0x20) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:181
~ 00008530: f0000068 adrp x8, 17000 <___kvm_hyp_init+0x3c>
~ 00008534: 9102d108 add x8, x8, #0xb4
~ 00008538: f90013e8 str x8, [sp, #32]
~ 0000853c: f94013e8 ldr x8, [sp, #32]
~ 00008540: f9000fe8 str x8, [sp, #24]
~ 00008544: f9400fe8 ldr x8, [sp, #24]
-addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8530 0x8548 (DW_OP_breg31 0x20) lexblock:psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:181
psci_cpu_suspend:181.5 (psci-relay.c) sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_resume)),
~ 00008548: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 0000854c: f9439d29 ldr x9, [x9, #1848]
~ 00008550: 8b090102 add x2, x8, x9
psci_cpu_suspend:182.5 (psci-relay.c) Sbepe ║__hyp_pa(init_params));
~ 00008554: f85c83a8 ldur x8, [x29, #-56]
~ 00008558: 8b090103 add x3, x8, x9
psci_cpu_suspend:180.9 (psci-relay.c) Sbepe return ║psci_call(func_id, power_state,
~ 0000855c: 94000004 bl 856c <psci_call>
psci_cpu_suspend:180.2 (psci-relay.c) sbepe ║return psci_call(func_id, power_state,
~ 00008560: a94c7bfd ldp x29, x30, [sp, #192] <- 0000855c(bl-succ)<return>
~ 00008564: 910343ff add sp, sp, #0xd0
0000843c CFA:r29+16 r29:c-16 r30:c-8
~ 00008568: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8430 0x856c (DW_OP_fbreg -0x8) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:157
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8430 0x856c (DW_OP_fbreg -0x10) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:157
-power_state var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8430 0x856c (DW_OP_fbreg -0x18) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:159
-pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8430 0x856c (DW_OP_fbreg -0x20) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:160
-r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8430 0x856c (DW_OP_fbreg -0x28) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:161
-boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8430 0x856c (DW_OP_fbreg -0x30) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:163
-init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8430 0x856c (DW_OP_fbreg -0x38) psci_cpu_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:164
**0000856c <psci_call>:
+ psci_call params:
+fn param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb8)
+arg0 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb0)
+arg1 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa8)
+arg2 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa0)
psci_call:65.0 (psci-relay.c) Sbepe ║{
0000856c CFA:r31
+fn param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb8) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:63
+arg0 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb0) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:63
+arg1 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa8) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:64
+arg2 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa0) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:64
+res var struct arm_smccc_res<5bca5>/<6b5c2> 0x856c 0x8650 (DW_OP_fbreg 0x80) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:66
~ 0000856c: d10303ff sub sp, sp, #0xc0 <- 000080b4(bl)<psci_call>,0000836c(bl)<psci_call>,0000855c(bl)<psci_call>,00008cac(bl)<psci_call>
~ 00008570: f9005fe0 str x0, [sp, #184]
~ 00008574: f9005be1 str x1, [sp, #176]
~ 00008578: f90057e2 str x2, [sp, #168]
~ 0000857c: f90053e3 str x3, [sp, #160]
psci_call:68.2 (psci-relay.c) SbePe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
~ ┌─00008580: 14000001 b 8584 <psci_call+0x18>
│
│ psci_call:68.2 (psci-relay.c) sbepe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
+r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x78) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+r1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x70) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+r2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x68) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+r3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x60) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+__a1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x58) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+__a2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x50) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+__a3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x48) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+___res var pointer(struct arm_smccc_res<5bca5>/<6b5c2>) 0x8584 0x8644 (DW_OP_fbreg 0x40) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+arg0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x38) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+arg1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x30) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+arg2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x28) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
+arg3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x20) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
~ └>00008584: f9405be8 ldr x8, [sp, #176] <- 00008580(b)<psci_call+0x18>
~ 00008588: f9002fe8 str x8, [sp, #88]
~ 0000858c: f94057e8 ldr x8, [sp, #168]
~ 00008590: f9002be8 str x8, [sp, #80]
~ 00008594: f94053e8 ldr x8, [sp, #160]
~ 00008598: f90027e8 str x8, [sp, #72]
~ 0000859c: 910203e8 add x8, sp, #0x80
~ 000085a0: f90023e8 str x8, [sp, #64]
~ 000085a4: b940bbe9 ldr w9, [sp, #184]
~ 000085a8: 2a0903e8 mov w8, w9
~ 000085ac: f9001fe8 str x8, [sp, #56]
~ 000085b0: f9402fe8 ldr x8, [sp, #88]
~ 000085b4: f9001be8 str x8, [sp, #48]
~ 000085b8: f9402be8 ldr x8, [sp, #80]
~ 000085bc: f90017e8 str x8, [sp, #40]
~ 000085c0: f94027e8 ldr x8, [sp, #72]
~ 000085c4: f90013e8 str x8, [sp, #32]
~ 000085c8: f9401fe0 ldr x0, [sp, #56]
~ 000085cc: f9401be1 ldr x1, [sp, #48]
~ 000085d0: f94017e2 ldr x2, [sp, #40]
~ 000085d4: f94013e3 ldr x3, [sp, #32]
~ 000085d8: d4000003 smc #0x0
~ 000085dc: f9003fe0 str x0, [sp, #120] <- 000085d8(smc-hvc-succ)<C_smc_hvc successor>
~ 000085e0: f9003be1 str x1, [sp, #112]
~ 000085e4: f90037e2 str x2, [sp, #104]
~ 000085e8: f90033e3 str x3, [sp, #96]
psci_call:68.2 (psci-relay.c) sbepe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
~ 000085ec: f94023e8 ldr x8, [sp, #64]
psci_call:68.2 (psci-relay.c) sbepe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
~ ┌─────000085f0: b4000288 cbz x8, 8640 <psci_call+0xd4>
│
~ │ ┌─000085f4: 14000001 b 85f8 <psci_call+0x8c> <- 000085f0(b.cc-succ)<fallthrough>
│ │
│ │ psci_call:68.2 (psci-relay.c) sbepe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
~ │ └>000085f8: f94023e8 ldr x8, [sp, #64] <- 000085f4(b)<psci_call+0x8c>
~ │ 000085fc: f9403fe9 ldr x9, [sp, #120]
~ │ 00008600: f90003e9 str x9, [sp]
~ │ 00008604: f9403be9 ldr x9, [sp, #112]
~ │ 00008608: f90007e9 str x9, [sp, #8]
~ │ 0000860c: f94037e9 ldr x9, [sp, #104]
~ │ 00008610: f9000be9 str x9, [sp, #16]
~ │ 00008614: f94033e9 ldr x9, [sp, #96]
~ │ 00008618: f9000fe9 str x9, [sp, #24]
~ │ 0000861c: f94003e9 ldr x9, [sp]
~ │ 00008620: f94007ea ldr x10, [sp, #8]
~ │ 00008624: f9400beb ldr x11, [sp, #16]
~ │ 00008628: f9400fec ldr x12, [sp, #24]
~ │ 0000862c: f9000d0c str x12, [x8, #24]
~ │ 00008630: f900090b str x11, [x8, #16]
~ │ 00008634: f900050a str x10, [x8, #8]
~ │ 00008638: f9000109 str x9, [x8]
~ │ ┌─0000863c: 14000001 b 8640 <psci_call+0xd4>
│ │
│ │ psci_call:68.2 (psci-relay.c) sbepe ║arm_smccc_1_1_smc(fn, arg0, arg1, arg2, &res);
~ └>┌─└>00008640: 14000001 b 8644 <psci_call+0xd8> <- 000085f0(b.cc)<psci_call+0xd4>,0000863c(b)<psci_call+0xd4>
-r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x78) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-r1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x70) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-r2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x68) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-r3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x60) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-__a1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x58) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-__a2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x50) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-__a3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x48) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-___res var pointer(struct arm_smccc_res<5bca5>/<6b5c2>) 0x8584 0x8644 (DW_OP_fbreg 0x40) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-arg0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x38) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-arg1 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x30) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-arg2 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x28) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
-arg3 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8584 0x8644 (DW_OP_fbreg 0x20) lexblock:psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:68
│
│ psci_call:69.13 (psci-relay.c) Sbepe return res.║a0;
~ └──>00008644: f94043e0 ldr x0, [sp, #128] <- 00008640(b)<psci_call+0xd8>
psci_call:69.2 (psci-relay.c) sbepe ║return res.a0;
~ 00008648: 910303ff add sp, sp, #0xc0
00008570 CFA:r31+192
~ 0000864c: d65f03c0 ret
-fn param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb8) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:63
-arg0 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xb0) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:63
-arg1 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa8) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:64
-arg2 param long unsigned int (base type, DW_ATE_unsigned size:8) 0x856c 0x8650 (DW_OP_fbreg 0xa0) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:64
-res var struct arm_smccc_res<5bca5>/<6b5c2> 0x856c 0x8650 (DW_OP_fbreg 0x80) psci_call:arch/arm64/kvm/hyp/nvhe/psci-relay.c:66
**00008650 <find_cpu_id>:
+ find_cpu_id params:
+mpidr param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8650 0x86f4 (DW_OP_breg31 0x10)
find_cpu_id:85.0 (psci-relay.c) Sbepe ║{
+mpidr param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8650 0x86f4 (DW_OP_breg31 0x10) find_cpu_id:arch/arm64/kvm/hyp/nvhe/psci-relay.c:84
+i var unsigned int (base type, DW_ATE_unsigned size:4) 0x8650 0x86f4 (DW_OP_breg31 0xc) find_cpu_id:arch/arm64/kvm/hyp/nvhe/psci-relay.c:86
~ 00008650: d100c3ff sub sp, sp, #0x30 <- 00008104(bl)<find_cpu_id>
~ 00008654: a9027bfd stp x29, x30, [sp, #32]
00008650 CFA:r31 r29:u r30:u
~ 00008658: 910083fd add x29, sp, #0x20
~ 0000865c: f9000be0 str x0, [sp, #16]
find_cpu_id:89.6 (psci-relay.c) SbePe if (║mpidr & ~MPIDR_HWID_BITMASK)
~ 00008660: f9400be8 ldr x8, [sp, #16]
~ 00008664: b2585fe9 mov x9, #0xffffff0000000000 // #-1099511627776
~ 00008668: f2bfe009 movk x9, #0xff00, lsl #16
find_cpu_id:89.12 (psci-relay.c) sbepe if (mpidr ║& ~MPIDR_HWID_BITMASK)
~ 0000866c: 8a090108 and x8, x8, x9
find_cpu_id:89.6 (psci-relay.c) sbepe if (║mpidr & ~MPIDR_HWID_BITMASK)
~ ┌──00008670: b40000a8 cbz x8, 8684 <find_cpu_id+0x34>
│
~ │┌─00008674: 14000001 b 8678 <find_cpu_id+0x28> <- 00008670(b.cc-succ)<fallthrough>
││
~ │└>00008678: 12800008 mov w8, #0xffffffff // #-1 <- 00008674(b)<find_cpu_id+0x28>
│ find_cpu_id:90.3 (psci-relay.c) Sbepe ║return INVALID_CPU_ID;
~ │ 0000867c: b81fc3a8 stur w8, [x29, #-4]
~ ┌────┼──00008680: 14000019 b 86e4 <find_cpu_id+0x94>
│ │
~ │ └─>00008684: 2a1f03e8 mov w8, wzr <- 00008670(b.cc)<find_cpu_id+0x34>
│ find_cpu_id:92.9 (psci-relay.c) Sbepe for (i ║= 0; i < NR_CPUS; i++) {
~ │ 00008688: b9000fe8 str w8, [sp, #12]
│ find_cpu_id:92.7 (psci-relay.c) sbepe for (║i = 0; i < NR_CPUS; i++) {
~ │ ┌─0000868c: 14000001 b 8690 <find_cpu_id+0x40>
│ │
│ │ find_cpu_id:92.14 (psci-relay.c) sbepe for (i = 0; ║i < NR_CPUS; i++) {
~ │╔═══>└>00008690: b9400fe8 ldr w8, [sp, #12] <- 0000868c(b)<find_cpu_id+0x40>,v000086d4(b)<find_cpu_id+0x40>
│║ find_cpu_id:92.2 (psci-relay.c) sbepe ║for (i = 0; i < NR_CPUS; i++) {
~ │║ 00008694: 7103fd08 subs w8, w8, #0xff
~ │║┌─────00008698: 54000208 b.hi 86d8 <find_cpu_id+0x88> // b.pmore
│║│
~ │║│ ┌─0000869c: 14000001 b 86a0 <find_cpu_id+0x50> <- 00008698(b.cc-succ)<fallthrough>
│║│ │
│║│ │ find_cpu_id:93.23 (psci-relay.c) Sbepe if (cpu_logical_map(║i) == mpidr)
~ │║│ └>000086a0: b9400fe0 ldr w0, [sp, #12] <- 0000869c(b)<find_cpu_id+0x50>
│║│ find_cpu_id:93.7 (psci-relay.c) sbepe if (║cpu_logical_map(i) == mpidr)
~ │║│ 000086a4: 97fffc28 bl 7744 <cpu_logical_map>
│║│
│║│ find_cpu_id:93.29 (psci-relay.c) sbepe if (cpu_logical_map(i) == ║mpidr)
~ │║│ 000086a8: f9400be8 ldr x8, [sp, #16] <- 000086a4(bl-succ)<return>
│║│ find_cpu_id:93.7 (psci-relay.c) sbepe if (║cpu_logical_map(i) == mpidr)
~ │║│ 000086ac: eb080008 subs x8, x0, x8
~ │║│ ┌───000086b0: 540000a1 b.ne 86c4 <find_cpu_id+0x74> // b.any
│║│ │
~ │║│ │ ┌─000086b4: 14000001 b 86b8 <find_cpu_id+0x68> <- 000086b0(b.cc-succ)<fallthrough>
│║│ │ │
│║│ │ │ find_cpu_id:94.11 (psci-relay.c) Sbepe return i;
~ │║│ │ └>000086b8: b9400fe8 ldr w8, [sp, #12] <- 000086b4(b)<find_cpu_id+0x68>
│║│ │ find_cpu_id:94.4 (psci-relay.c) sbepe ║return i;
~ │║│ │ 000086bc: b81fc3a8 stur w8, [x29, #-4]
~ │║│┌┼───000086c0: 14000009 b 86e4 <find_cpu_id+0x94>
│║│││
│║│││ find_cpu_id:95.2 (psci-relay.c) Sbepe }
~ │║││└>┌─000086c4: 14000001 b 86c8 <find_cpu_id+0x78> <- 000086b0(b.cc)<find_cpu_id+0x74>
│║││ │
│║││ │ find_cpu_id:92.28 (psci-relay.c) Sbepe for (i = 0; i < NR_CPUS; i║++) {
~ │║││ └>000086c8: b9400fe8 ldr w8, [sp, #12] <- 000086c4(b)<find_cpu_id+0x78>
~ │║││ 000086cc: 11000508 add w8, w8, #0x1
~ │║││ 000086d0: b9000fe8 str w8, [sp, #12]
│║││ find_cpu_id:92.2 (psci-relay.c) sbepe ║for (i = 0; i < NR_CPUS; i++) {
~ │╚╪╪════000086d4: 17ffffef b 8690 <find_cpu_id+0x40>
│ ││
~ │ └┼───>000086d8: 12800008 mov w8, #0xffffffff // #-1 <- 00008698(b.cc)<find_cpu_id+0x88>
│ │ find_cpu_id:97.2 (psci-relay.c) Sbepe ║return INVALID_CPU_ID;
~ │ │ 000086dc: b81fc3a8 stur w8, [x29, #-4]
~ │ │ ┌─000086e0: 14000001 b 86e4 <find_cpu_id+0x94>
│ │ │
│ │ │ find_cpu_id:98.1 (psci-relay.c) Sbepe ║}
~ └─>└─>└>000086e4: b85fc3a0 ldur w0, [x29, #-4] <- 00008680(b)<find_cpu_id+0x94>,000086c0(b)<find_cpu_id+0x94>,000086e0(b)<find_cpu_id+0x94>
~ 000086e8: a9427bfd ldp x29, x30, [sp, #32]
~ 000086ec: 9100c3ff add sp, sp, #0x30
0000865c CFA:r29+16 r29:c-16 r30:c-8
~ 000086f0: d65f03c0 ret
-mpidr param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8650 0x86f4 (DW_OP_breg31 0x10) find_cpu_id:arch/arm64/kvm/hyp/nvhe/psci-relay.c:84
-i var unsigned int (base type, DW_ATE_unsigned size:4) 0x8650 0x86f4 (DW_OP_breg31 0xc) find_cpu_id:arch/arm64/kvm/hyp/nvhe/psci-relay.c:86
**000086f4 <__cmpxchg_case_acq_8>:
+ __cmpxchg_case_acq_8 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x86f4 0x87bc (DW_OP_breg31 0x10)
+old param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0xc)
+new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0x8)
__cmpxchg_case_acq_8:119.0 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 8)
+ptr param pointer(missing at <5bca5>/<6a434>) 0x86f4 0x87bc (DW_OP_breg31 0x10) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
+old param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0xc) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
+new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0x8) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
~ 000086f4: d10143ff sub sp, sp, #0x50 <- 00008288(bl)<__cmpxchg_case_acq_8>
~ 000086f8: a9047bfd stp x29, x30, [sp, #64]
000086f4 CFA:r31 r29:u r30:u
~ 000086fc: 910103fd add x29, sp, #0x40
~ 00008700: f9000be0 str x0, [sp, #16]
~ 00008704: 390033e1 strb w1, [sp, #12]
~ 00008708: 390023e2 strb w2, [sp, #8]
__cmpxchg_case_acq_8:119.1 (cmpxchg.h) SbePe ║__CMPXCHG_CASE(acq_, 8)
~ 0000870c: 940000bd bl 8a00 <system_uses_lse_atomics>
~ ┌──00008710: 360003a0 tbz w0, #0, 8784 <__cmpxchg_case_acq_8+0x90> <- 0000870c(bl-succ)<return>
│
~ │┌─00008714: 14000001 b 8718 <__cmpxchg_case_acq_8+0x24> <- 00008710(b.cc-succ)<fallthrough>
││
~ │└>00008718: f9400be8 ldr x8, [sp, #16] <- 00008714(b)<__cmpxchg_case_acq_8+0x24>
~ │ 0000871c: 394033e9 ldrb w9, [sp, #12]
~ │ 00008720: 394023ea ldrb w10, [sp, #8]
~ │ 00008724: f81f83a8 stur x8, [x29, #-8]
~ │ 00008728: 381f43a9 sturb w9, [x29, #-12]
~ │ 0000872c: 381f03aa sturb w10, [x29, #-16]
p: 0x8730 0x8780 __lse__cmpxchg_case_acq_8 inlined from __cmpxchg_case_acq_8:119 (cmpxchg.h) <6af53>:
p │ __lse__cmpxchg_case_acq_8:368.1 (atomic_lse.h) Sbepe ║__CMPXCHG_CASE(w, b, acq_, 8, a, "memory")
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8730 0x8780 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8730 0x8780 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x1 var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x2 var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8730 0x8780 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~p │ 00008730: f85f83a8 ldur x8, [x29, #-8]
~p │ 00008734: f81e83a8 stur x8, [x29, #-24]
~p │ 00008738: 385f43a9 ldurb w9, [x29, #-12]
~p │ 0000873c: 381e43a9 sturb w9, [x29, #-28]
~p │ 00008740: 385f03a9 ldurb w9, [x29, #-16]
~p │ 00008744: 390083e9 strb w9, [sp, #32]
~p │ 00008748: f85e83a8 ldur x8, [x29, #-24]
~p │ 0000874c: f85f83ab ldur x11, [x29, #-8]
~p │ 00008750: 385e43a9 ldurb w9, [x29, #-28]
~p │ 00008754: 2a0903e1 mov w1, w9
~p │ 00008758: 394083e9 ldrb w9, [sp, #32]
~p │ 0000875c: 2a0903e2 mov w2, w9
~p │ 00008760: aa0803e0 mov x0, x8
~p │ 00008764: 2a0103e8 mov w8, w1
~p │ 00008768: 08e87d62 casab w8, w2, [x11]
~p │ 0000876c: 2a0803e0 mov w0, w8
~p │ 00008770: f81e83a0 stur x0, [x29, #-24]
~p │ 00008774: f9000fe8 str x8, [sp, #24]
~p │ 00008778: 385e83a9 ldurb w9, [x29, #-24]
~p │ 0000877c: b90003e9 str w9, [sp]
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8730 0x8780 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8730 0x8780 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x1 var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x2 var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8730 0x8780 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8730 0x8780 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_8(inlined):__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ __cmpxchg_case_acq_8:119.1 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 8)
~ ┌┼──00008780: 14000009 b 87a4 <__cmpxchg_case_acq_8+0xb0>
││
~ │└─>00008784: f9400be0 ldr x0, [sp, #16] <- 00008710(b.cc)<__cmpxchg_case_acq_8+0x90>
~ │ 00008788: 394033e8 ldrb w8, [sp, #12]
~ │ 0000878c: 2a0803e1 mov w1, w8
~ │ 00008790: 394023e2 ldrb w2, [sp, #8]
~ │ 00008794: 940000bc bl 8a84 <__ll_sc__cmpxchg_case_acq_8>
│
~ │ 00008798: 12001c08 and w8, w0, #0xff <- 00008794(bl-succ)<return>
~ │ 0000879c: b90003e8 str w8, [sp]
~ │ ┌─000087a0: 14000001 b 87a4 <__cmpxchg_case_acq_8+0xb0>
│ │
~ └>└>000087a4: b94003e8 ldr w8, [sp] <- 00008780(b)<__cmpxchg_case_acq_8+0xb0>,000087a0(b)<__cmpxchg_case_acq_8+0xb0>
__cmpxchg_case_acq_8:119.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 8)
~ 000087a8: b90007e8 str w8, [sp, #4]
__cmpxchg_case_acq_8:119.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 8)
~ 000087ac: b94007e0 ldr w0, [sp, #4]
__cmpxchg_case_acq_8:119.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 8)
~ 000087b0: a9447bfd ldp x29, x30, [sp, #64]
~ 000087b4: 910143ff add sp, sp, #0x50
00008700 CFA:r29+16 r29:c-16 r30:c-8
~ 000087b8: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x86f4 0x87bc (DW_OP_breg31 0x10) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
-old param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0xc) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
-new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x86f4 0x87bc (DW_OP_breg31 0x8) __cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:119
**000087bc <__cmpxchg_case_acq_16>:
+ __cmpxchg_case_acq_16 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x87bc 0x8884 (DW_OP_breg31 0x10)
+old param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0xc)
+new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0x8)
__cmpxchg_case_acq_16:120.0 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 16)
+ptr param pointer(missing at <5bca5>/<6a434>) 0x87bc 0x8884 (DW_OP_breg31 0x10) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
+old param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0xc) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
+new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0x8) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
~ 000087bc: d10143ff sub sp, sp, #0x50 <- 000082a8(bl)<__cmpxchg_case_acq_16>
~ 000087c0: a9047bfd stp x29, x30, [sp, #64]
000087bc CFA:r31 r29:u r30:u
~ 000087c4: 910103fd add x29, sp, #0x40
~ 000087c8: f9000be0 str x0, [sp, #16]
~ 000087cc: 79001be1 strh w1, [sp, #12]
~ 000087d0: 790013e2 strh w2, [sp, #8]
__cmpxchg_case_acq_16:120.1 (cmpxchg.h) SbePe ║__CMPXCHG_CASE(acq_, 16)
~ 000087d4: 9400008b bl 8a00 <system_uses_lse_atomics>
~ ┌──000087d8: 360003a0 tbz w0, #0, 884c <__cmpxchg_case_acq_16+0x90> <- 000087d4(bl-succ)<return>
│
~ │┌─000087dc: 14000001 b 87e0 <__cmpxchg_case_acq_16+0x24> <- 000087d8(b.cc-succ)<fallthrough>
││
~ │└>000087e0: f9400be8 ldr x8, [sp, #16] <- 000087dc(b)<__cmpxchg_case_acq_16+0x24>
~ │ 000087e4: 79401be9 ldrh w9, [sp, #12]
~ │ 000087e8: 794013ea ldrh w10, [sp, #8]
~ │ 000087ec: f81f83a8 stur x8, [x29, #-8]
~ │ 000087f0: 781f43a9 sturh w9, [x29, #-12]
~ │ 000087f4: 781f03aa sturh w10, [x29, #-16]
q: 0x87f8 0x8848 __lse__cmpxchg_case_acq_16 inlined from __cmpxchg_case_acq_16:120 (cmpxchg.h) <6b046>:
q │ __lse__cmpxchg_case_acq_16:369.1 (atomic_lse.h) Sbepe ║__CMPXCHG_CASE(w, h, acq_, 16, a, "memory")
+ptr param pointer(missing at <5bca5>/<6a434>) 0x87f8 0x8848 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x87f8 0x8848 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x1 var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x2 var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x87f8 0x8848 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~q │ 000087f8: f85f83a8 ldur x8, [x29, #-8]
~q │ 000087fc: f81e83a8 stur x8, [x29, #-24]
~q │ 00008800: 785f43a9 ldurh w9, [x29, #-12]
~q │ 00008804: 781e43a9 sturh w9, [x29, #-28]
~q │ 00008808: 785f03a9 ldurh w9, [x29, #-16]
~q │ 0000880c: 790043e9 strh w9, [sp, #32]
~q │ 00008810: f85e83a8 ldur x8, [x29, #-24]
~q │ 00008814: f85f83ab ldur x11, [x29, #-8]
~q │ 00008818: 785e43a9 ldurh w9, [x29, #-28]
~q │ 0000881c: 2a0903e1 mov w1, w9
~q │ 00008820: 794043e9 ldrh w9, [sp, #32]
~q │ 00008824: 2a0903e2 mov w2, w9
~q │ 00008828: aa0803e0 mov x0, x8
~q │ 0000882c: 2a0103e8 mov w8, w1
~q │ 00008830: 48e87d62 casah w8, w2, [x11]
~q │ 00008834: 2a0803e0 mov w0, w8
~q │ 00008838: f81e83a0 stur x0, [x29, #-24]
~q │ 0000883c: f9000fe8 str x8, [sp, #24]
~q │ 00008840: 785e83a9 ldurh w9, [x29, #-24]
~q │ 00008844: b90003e9 str w9, [sp]
-ptr param pointer(missing at <5bca5>/<6a434>) 0x87f8 0x8848 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x87f8 0x8848 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x1 var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x2 var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87f8 0x8848 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x87f8 0x8848 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_16(inlined):__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ __cmpxchg_case_acq_16:120.1 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 16)
~ ┌┼──00008848: 14000009 b 886c <__cmpxchg_case_acq_16+0xb0>
││
~ │└─>0000884c: f9400be0 ldr x0, [sp, #16] <- 000087d8(b.cc)<__cmpxchg_case_acq_16+0x90>
~ │ 00008850: 79401be8 ldrh w8, [sp, #12]
~ │ 00008854: 2a0803e1 mov w1, w8
~ │ 00008858: 794013e2 ldrh w2, [sp, #8]
~ │ 0000885c: 9400009a bl 8ac4 <__ll_sc__cmpxchg_case_acq_16>
│
~ │ 00008860: 12003c08 and w8, w0, #0xffff <- 0000885c(bl-succ)<return>
~ │ 00008864: b90003e8 str w8, [sp]
~ │ ┌─00008868: 14000001 b 886c <__cmpxchg_case_acq_16+0xb0>
│ │
~ └>└>0000886c: b94003e8 ldr w8, [sp] <- 00008848(b)<__cmpxchg_case_acq_16+0xb0>,00008868(b)<__cmpxchg_case_acq_16+0xb0>
__cmpxchg_case_acq_16:120.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 16)
~ 00008870: b90007e8 str w8, [sp, #4]
__cmpxchg_case_acq_16:120.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 16)
~ 00008874: b94007e0 ldr w0, [sp, #4]
__cmpxchg_case_acq_16:120.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 16)
~ 00008878: a9447bfd ldp x29, x30, [sp, #64]
~ 0000887c: 910143ff add sp, sp, #0x50
000087c8 CFA:r29+16 r29:c-16 r30:c-8
~ 00008880: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x87bc 0x8884 (DW_OP_breg31 0x10) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
-old param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0xc) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
-new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x87bc 0x8884 (DW_OP_breg31 0x8) __cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:120
**00008884 <__cmpxchg_case_acq_32>:
+ __cmpxchg_case_acq_32 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8884 0x8948 (DW_OP_breg31 0x10)
+old param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0xc)
+new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0x8)
__cmpxchg_case_acq_32:121.0 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 32)
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8884 0x8948 (DW_OP_breg31 0x10) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
+old param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0xc) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
+new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0x8) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
~ 00008884: d10143ff sub sp, sp, #0x50 <- 000082c8(bl)<__cmpxchg_case_acq_32>
~ 00008888: a9047bfd stp x29, x30, [sp, #64]
00008884 CFA:r31 r29:u r30:u
~ 0000888c: 910103fd add x29, sp, #0x40
~ 00008890: f9000be0 str x0, [sp, #16]
~ 00008894: b9000fe1 str w1, [sp, #12]
~ 00008898: b9000be2 str w2, [sp, #8]
__cmpxchg_case_acq_32:121.1 (cmpxchg.h) SbePe ║__CMPXCHG_CASE(acq_, 32)
~ 0000889c: 94000059 bl 8a00 <system_uses_lse_atomics>
~ ┌──000088a0: 360003a0 tbz w0, #0, 8914 <__cmpxchg_case_acq_32+0x90> <- 0000889c(bl-succ)<return>
│
~ │┌─000088a4: 14000001 b 88a8 <__cmpxchg_case_acq_32+0x24> <- 000088a0(b.cc-succ)<fallthrough>
││
~ │└>000088a8: f9400be8 ldr x8, [sp, #16] <- 000088a4(b)<__cmpxchg_case_acq_32+0x24>
~ │ 000088ac: b9400fe9 ldr w9, [sp, #12]
~ │ 000088b0: b9400bea ldr w10, [sp, #8]
~ │ 000088b4: f81f83a8 stur x8, [x29, #-8]
~ │ 000088b8: b81f43a9 stur w9, [x29, #-12]
~ │ 000088bc: b81f03aa stur w10, [x29, #-16]
r: 0x88c0 0x8910 __lse__cmpxchg_case_acq_32 inlined from __cmpxchg_case_acq_32:121 (cmpxchg.h) <6b139>:
r │ __lse__cmpxchg_case_acq_32:370.1 (atomic_lse.h) Sbepe ║__CMPXCHG_CASE(w, , acq_, 32, a, "memory")
+ptr param pointer(missing at <5bca5>/<6a434>) 0x88c0 0x8910 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x88c0 0x8910 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x1 var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x2 var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x88c0 0x8910 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~r │ 000088c0: f85f83a8 ldur x8, [x29, #-8]
~r │ 000088c4: f81e83a8 stur x8, [x29, #-24]
~r │ 000088c8: b85f43a9 ldur w9, [x29, #-12]
~r │ 000088cc: b81e43a9 stur w9, [x29, #-28]
~r │ 000088d0: b85f03a9 ldur w9, [x29, #-16]
~r │ 000088d4: b90023e9 str w9, [sp, #32]
~r │ 000088d8: f85e83a8 ldur x8, [x29, #-24]
~r │ 000088dc: f85f83ab ldur x11, [x29, #-8]
~r │ 000088e0: b85e43a9 ldur w9, [x29, #-28]
~r │ 000088e4: 2a0903e1 mov w1, w9
~r │ 000088e8: b94023e9 ldr w9, [sp, #32]
~r │ 000088ec: 2a0903e2 mov w2, w9
~r │ 000088f0: aa0803e0 mov x0, x8
~r │ 000088f4: 2a0103e8 mov w8, w1
~r │ 000088f8: 88e87d62 casa w8, w2, [x11]
~r │ 000088fc: 2a0803e0 mov w0, w8
~r │ 00008900: f81e83a0 stur x0, [x29, #-24]
~r │ 00008904: f9000fe8 str x8, [sp, #24]
~r │ 00008908: b85e83a9 ldur w9, [x29, #-24]
~r │ 0000890c: b90003e9 str w9, [sp]
-ptr param pointer(missing at <5bca5>/<6a434>) 0x88c0 0x8910 (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0xc) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x88c0 0x8910 (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x1 var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_fbreg -0x1c) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x2 var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x88c0 0x8910 (DW_OP_breg31 0x20) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x88c0 0x8910 (DW_OP_breg31 0x18) __lse__cmpxchg_case_acq_32(inlined):__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ __cmpxchg_case_acq_32:121.1 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 32)
~ ┌┼──00008910: 14000008 b 8930 <__cmpxchg_case_acq_32+0xac>
││
~ │└─>00008914: f9400be0 ldr x0, [sp, #16] <- 000088a0(b.cc)<__cmpxchg_case_acq_32+0x90>
~ │ 00008918: b9400fe8 ldr w8, [sp, #12]
~ │ 0000891c: 2a0803e1 mov w1, w8
~ │ 00008920: b9400be2 ldr w2, [sp, #8]
~ │ 00008924: 94000078 bl 8b04 <__ll_sc__cmpxchg_case_acq_32>
│
~ │ 00008928: b90003e0 str w0, [sp] <- 00008924(bl-succ)<return>
~ │ ┌─0000892c: 14000001 b 8930 <__cmpxchg_case_acq_32+0xac>
│ │
~ └>└>00008930: b94003e8 ldr w8, [sp] <- 00008910(b)<__cmpxchg_case_acq_32+0xac>,0000892c(b)<__cmpxchg_case_acq_32+0xac>
__cmpxchg_case_acq_32:121.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 32)
~ 00008934: b90007e8 str w8, [sp, #4]
__cmpxchg_case_acq_32:121.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 32)
~ 00008938: b94007e0 ldr w0, [sp, #4]
__cmpxchg_case_acq_32:121.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 32)
~ 0000893c: a9447bfd ldp x29, x30, [sp, #64]
~ 00008940: 910143ff add sp, sp, #0x50
00008890 CFA:r29+16 r29:c-16 r30:c-8
~ 00008944: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8884 0x8948 (DW_OP_breg31 0x10) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
-old param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0xc) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
-new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8884 0x8948 (DW_OP_breg31 0x8) __cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:121
**00008948 <__cmpxchg_case_acq_64>:
+ __cmpxchg_case_acq_64 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8948 0x8a00 (DW_OP_breg31 0x20)
+old param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x18)
+new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x10)
__cmpxchg_case_acq_64:122.0 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 64)
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8948 0x8a00 (DW_OP_breg31 0x20) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
+old param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x18) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
+new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x10) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
~ 00008948: d101c3ff sub sp, sp, #0x70 <- 000082e8(bl)<__cmpxchg_case_acq_64>
~ 0000894c: a9067bfd stp x29, x30, [sp, #96]
00008948 CFA:r31 r29:u r30:u
~ 00008950: 910183fd add x29, sp, #0x60
~ 00008954: f90013e0 str x0, [sp, #32]
~ 00008958: f9000fe1 str x1, [sp, #24]
~ 0000895c: f9000be2 str x2, [sp, #16]
__cmpxchg_case_acq_64:122.1 (cmpxchg.h) SbePe ║__CMPXCHG_CASE(acq_, 64)
~ 00008960: 94000028 bl 8a00 <system_uses_lse_atomics>
~ ┌──00008964: 36000360 tbz w0, #0, 89d0 <__cmpxchg_case_acq_64+0x88> <- 00008960(bl-succ)<return>
│
~ │┌─00008968: 14000001 b 896c <__cmpxchg_case_acq_64+0x24> <- 00008964(b.cc-succ)<fallthrough>
││
~ │└>0000896c: f94013e8 ldr x8, [sp, #32] <- 00008968(b)<__cmpxchg_case_acq_64+0x24>
~ │ 00008970: f9400fe9 ldr x9, [sp, #24]
~ │ 00008974: f9400bea ldr x10, [sp, #16]
~ │ 00008978: f81f83a8 stur x8, [x29, #-8]
~ │ 0000897c: f81f03a9 stur x9, [x29, #-16]
~ │ 00008980: f81e83aa stur x10, [x29, #-24]
s: 0x8984 0x89cc __lse__cmpxchg_case_acq_64 inlined from __cmpxchg_case_acq_64:122 (cmpxchg.h) <6b22c>:
s │ __lse__cmpxchg_case_acq_64:371.1 (atomic_lse.h) Sbepe ║__CMPXCHG_CASE(x, , acq_, 64, a, "memory")
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8984 0x89cc (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+old param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8984 0x89cc (DW_OP_fbreg -0x20) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x1 var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x28) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+x2 var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_breg31 0x30) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8984 0x89cc (DW_OP_breg31 0x28) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
~s │ 00008984: f85f83a8 ldur x8, [x29, #-8]
~s │ 00008988: f81e03a8 stur x8, [x29, #-32]
~s │ 0000898c: f85f03a8 ldur x8, [x29, #-16]
~s │ 00008990: f81d83a8 stur x8, [x29, #-40]
~s │ 00008994: f85e83a8 ldur x8, [x29, #-24]
~s │ 00008998: f9001be8 str x8, [sp, #48]
~s │ 0000899c: f85e03a8 ldur x8, [x29, #-32]
~s │ 000089a0: f85f83a9 ldur x9, [x29, #-8]
~s │ 000089a4: f85d83a1 ldur x1, [x29, #-40]
~s │ 000089a8: f9401be2 ldr x2, [sp, #48]
~s │ 000089ac: aa0803e0 mov x0, x8
~s │ 000089b0: aa0103e8 mov x8, x1
~s │ 000089b4: c8e87d22 casa x8, x2, [x9]
~s │ 000089b8: aa0803e0 mov x0, x8
~s │ 000089bc: f81e03a0 stur x0, [x29, #-32]
~s │ 000089c0: f90017e8 str x8, [sp, #40]
~s │ 000089c4: f85e03a8 ldur x8, [x29, #-32]
~s │ 000089c8: f90003e8 str x8, [sp]
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8984 0x89cc (DW_OP_fbreg -0x8) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-old param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x10) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x18) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8984 0x89cc (DW_OP_fbreg -0x20) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x1 var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_fbreg -0x28) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-x2 var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8984 0x89cc (DW_OP_breg31 0x30) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8984 0x89cc (DW_OP_breg31 0x28) __lse__cmpxchg_case_acq_64(inlined):__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c
│ __cmpxchg_case_acq_64:122.1 (cmpxchg.h) Sbepe ║__CMPXCHG_CASE(acq_, 64)
~ ┌┼──000089cc: 14000007 b 89e8 <__cmpxchg_case_acq_64+0xa0>
││
~ │└─>000089d0: f94013e0 ldr x0, [sp, #32] <- 00008964(b.cc)<__cmpxchg_case_acq_64+0x88>
~ │ 000089d4: f9400fe1 ldr x1, [sp, #24]
~ │ 000089d8: f9400be2 ldr x2, [sp, #16]
~ │ 000089dc: 94000057 bl 8b38 <__ll_sc__cmpxchg_case_acq_64>
│
~ │ 000089e0: f90003e0 str x0, [sp] <- 000089dc(bl-succ)<return>
~ │ ┌─000089e4: 14000001 b 89e8 <__cmpxchg_case_acq_64+0xa0>
│ │
~ └>└>000089e8: f94003e8 ldr x8, [sp] <- 000089cc(b)<__cmpxchg_case_acq_64+0xa0>,000089e4(b)<__cmpxchg_case_acq_64+0xa0>
__cmpxchg_case_acq_64:122.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 64)
~ 000089ec: f90007e8 str x8, [sp, #8]
__cmpxchg_case_acq_64:122.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 64)
~ 000089f0: f94007e0 ldr x0, [sp, #8]
__cmpxchg_case_acq_64:122.1 (cmpxchg.h) sbepe ║__CMPXCHG_CASE(acq_, 64)
~ 000089f4: a9467bfd ldp x29, x30, [sp, #96]
~ 000089f8: 9101c3ff add sp, sp, #0x70
00008954 CFA:r29+16 r29:c-16 r30:c-8
~ 000089fc: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8948 0x8a00 (DW_OP_breg31 0x20) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
-old param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x18) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
-new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8948 0x8a00 (DW_OP_breg31 0x10) __cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:122
**00008a00 <system_uses_lse_atomics>:
+ system_uses_lse_atomics params: none
system_uses_lse_atomics:23.0 (lse.h) Sbepe ║{
00008a00 CFA:r31
~ 00008a00: d100c3ff sub sp, sp, #0x30 <- 0000870c(bl)<system_uses_lse_atomics>,000087d4(bl)<system_uses_lse_atomics>,0000889c(bl)<system_uses_lse_atomics>,00008960(bl)<system_uses_lse_atomics>
system_uses_lse_atomics:24.10 (lse.h) SbePe return (║static_branch_likely(&arm64_const_caps_ready)) &&
+branch var typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x8a04 0x8a34 (DW_OP_fbreg 0x2c) lexblock:system_uses_lse_atomics:arch/arm64/kvm/hyp/nvhe/psci-relay.c:24
~ 00008a04: f0000088 adrp x8, 1b000 <hyp_memory+0x460>
~ 00008a08: b9479909 ldr w9, [x8, #1944]
~ 00008a0c: 71000129 subs w9, w9, #0x0
~ 00008a10: 1a9f07ea cset w10, ne // ne = any
~ 00008a14: 3900b3ea strb w10, [sp, #44]
system_uses_lse_atomics:24.10 (lse.h) sbepe return (║static_branch_likely(&arm64_const_caps_ready)) &&
~ 00008a18: 3940b3ea ldrb w10, [sp, #44]
~ 00008a1c: 2a0a03e8 mov w8, w10
~ 00008a20: 92400108 and x8, x8, #0x1
system_uses_lse_atomics:24.10 (lse.h) sbepe return (║static_branch_likely(&arm64_const_caps_ready)) &&
~ 00008a24: f90013e8 str x8, [sp, #32]
system_uses_lse_atomics:24.10 (lse.h) sbepe return (║static_branch_likely(&arm64_const_caps_ready)) &&
~ 00008a28: f94013e8 ldr x8, [sp, #32]
~ 00008a2c: 2a1f03e0 mov w0, wzr
~ 00008a30: b9000fe0 str w0, [sp, #12]
-branch var typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x8a04 0x8a34 (DW_OP_fbreg 0x2c) lexblock:system_uses_lse_atomics:arch/arm64/kvm/hyp/nvhe/psci-relay.c:24
system_uses_lse_atomics:24.57 (lse.h) sbepe return (static_branch_likely(&arm64_const_caps_ready)) &&
~ ┌───00008a34: b4000208 cbz x8, 8a74 <system_uses_lse_atomics+0x74>
│
~ │ ┌─00008a38: 14000001 b 8a3c <system_uses_lse_atomics+0x3c> <- 00008a34(b.cc-succ)<fallthrough>
│ │
│ │ system_uses_lse_atomics:25.3 (lse.h) Sbepe ║static_branch_likely(&cpu_hwcap_keys[ARM64_HAS_LSE_ATOMICS]);
+branch var typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x8a3c 0x8a64 (DW_OP_fbreg 0x1c) lexblock:system_uses_lse_atomics:arch/arm64/kvm/hyp/nvhe/psci-relay.c:25
~ │ └>00008a3c: f0000088 adrp x8, 1b000 <hyp_memory+0x460> <- 00008a38(b)<system_uses_lse_atomics+0x3c>
~ │ 00008a40: b947f109 ldr w9, [x8, #2032]
~ │ 00008a44: 71000129 subs w9, w9, #0x0
~ │ 00008a48: 1a9f07ea cset w10, ne // ne = any
~ │ 00008a4c: 390073ea strb w10, [sp, #28]
│ system_uses_lse_atomics:25.3 (lse.h) sbepe ║static_branch_likely(&cpu_hwcap_keys[ARM64_HAS_LSE_ATOMICS]);
~ │ 00008a50: 394073ea ldrb w10, [sp, #28]
~ │ 00008a54: 2a0a03e8 mov w8, w10
~ │ 00008a58: 92400108 and x8, x8, #0x1
│ system_uses_lse_atomics:25.3 (lse.h) sbepe ║static_branch_likely(&cpu_hwcap_keys[ARM64_HAS_LSE_ATOMICS]);
~ │ 00008a5c: f9000be8 str x8, [sp, #16]
│ system_uses_lse_atomics:25.3 (lse.h) sbepe ║static_branch_likely(&cpu_hwcap_keys[ARM64_HAS_LSE_ATOMICS]);
~ │ 00008a60: f9400be8 ldr x8, [sp, #16]
-branch var typedef(bool=_Bool (base type, DW_ATE_boolean size:1)) 0x8a3c 0x8a64 (DW_OP_fbreg 0x1c) lexblock:system_uses_lse_atomics:arch/arm64/kvm/hyp/nvhe/psci-relay.c:25
│ system_uses_lse_atomics:24.57 (lse.h) Sbepe return (static_branch_likely(&arm64_const_caps_ready)) &&
~ │ 00008a64: f1000108 subs x8, x8, #0x0
~ │ 00008a68: 1a9f07ea cset w10, ne // ne = any
~ │ 00008a6c: b9000fea str w10, [sp, #12]
~ │ ┌─00008a70: 14000001 b 8a74 <system_uses_lse_atomics+0x74>
│ │
~ └>└>00008a74: b9400fe8 ldr w8, [sp, #12] <- 00008a34(b.cc)<system_uses_lse_atomics+0x74>,00008a70(b)<system_uses_lse_atomics+0x74>
system_uses_lse_atomics:24.2 (lse.h) sbepe ║return (static_branch_likely(&arm64_const_caps_ready)) &&
~ 00008a78: 12000100 and w0, w8, #0x1
~ 00008a7c: 9100c3ff add sp, sp, #0x30
00008a04 CFA:r31+48
~ 00008a80: d65f03c0 ret
**00008a84 <__ll_sc__cmpxchg_case_acq_8>:
+ __ll_sc__cmpxchg_case_acq_8 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8a84 0x8ac4 (DW_OP_fbreg 0x28)
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8a84 0x8ac4 (DW_OP_fbreg 0x20)
+new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8a84 0x8ac4 (DW_OP_fbreg 0x1c)
__ll_sc__cmpxchg_case_acq_8:303.0 (atomic_ll_sc.h) Sbepe ║__CMPXCHG_CASE(w, b, acq_, 8, , a, , "memory", K)
00008a84 CFA:r31
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8a84 0x8ac4 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8a84 0x8ac4 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
+new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8a84 0x8ac4 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8a84 0x8ac4 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
+oldval var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8a84 0x8ac4 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
~ 00008a84: d100c3ff sub sp, sp, #0x30 <- 00008794(bl)<__ll_sc__cmpxchg_case_acq_8>
~ 00008a88: f90017e0 str x0, [sp, #40]
~ 00008a8c: f90013e1 str x1, [sp, #32]
~ 00008a90: 390073e2 strb w2, [sp, #28]
__ll_sc__cmpxchg_case_acq_8:303.1 (atomic_ll_sc.h) SbePe ║__CMPXCHG_CASE(w, b, acq_, 8, , a, , "memory", K)
~ 00008a94: 394083e8 ldrb w8, [sp, #32]
~ 00008a98: 2a0803e9 mov w9, w8
~ 00008a9c: f90013e9 str x9, [sp, #32]
__ll_sc__cmpxchg_case_acq_8:303.1 (atomic_ll_sc.h) sbepe ║__CMPXCHG_CASE(w, b, acq_, 8, , a, , "memory", K)
~ 00008aa0: f94017e9 ldr x9, [sp, #40]
~ 00008aa4: f94013ea ldr x10, [sp, #32]
~ 00008aa8: 394073e8 ldrb w8, [sp, #28]
~ ┌──00008aac: 14000085 b 8cc0 <psci_system_suspend+0x134>
│
~ ╔══════>│ 00008ab0: f9000beb str x11, [sp, #16] <- v00008cd8(b)<__ll_sc__cmpxchg_case_acq_8+0x2c>
~ ║ │ 00008ab4: 390033ec strb w12, [sp, #12]
~ ║ │ 00008ab8: 394033e0 ldrb w0, [sp, #12]
~ ║ │ 00008abc: 9100c3ff add sp, sp, #0x30
║ │ 00008a88 CFA:r31+48
~ ║ │ 00008ac0: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8a84 0x8ac4 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
-old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8a84 0x8ac4 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
-new param typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8a84 0x8ac4 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8a84 0x8ac4 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
-oldval var typedef(u8=typedef(__u8=unsigned char (base type, DW_ATE_unsigned_char size:1))) 0x8a84 0x8ac4 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_8:arch/arm64/kvm/hyp/nvhe/psci-relay.c:303
║ │
**00008ac4 <__ll_sc__cmpxchg_case_acq_16>:
+ __ll_sc__cmpxchg_case_acq_16 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8ac4 0x8b04 (DW_OP_fbreg 0x28)
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8ac4 0x8b04 (DW_OP_fbreg 0x20)
+new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x8ac4 0x8b04 (DW_OP_fbreg 0x1c)
║ │ __ll_sc__cmpxchg_case_acq_16:304.0 (atomic_ll_sc.h) Sbepe ║__CMPXCHG_CASE(w, h, acq_, 16, , a, , "memory", K)
║ │ 00008ac4 CFA:r31
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8ac4 0x8b04 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8ac4 0x8b04 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
+new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x8ac4 0x8b04 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8ac4 0x8b04 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
+oldval var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x8ac4 0x8b04 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
~ ║ │ 00008ac4: d100c3ff sub sp, sp, #0x30 <- 0000885c(bl)<__ll_sc__cmpxchg_case_acq_16>
~ ║ │ 00008ac8: f90017e0 str x0, [sp, #40]
~ ║ │ 00008acc: f90013e1 str x1, [sp, #32]
~ ║ │ 00008ad0: 79003be2 strh w2, [sp, #28]
║ │ __ll_sc__cmpxchg_case_acq_16:304.1 (atomic_ll_sc.h) SbePe ║__CMPXCHG_CASE(w, h, acq_, 16, , a, , "memory", K)
~ ║ │ 00008ad4: 794043e8 ldrh w8, [sp, #32]
~ ║ │ 00008ad8: 2a0803e9 mov w9, w8
~ ║ │ 00008adc: f90013e9 str x9, [sp, #32]
║ │ __ll_sc__cmpxchg_case_acq_16:304.1 (atomic_ll_sc.h) sbepe ║__CMPXCHG_CASE(w, h, acq_, 16, , a, , "memory", K)
~ ║ │ 00008ae0: f94017e9 ldr x9, [sp, #40]
~ ║ │ 00008ae4: f94013ea ldr x10, [sp, #32]
~ ║ │ 00008ae8: 79403be8 ldrh w8, [sp, #28]
~ ┌╫───────┼──00008aec: 1400007c b 8cdc <psci_system_suspend+0x150>
│║ │
~ │║ ╔═══╪═>00008af0: f9000beb str x11, [sp, #16] <- v00008cf4(b)<__ll_sc__cmpxchg_case_acq_16+0x2c>
~ │║ ║ │ 00008af4: 79001bec strh w12, [sp, #12]
~ │║ ║ │ 00008af8: 79401be0 ldrh w0, [sp, #12]
~ │║ ║ │ 00008afc: 9100c3ff add sp, sp, #0x30
│║ ║ │ 00008ac8 CFA:r31+48
~ │║ ║ │ 00008b00: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8ac4 0x8b04 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
-old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8ac4 0x8b04 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
-new param typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x8ac4 0x8b04 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8ac4 0x8b04 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
-oldval var typedef(u16=typedef(__u16=unsigned short (base type, DW_ATE_unsigned size:2))) 0x8ac4 0x8b04 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_16:arch/arm64/kvm/hyp/nvhe/psci-relay.c:304
│║ ║ │
**00008b04 <__ll_sc__cmpxchg_case_acq_32>:
+ __ll_sc__cmpxchg_case_acq_32 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8b04 0x8b38 (DW_OP_fbreg 0x28)
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b04 0x8b38 (DW_OP_fbreg 0x20)
+new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8b04 0x8b38 (DW_OP_fbreg 0x1c)
│║ ║ │ __ll_sc__cmpxchg_case_acq_32:305.0 (atomic_ll_sc.h) Sbepe ║__CMPXCHG_CASE(w, , acq_, 32, , a, , "memory", K)
│║ ║ │ 00008b04 CFA:r31
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8b04 0x8b38 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b04 0x8b38 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
+new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8b04 0x8b38 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b04 0x8b38 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
+oldval var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8b04 0x8b38 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
~ │║ ║ │ 00008b04: d100c3ff sub sp, sp, #0x30 <- 00008924(bl)<__ll_sc__cmpxchg_case_acq_32>
~ │║ ║ │ 00008b08: f90017e0 str x0, [sp, #40]
~ │║ ║ │ 00008b0c: f90013e1 str x1, [sp, #32]
~ │║ ║ │ 00008b10: b9001fe2 str w2, [sp, #28]
│║ ║ │ __ll_sc__cmpxchg_case_acq_32:305.1 (atomic_ll_sc.h) SbePe ║__CMPXCHG_CASE(w, , acq_, 32, , a, , "memory", K)
~ │║ ║ │ 00008b14: f94017e8 ldr x8, [sp, #40]
~ │║ ║ │ 00008b18: f94013e9 ldr x9, [sp, #32]
~ │║ ║ │ 00008b1c: b9401fea ldr w10, [sp, #28]
~ │║ ┌╫───┼──00008b20: 14000076 b 8cf8 <psci_system_suspend+0x16c>
│║ │║ │
~ │║╔>│║ │ 00008b24: f9000beb str x11, [sp, #16] <- v00008d10(b)<__ll_sc__cmpxchg_case_acq_32+0x20>
~ │║║ │║ │ 00008b28: b9000fec str w12, [sp, #12]
~ │║║ │║ │ 00008b2c: b9400fe0 ldr w0, [sp, #12]
~ │║║ │║ │ 00008b30: 9100c3ff add sp, sp, #0x30
│║║ │║ │ 00008b08 CFA:r31+48
~ │║║ │║ │ 00008b34: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8b04 0x8b38 (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
-old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b04 0x8b38 (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
-new param typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8b04 0x8b38 (DW_OP_fbreg 0x1c) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b04 0x8b38 (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
-oldval var typedef(u32=typedef(__u32=unsigned int (base type, DW_ATE_unsigned size:4))) 0x8b04 0x8b38 (DW_OP_fbreg 0xc) __ll_sc__cmpxchg_case_acq_32:arch/arm64/kvm/hyp/nvhe/psci-relay.c:305
│║║ │║ │
**00008b38 <__ll_sc__cmpxchg_case_acq_64>:
+ __ll_sc__cmpxchg_case_acq_64 params:
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8b38 0x8b6c (DW_OP_fbreg 0x28)
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b38 0x8b6c (DW_OP_fbreg 0x20)
+new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b38 0x8b6c (DW_OP_fbreg 0x18)
│║║ │║ │ __ll_sc__cmpxchg_case_acq_64:306.0 (atomic_ll_sc.h) Sbepe ║__CMPXCHG_CASE( , , acq_, 64, , a, , "memory", L)
│║║ │║ │ 00008b38 CFA:r31
+ptr param pointer(missing at <5bca5>/<6a434>) 0x8b38 0x8b6c (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
+old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b38 0x8b6c (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
+new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b38 0x8b6c (DW_OP_fbreg 0x18) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
+tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b38 0x8b6c (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
+oldval var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b38 0x8b6c (DW_OP_fbreg 0x8) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
~ │║║ │║ │ 00008b38: d100c3ff sub sp, sp, #0x30 <- 000089dc(bl)<__ll_sc__cmpxchg_case_acq_64>
~ │║║ │║ │ 00008b3c: f90017e0 str x0, [sp, #40]
~ │║║ │║ │ 00008b40: f90013e1 str x1, [sp, #32]
~ │║║ │║ │ 00008b44: f9000fe2 str x2, [sp, #24]
│║║ │║ │ __ll_sc__cmpxchg_case_acq_64:306.1 (atomic_ll_sc.h) SbePe ║__CMPXCHG_CASE( , , acq_, 64, , a, , "memory", L)
~ │║║ │║ │ 00008b48: f94017e8 ldr x8, [sp, #40]
~ │║║ │║ │ 00008b4c: f94013e9 ldr x9, [sp, #32]
~ │║║ │║ │ 00008b50: f9400fea ldr x10, [sp, #24]
~ │║║ │║ ┌┼──00008b54: 14000070 b 8d14 <psci_system_suspend+0x188>
│║║ │║ ││
~ │║║ │║╔>││ 00008b58: f9000beb str x11, [sp, #16] <- v00008d2c(b)<__ll_sc__cmpxchg_case_acq_64+0x20>
~ │║║ │║║ ││ 00008b5c: f90007ec str x12, [sp, #8]
~ │║║ │║║ ││ 00008b60: f94007e0 ldr x0, [sp, #8]
~ │║║ │║║ ││ 00008b64: 9100c3ff add sp, sp, #0x30
│║║ │║║ ││ 00008b3c CFA:r31+48
~ │║║ │║║ ││ 00008b68: d65f03c0 ret
-ptr param pointer(missing at <5bca5>/<6a434>) 0x8b38 0x8b6c (DW_OP_fbreg 0x28) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
-old param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b38 0x8b6c (DW_OP_fbreg 0x20) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
-new param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b38 0x8b6c (DW_OP_fbreg 0x18) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
-tmp var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b38 0x8b6c (DW_OP_fbreg 0x10) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
-oldval var typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b38 0x8b6c (DW_OP_fbreg 0x8) __ll_sc__cmpxchg_case_acq_64:arch/arm64/kvm/hyp/nvhe/psci-relay.c:306
│║║ │║║ ││
**00008b6c <psci_forward_noreturn>:
+ psci_forward_noreturn params:
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b6c 0x8b8c (DW_OP_breg31 0x8)
│║║ │║║ ││ psci_forward_noreturn:79.0 (psci-relay.c) Sbepe ║{
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b6c 0x8b8c (DW_OP_breg31 0x8) psci_forward_noreturn:arch/arm64/kvm/hyp/nvhe/psci-relay.c:78
~ │║║ │║║ ││ 00008b6c: d10083ff sub sp, sp, #0x20 <- 00007f2c(bl)<psci_forward_noreturn>
~ │║║ │║║ ││ 00008b70: a9017bfd stp x29, x30, [sp, #16]
│║║ │║║ ││ 00008b6c CFA:r31 r29:u r30:u
~ │║║ │║║ ││ 00008b74: 910043fd add x29, sp, #0x10
~ │║║ │║║ ││ 00008b78: f90007e0 str x0, [sp, #8]
│║║ │║║ ││ psci_forward_noreturn:80.15 (psci-relay.c) SbePe psci_forward(║host_ctxt);
~ │║║ │║║ ││ 00008b7c: f94007e0 ldr x0, [sp, #8]
│║║ │║║ ││ psci_forward_noreturn:80.2 (psci-relay.c) sbepe ║psci_forward(host_ctxt);
~ │║║ │║║ ││ 00008b80: 97fffd44 bl 8090 <psci_forward>
│║║ │║║ ││
~ │║║ │║║ ││ 00008b84: f90003e0 str x0, [sp] <- 00008b80(bl-succ)<return>
│║║ │║║ ││ psci_forward_noreturn:81.2 (psci-relay.c) Sbepe ║hyp_panic(); /* unreachable */
│║║ │║║ ││ 00008b78 CFA:r29+16 r29:c-16 r30:c-8
~ │║║ │║║ ││ 00008b88: 97ffeacc bl 36b8 <hyp_panic>
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b6c 0x8b8c (DW_OP_breg31 0x8) psci_forward_noreturn:arch/arm64/kvm/hyp/nvhe/psci-relay.c:78
│║║ │║║ ││
**00008b8c <psci_system_suspend>:
+ psci_system_suspend params:
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b8c 0x8cbc (DW_OP_fbreg -0x8)
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x10)
│║║ │║║ ││ psci_system_suspend:186.0 (psci-relay.c) Sbepe ║{
+func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b8c 0x8cbc (DW_OP_fbreg -0x8) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:185
+host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x10) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:185
+pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b8c 0x8cbc (DW_OP_fbreg -0x18) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:187
+r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b8c 0x8cbc (DW_OP_fbreg -0x20) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:188
+boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x28) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:190
+init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x30) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:191
~ │║║ │║║ ││ 00008b8c: d10303ff sub sp, sp, #0xc0 <- 00008028(bl)<psci_system_suspend>,00008b88(bl-succ)<return>
~ │║║ │║║ ││ 00008b90: a90b7bfd stp x29, x30, [sp, #176]
│║║ │║║ ││ 00008b8c CFA:r31 r29:u r30:u
~ │║║ │║║ ││ 00008b94: 9102c3fd add x29, sp, #0xb0
~ │║║ │║║ ││ 00008b98: f81f83a0 stur x0, [x29, #-8]
~ │║║ │║║ ││ 00008b9c: f81f03a1 stur x1, [x29, #-16]
│║║ │║║ ││ psci_system_suspend:187.2 (psci-relay.c) SbePe ║DECLARE_REG(unsigned long, pc, host_ctxt, 1);
~ │║║ │║║ ││ 00008ba0: f85f03a8 ldur x8, [x29, #-16]
~ │║║ │║║ ││ 00008ba4: f9400508 ldr x8, [x8, #8]
~ │║║ │║║ ││ 00008ba8: f81e83a8 stur x8, [x29, #-24]
│║║ │║║ ││ psci_system_suspend:188.2 (psci-relay.c) Sbepe ║DECLARE_REG(unsigned long, r0, host_ctxt, 2);
~ │║║ │║║ ││ 00008bac: f85f03a8 ldur x8, [x29, #-16]
~ │║║ │║║ ││ 00008bb0: f9400908 ldr x8, [x8, #16]
~ │║║ │║║ ││ 00008bb4: f81e03a8 stur x8, [x29, #-32]
│║║ │║║ ││ psci_system_suspend:193.14 (psci-relay.c) Sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │║║ │║║ ││┌─00008bb8: 14000001 b 8bbc <psci_system_suspend+0x30>
│║║ │║║ │││
~ │║║ │║║ ││└>00008bbc: aa1f03e8 mov x8, xzr <- 00008bb8(b)<psci_system_suspend+0x30>
│║║ │║║ ││ psci_system_suspend:193.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x8bc0 0x8bc8 (DW_OP_fbreg -0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
~ │║║ │║║ ││ 00008bc0: f81c83a8 stur x8, [x29, #-56]
~ │║║ │║║ ││┌─00008bc4: 14000001 b 8bc8 <psci_system_suspend+0x3c>
-__vpp_verify var pointer(const(no type)) 0x8bc0 0x8bc8 (DW_OP_fbreg -0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
│║║ │║║ │││
│║║ │║║ │││ psci_system_suspend:193.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8bc8 0x8c00 (DW_OP_fbreg -0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
+addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8bc8 0x8be0 (DW_OP_fbreg -0x50) lexblock:lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
~ │║║ │║║ ││└>00008bc8: b0000088 adrp x8, 19000 <kvm_host_data> <- 00008bc4(b)<psci_system_suspend+0x3c>
~ │║║ │║║ ││ 00008bcc: 9139c108 add x8, x8, #0xe70
~ │║║ │║║ ││ 00008bd0: f81b03a8 stur x8, [x29, #-80]
~ │║║ │║║ ││ 00008bd4: f85b03a8 ldur x8, [x29, #-80]
~ │║║ │║║ ││ 00008bd8: f9002fe8 str x8, [sp, #88]
~ │║║ │║║ ││ 00008bdc: f9402fe8 ldr x8, [sp, #88]
-addr var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8bc8 0x8be0 (DW_OP_fbreg -0x50) lexblock:lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
│║║ │║║ ││ psci_system_suspend:193.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │║║ │║║ ││ 00008be0: f81b83a8 stur x8, [x29, #-72]
~ │║║ │║║ ││ 00008be4: f85b83a8 ldur x8, [x29, #-72]
~ │║║ │║║ ││ 00008be8: f90007e8 str x8, [sp, #8]
~ │║║ │║║ ││ 00008bec: 97fffb90 bl 7a2c <__hyp_my_cpu_offset>
│║║ │║║ ││
~ │║║ │║║ ││ 00008bf0: f94007e8 ldr x8, [sp, #8] <- 00008bec(bl-succ)<return>
~ │║║ │║║ ││ 00008bf4: 8b000108 add x8, x8, x0
~ │║║ │║║ ││ 00008bf8: f9002be8 str x8, [sp, #80]
~ │║║ │║║ ││ 00008bfc: f9402be8 ldr x8, [sp, #80]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8bc8 0x8c00 (DW_OP_fbreg -0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
│║║ │║║ ││ psci_system_suspend:193.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
+__vpp_verify var pointer(const(no type)) 0x8c00 0x8c04 (DW_OP_fbreg -0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
~ │║║ │║║ ││ 00008c00: f81c03a8 stur x8, [x29, #-64]
-__vpp_verify var pointer(const(no type)) 0x8c00 0x8c04 (DW_OP_fbreg -0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:193
│║║ │║║ ││ psci_system_suspend:193.14 (psci-relay.c) sbepe boot_args = ║this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │║║ │║║ ││ 00008c04: f85c03a8 ldur x8, [x29, #-64]
│║║ │║║ ││ psci_system_suspend:193.12 (psci-relay.c) sbepe boot_args ║= this_cpu_ptr(hyp_symbol_addr(suspend_args));
~ │║║ │║║ ││ 00008c08: f81d83a8 stur x8, [x29, #-40]
│║║ │║║ ││ psci_system_suspend:194.16 (psci-relay.c) Sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ │║║ │║║ ││┌─00008c0c: 14000001 b 8c10 <psci_system_suspend+0x84>
│║║ │║║ │││
~ │║║ │║║ ││└>00008c10: aa1f03e8 mov x8, xzr <- 00008c0c(b)<psci_system_suspend+0x84>
│║║ │║║ ││ psci_system_suspend:194.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__vpp_verify var pointer(const(no type)) 0x8c14 0x8c1c (DW_OP_breg31 0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
~ │║║ │║║ ││ 00008c14: f90027e8 str x8, [sp, #72]
~ │║║ │║║ ││┌─00008c18: 14000001 b 8c1c <psci_system_suspend+0x90>
-__vpp_verify var pointer(const(no type)) 0x8c14 0x8c1c (DW_OP_breg31 0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
│║║ │║║ │││
│║║ │║║ │││ psci_system_suspend:194.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8c1c 0x8c54 (DW_OP_breg31 0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
+addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8c1c 0x8c34 (DW_OP_breg31 0x30) lexblock:lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
~ │║║ │║║ ││└>00008c1c: b0000088 adrp x8, 19000 <kvm_host_data> <- 00008c18(b)<psci_system_suspend+0x90>
~ │║║ │║║ ││ 00008c20: 91386108 add x8, x8, #0xe18
~ │║║ │║║ ││ 00008c24: f9001be8 str x8, [sp, #48]
~ │║║ │║║ ││ 00008c28: f9401be8 ldr x8, [sp, #48]
~ │║║ │║║ ││ 00008c2c: f90017e8 str x8, [sp, #40]
~ │║║ │║║ ││ 00008c30: f94017e8 ldr x8, [sp, #40]
-addr var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8c1c 0x8c34 (DW_OP_breg31 0x30) lexblock:lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
│║║ │║║ ││ psci_system_suspend:194.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ │║║ │║║ ││ 00008c34: f9001fe8 str x8, [sp, #56]
~ │║║ │║║ ││ 00008c38: f9401fe8 ldr x8, [sp, #56]
~ │║║ │║║ ││ 00008c3c: f90003e8 str x8, [sp]
~ │║║ │║║ ││ 00008c40: 97fffb7b bl 7a2c <__hyp_my_cpu_offset>
│║║ │║║ ││
~ │║║ │║║ ││ 00008c44: f94003e8 ldr x8, [sp] <- 00008c40(bl-succ)<return>
~ │║║ │║║ ││ 00008c48: 8b000108 add x8, x8, x0
~ │║║ │║║ ││ 00008c4c: f90013e8 str x8, [sp, #32]
~ │║║ │║║ ││ 00008c50: f94013e8 ldr x8, [sp, #32]
-__ptr var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8c1c 0x8c54 (DW_OP_breg31 0x38) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
│║║ │║║ ││ psci_system_suspend:194.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
+__vpp_verify var pointer(const(no type)) 0x8c54 0x8c58 (DW_OP_breg31 0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
~ │║║ │║║ ││ 00008c54: f90023e8 str x8, [sp, #64]
-__vpp_verify var pointer(const(no type)) 0x8c54 0x8c58 (DW_OP_breg31 0x48) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:194
│║║ │║║ ││ psci_system_suspend:194.16 (psci-relay.c) sbepe init_params = ║this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ │║║ │║║ ││ 00008c58: f94023e8 ldr x8, [sp, #64]
│║║ │║║ ││ psci_system_suspend:194.14 (psci-relay.c) sbepe init_params ║= this_cpu_ptr(hyp_symbol_addr(kvm_init_params));
~ │║║ │║║ ││ 00008c5c: f81d03a8 stur x8, [x29, #-48]
│║║ │║║ ││ psci_system_suspend:200.18 (psci-relay.c) Sbepe boot_args->pc = ║pc;
~ │║║ │║║ ││ 00008c60: f85e83a8 ldur x8, [x29, #-24]
│║║ │║║ ││ psci_system_suspend:200.2 (psci-relay.c) sbepe ║boot_args->pc = pc;
~ │║║ │║║ ││ 00008c64: f85d83a9 ldur x9, [x29, #-40]
│║║ │║║ ││ psci_system_suspend:200.16 (psci-relay.c) sbepe boot_args->pc ║= pc;
~ │║║ │║║ ││ 00008c68: f9000528 str x8, [x9, #8]
│║║ │║║ ││ psci_system_suspend:201.18 (psci-relay.c) Sbepe boot_args->r0 = ║r0;
~ │║║ │║║ ││ 00008c6c: f85e03a8 ldur x8, [x29, #-32]
│║║ │║║ ││ psci_system_suspend:201.2 (psci-relay.c) sbepe ║boot_args->r0 = r0;
~ │║║ │║║ ││ 00008c70: f85d83a9 ldur x9, [x29, #-40]
│║║ │║║ ││ psci_system_suspend:201.16 (psci-relay.c) sbepe boot_args->r0 ║= r0;
~ │║║ │║║ ││ 00008c74: f9000928 str x8, [x9, #16]
│║║ │║║ ││ psci_system_suspend:204.19 (psci-relay.c) Sbepe return psci_call(║func_id,
~ │║║ │║║ ││ 00008c78: f85f83a0 ldur x0, [x29, #-8]
│║║ │║║ ││ psci_system_suspend:205.5 (psci-relay.c) Sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_resume)),
+addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8c7c 0x8c94 (DW_OP_breg31 0x18) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:205
~ │║║ │║║ ││ 00008c7c: f0000068 adrp x8, 17000 <___kvm_hyp_init+0x3c>
~ │║║ │║║ ││ 00008c80: 9102d108 add x8, x8, #0xb4
~ │║║ │║║ ││ 00008c84: f9000fe8 str x8, [sp, #24]
~ │║║ │║║ ││ 00008c88: f9400fe8 ldr x8, [sp, #24]
~ │║║ │║║ ││ 00008c8c: f9000be8 str x8, [sp, #16]
~ │║║ │║║ ││ 00008c90: f9400be8 ldr x8, [sp, #16]
-addr var pointer(subroutine(prototyped no type(long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8c7c 0x8c94 (DW_OP_breg31 0x18) lexblock:psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:205
│║║ │║║ ││ psci_system_suspend:205.5 (psci-relay.c) sbepe ║__hyp_pa(hyp_symbol_addr(kvm_hyp_cpu_resume)),
~ │║║ │║║ ││ 00008c94: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │║║ │║║ ││ 00008c98: f9439d29 ldr x9, [x9, #1848]
~ │║║ │║║ ││ 00008c9c: 8b090101 add x1, x8, x9
│║║ │║║ ││ psci_system_suspend:206.5 (psci-relay.c) Sbepe ║__hyp_pa(init_params), 0);
~ │║║ │║║ ││ 00008ca0: f85d03a8 ldur x8, [x29, #-48]
~ │║║ │║║ ││ 00008ca4: 8b090102 add x2, x8, x9
~ │║║ │║║ ││ 00008ca8: aa1f03e3 mov x3, xzr
│║║ │║║ ││ psci_system_suspend:204.9 (psci-relay.c) Sbepe return ║psci_call(func_id,
~ │║║ │║║ ││ 00008cac: 97fffe30 bl 856c <psci_call>
│║║ │║║ ││
│║║ │║║ ││ psci_system_suspend:204.2 (psci-relay.c) sbepe ║return psci_call(func_id,
~ │║║ │║║ ││ 00008cb0: a94b7bfd ldp x29, x30, [sp, #176] <- 00008cac(bl-succ)<return>
~ │║║ │║║ ││ 00008cb4: 910303ff add sp, sp, #0xc0
~ │║║ │║║ ││ 00008cb8: d65f03c0 ret
-func_id param typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8))) 0x8b8c 0x8cbc (DW_OP_fbreg -0x8) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:185
-host_ctxt param pointer(struct kvm_cpu_context<5bca5>/<5c116>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x10) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:185
-pc var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b8c 0x8cbc (DW_OP_fbreg -0x18) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:187
-r0 var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8b8c 0x8cbc (DW_OP_fbreg -0x20) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:188
-boot_args var pointer(struct psci_boot_args<5bca5>/<5bdb2>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x28) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:190
-init_params var pointer(struct kvm_nvhe_init_params<5bca5>/<6a351>) 0x8b8c 0x8cbc (DW_OP_fbreg -0x30) psci_system_suspend:arch/arm64/kvm/hyp/nvhe/psci-relay.c:191
~ │║║ │║║ ││ 00008cbc: d5184028 msr elr_el1, x8
│║║ │║║ ││
~ │║║ │║║ │└─>00008cc0: f9800131 prfm pstl1strm, [x9] <- 00008aac(b)<psci_system_suspend+0x134>
│║║ │║║ │
~ │║║ │║║ │╔═>00008cc4: 085ffd2c ldaxrb w12, [x9] <- v00008cd4(b.cc)<psci_system_suspend+0x138>
~ │║║ │║║ │║ 00008cc8: 4a0a018b eor w11, w12, w10
~ │║║ │║║ │║┌─00008ccc: 3500006b cbnz w11, 8cd8 <psci_system_suspend+0x14c>
│║║ │║║ │║│
~ │║║ │║║ │║│ 00008cd0: 080b7d28 stxrb w11, w8, [x9] <- 00008ccc(b.cc-succ)<fallthrough>
~ │║║ │║║ │╚╪═00008cd4: 35ffff8b cbnz w11, 8cc4 <psci_system_suspend+0x138>
│║║ │║║ │ │
~ │╚╬═╪╬╬═╪═└>00008cd8: 17ffff76 b 8ab0 <__ll_sc__cmpxchg_case_acq_8+0x2c> <- 00008ccc(b.cc)<psci_system_suspend+0x14c>,00008cd4(b.cc-succ)<fallthrough>
│ ║ │║║ │
~ └>║ │║║ │ 00008cdc: f9800131 prfm pstl1strm, [x9] <- 00008aec(b)<psci_system_suspend+0x150>
║ │║║ │
~ ║ │║║ │╔═>00008ce0: 485ffd2c ldaxrh w12, [x9] <- v00008cf0(b.cc)<psci_system_suspend+0x154>
~ ║ │║║ │║ 00008ce4: 4a0a018b eor w11, w12, w10
~ ║ │║║ │║┌─00008ce8: 3500006b cbnz w11, 8cf4 <psci_system_suspend+0x168>
║ │║║ │║│
~ ║ │║║ │║│ 00008cec: 480b7d28 stxrh w11, w8, [x9] <- 00008ce8(b.cc-succ)<fallthrough>
~ ║ │║║ │╚╪═00008cf0: 35ffff8b cbnz w11, 8ce0 <psci_system_suspend+0x154>
║ │║║ │ │
~ ║ │╚╬═╪═└>00008cf4: 17ffff7f b 8af0 <__ll_sc__cmpxchg_case_acq_16+0x2c> <- 00008ce8(b.cc)<psci_system_suspend+0x168>,00008cf0(b.cc-succ)<fallthrough>
║ │ ║ │
~ ║ └>║ │ 00008cf8: f9800111 prfm pstl1strm, [x8] <- 00008b20(b)<psci_system_suspend+0x16c>
║ ║ │
~ ║ ║ │╔═>00008cfc: 885ffd0c ldaxr w12, [x8] <- v00008d0c(b.cc)<psci_system_suspend+0x170>
~ ║ ║ │║ 00008d00: 4a09018b eor w11, w12, w9
~ ║ ║ │║┌─00008d04: 3500006b cbnz w11, 8d10 <psci_system_suspend+0x184>
║ ║ │║│
~ ║ ║ │║│ 00008d08: 880b7d0a stxr w11, w10, [x8] <- 00008d04(b.cc-succ)<fallthrough>
~ ║ ║ │╚╪═00008d0c: 35ffff8b cbnz w11, 8cfc <psci_system_suspend+0x170>
║ ║ │ │
~ ╚═══╬═╪═└>00008d10: 17ffff85 b 8b24 <__ll_sc__cmpxchg_case_acq_32+0x20> <- 00008d04(b.cc)<psci_system_suspend+0x184>,00008d0c(b.cc-succ)<fallthrough>
║ │
~ ║ └──>00008d14: f9800111 prfm pstl1strm, [x8] <- 00008b54(b)<psci_system_suspend+0x188>
║
~ ║ ╔═>00008d18: c85ffd0c ldaxr x12, [x8] <- v00008d28(b.cc)<psci_system_suspend+0x18c>
~ ║ ║ 00008d1c: ca09018b eor x11, x12, x9
~ ║ ║┌─00008d20: b500006b cbnz x11, 8d2c <psci_system_suspend+0x1a0>
║ ║│
~ ║ ║│ 00008d24: c80b7d0a stxr w11, x10, [x8] <- 00008d20(b.cc-succ)<fallthrough>
~ ║ ╚╪═00008d28: 35ffff8b cbnz w11, 8d18 <psci_system_suspend+0x18c>
║ │
║ │ 00008b98 CFA:r29+16 r29:c-16 r30:c-8
~ ╚═══└>00008d2c: 17ffff8b b 8b58 <__ll_sc__cmpxchg_case_acq_64+0x20> <- 00008d20(b.cc)<psci_system_suspend+0x1a0>,00008d28(b.cc-succ)<fallthrough>