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 00008d30 00008f08 arch/arm64/kvm/hyp/nvhe/early_alloc.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
**00008d30 <hyp_early_alloc_nr_pages>:
00008d30 <$x>:
+ hyp_early_alloc_nr_pages params: none
hyp_early_alloc_nr_pages:20.10 (early_alloc.c) SbePeM return (║cur - base) >> PAGE_SHIFT;
hyp_early_alloc_nr_pages:19.0 (early_alloc.c) SbepeM ║{
~ 00008d30: d0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0> <- 00009a4c(bl)<hyp_early_alloc_nr_pages>
~ 00008d34: f944b908 ldr x8, [x8, #2416]
hyp_early_alloc_nr_pages:20.16 (early_alloc.c) sbepe return (cur - ║base) >> PAGE_SHIFT;
~ 00008d38: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008d3c: f944bd29 ldr x9, [x9, #2424]
hyp_early_alloc_nr_pages:20.14 (early_alloc.c) sbepe return (cur ║- base) >> PAGE_SHIFT;
~ 00008d40: eb090108 subs x8, x8, x9
hyp_early_alloc_nr_pages:20.22 (early_alloc.c) sbepe return (cur - base) ║>> PAGE_SHIFT;
~ 00008d44: d34cfd00 lsr x0, x8, #12
hyp_early_alloc_nr_pages:20.2 (early_alloc.c) sbepe ║return (cur - base) >> PAGE_SHIFT;
00008d30 CFA:r31
~ 00008d48: d65f03c0 ret
**00008d4c <hyp_early_alloc_contig>:
+ hyp_early_alloc_contig params:
+nr_pages param unsigned int (base type, DW_ATE_unsigned size:4) 0x8d4c 0x8e38 (DW_OP_fbreg -0xc)
hyp_early_alloc_contig:26.0 (early_alloc.c) Sbepe ║{
+nr_pages param unsigned int (base type, DW_ATE_unsigned size:4) 0x8d4c 0x8e38 (DW_OP_fbreg -0xc) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:25
+ret var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x18) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
+i var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x10) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
+p var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x8) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
~ 00008d4c: d10103ff sub sp, sp, #0x40 <- 00008e4c(bl)<hyp_early_alloc_contig>,00009de8(bl)<hyp_early_alloc_contig>,00009e44(bl)<hyp_early_alloc_contig>,00009e78(bl)<hyp_early_alloc_contig>,00009eac(bl)<hyp_early_alloc_contig>,00009ee0(bl)<hyp_early_alloc_contig>
~ 00008d50: a9037bfd stp x29, x30, [sp, #48]
00008d4c CFA:r31 r29:u r30:u
~ 00008d54: 9100c3fd add x29, sp, #0x30
~ 00008d58: b81f43a0 stur w0, [x29, #-12]
hyp_early_alloc_contig:27.22 (early_alloc.c) SbePe unsigned long ret = ║cur, i, p;
~ 00008d5c: d0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008d60: f944b908 ldr x8, [x8, #2416]
hyp_early_alloc_contig:27.16 (early_alloc.c) sbepe unsigned long ║ret = cur, i, p;
~ 00008d64: f9000fe8 str x8, [sp, #24]
hyp_early_alloc_contig:29.7 (early_alloc.c) Sbepe if (!║nr_pages)
~ 00008d68: b85f43a9 ldur w9, [x29, #-12]
hyp_early_alloc_contig:29.6 (early_alloc.c) sbepe if (║!nr_pages)
~ ┌──00008d6c: 350000a9 cbnz w9, 8d80 <hyp_early_alloc_contig+0x34>
│
~ │┌─00008d70: 14000001 b 8d74 <hyp_early_alloc_contig+0x28> <- 00008d6c(b.cc-succ)<fallthrough>
││
~ │└>00008d74: aa1f03e8 mov x8, xzr <- 00008d70(b)<hyp_early_alloc_contig+0x28>
│ hyp_early_alloc_contig:30.3 (early_alloc.c) Sbepe ║return NULL;
~ │ 00008d78: f81f83a8 stur x8, [x29, #-8]
~ ┌───┼──00008d7c: 1400002b b 8e28 <hyp_early_alloc_contig+0xdc>
│ │
│ │ hyp_early_alloc_contig:32.9 (early_alloc.c) Sbepe cur += ║nr_pages << PAGE_SHIFT;
~ │ └─>00008d80: b85f43a8 ldur w8, [x29, #-12] <- 00008d6c(b.cc)<hyp_early_alloc_contig+0x34>
│ hyp_early_alloc_contig:32.18 (early_alloc.c) sbepe cur += nr_pages ║<< PAGE_SHIFT;
~ │ 00008d84: 53144d08 lsl w8, w8, #12
│ hyp_early_alloc_contig:32.9 (early_alloc.c) sbepe cur += ║nr_pages << PAGE_SHIFT;
~ │ 00008d88: 2a0803e9 mov w9, w8
│ hyp_early_alloc_contig:32.6 (early_alloc.c) sbepe cur ║+= nr_pages << PAGE_SHIFT;
~ │ 00008d8c: d000008a adrp x10, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ 00008d90: f944b94b ldr x11, [x10, #2416]
~ │ 00008d94: 8b090169 add x9, x11, x9
~ │ 00008d98: f904b949 str x9, [x10, #2416]
│ hyp_early_alloc_contig:33.6 (early_alloc.c) Sbepe if (║cur > end) {
~ │ 00008d9c: f944b949 ldr x9, [x10, #2416]
│ hyp_early_alloc_contig:33.12 (early_alloc.c) sbepe if (cur > ║end) {
~ │ 00008da0: d000008a adrp x10, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ 00008da4: f944c14a ldr x10, [x10, #2432]
│ hyp_early_alloc_contig:33.6 (early_alloc.c) sbepe if (║cur > end) {
~ │ 00008da8: eb0a0129 subs x9, x9, x10
~ │ ┌──00008dac: 54000109 b.ls 8dcc <hyp_early_alloc_contig+0x80> // b.plast
│ │
~ │ │┌─00008db0: 14000001 b 8db4 <hyp_early_alloc_contig+0x68> <- 00008dac(b.cc-succ)<fallthrough>
│ ││
│ ││ hyp_early_alloc_contig:34.9 (early_alloc.c) Sbepe cur = ║ret;
~ │ │└>00008db4: f9400fe8 ldr x8, [sp, #24] <- 00008db0(b)<hyp_early_alloc_contig+0x68>
│ │ hyp_early_alloc_contig:34.7 (early_alloc.c) sbepe cur ║= ret;
~ │ │ 00008db8: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ │ │ 00008dbc: f904b928 str x8, [x9, #2416]
~ │ │ 00008dc0: aa1f03e8 mov x8, xzr
│ │ hyp_early_alloc_contig:35.3 (early_alloc.c) Sbepe ║return NULL;
~ │ │ 00008dc4: f81f83a8 stur x8, [x29, #-8]
~ │ ┌─┼──00008dc8: 14000018 b 8e28 <hyp_early_alloc_contig+0xdc>
│ │ │
~ │ │ └─>00008dcc: aa1f03e8 mov x8, xzr <- 00008dac(b.cc)<hyp_early_alloc_contig+0x80>
│ │ hyp_early_alloc_contig:38.9 (early_alloc.c) Sbepe for (i ║= 0; i < nr_pages; i++) {
~ │ │ 00008dd0: f9000be8 str x8, [sp, #16]
│ │ hyp_early_alloc_contig:38.7 (early_alloc.c) sbepe for (║i = 0; i < nr_pages; i++) {
~ │ │ ┌─00008dd4: 14000001 b 8dd8 <hyp_early_alloc_contig+0x8c>
│ │ │
│ │ │ hyp_early_alloc_contig:38.14 (early_alloc.c) sbepe for (i = 0; ║i < nr_pages; i++) {
~ │ │╔>└>00008dd8: f9400be8 ldr x8, [sp, #16] <- 00008dd4(b)<hyp_early_alloc_contig+0x8c>,v00008e18(b)<hyp_early_alloc_contig+0x8c>
│ │║ hyp_early_alloc_contig:38.18 (early_alloc.c) sbepe for (i = 0; i < ║nr_pages; i++) {
~ │ │║ 00008ddc: b85f43a9 ldur w9, [x29, #-12]
~ │ │║ 00008de0: 2a0903ea mov w10, w9
│ │║ hyp_early_alloc_contig:38.2 (early_alloc.c) sbepe ║for (i = 0; i < nr_pages; i++) {
~ │ │║ 00008de4: eb0a0108 subs x8, x8, x10
~ │ │║┌──00008de8: 540001a2 b.cs 8e1c <hyp_early_alloc_contig+0xd0> // b.hs, b.nlast
│ │║│
~ │ │║│┌─00008dec: 14000001 b 8df0 <hyp_early_alloc_contig+0xa4> <- 00008de8(b.cc-succ)<fallthrough>
│ │║││
│ │║││ hyp_early_alloc_contig:39.7 (early_alloc.c) Sbepe p = ║ret + (i << PAGE_SHIFT);
~ │ │║│└>00008df0: f9400fe8 ldr x8, [sp, #24] <- 00008dec(b)<hyp_early_alloc_contig+0xa4>
│ │║│ hyp_early_alloc_contig:39.14 (early_alloc.c) sbepe p = ret + (║i << PAGE_SHIFT);
~ │ │║│ 00008df4: f9400be9 ldr x9, [sp, #16]
│ │║│ hyp_early_alloc_contig:39.11 (early_alloc.c) sbepe p = ret ║+ (i << PAGE_SHIFT);
~ │ │║│ 00008df8: 8b093108 add x8, x8, x9, lsl #12
│ │║│ hyp_early_alloc_contig:39.5 (early_alloc.c) sbepe p ║= ret + (i << PAGE_SHIFT);
~ │ │║│ 00008dfc: f90007e8 str x8, [sp, #8]
│ │║│ hyp_early_alloc_contig:40.23 (early_alloc.c) Sbepe clear_page((void *)(║p));
~ │ │║│ 00008e00: f94007e0 ldr x0, [sp, #8]
│ │║│ hyp_early_alloc_contig:40.3 (early_alloc.c) sbepe ║clear_page((void *)(p));
~ │ │║│ 00008e04: 94003458 bl 15f64 <__pi_clear_page>
│ │║│
│ │║│ hyp_early_alloc_contig:41.2 (early_alloc.c) Sbepe }
~ │ │║│┌─00008e08: 14000001 b 8e0c <hyp_early_alloc_contig+0xc0> <- 00008e04(bl-succ)<return>
│ │║││
│ │║││ hyp_early_alloc_contig:38.29 (early_alloc.c) Sbepe for (i = 0; i < nr_pages; i║++) {
~ │ │║│└>00008e0c: f9400be8 ldr x8, [sp, #16] <- 00008e08(b)<hyp_early_alloc_contig+0xc0>
~ │ │║│ 00008e10: 91000508 add x8, x8, #0x1
~ │ │║│ 00008e14: f9000be8 str x8, [sp, #16]
│ │║│ hyp_early_alloc_contig:38.2 (early_alloc.c) sbepe ║for (i = 0; i < nr_pages; i++) {
~ │ │╚╪══00008e18: 17fffff0 b 8dd8 <hyp_early_alloc_contig+0x8c>
│ │ │
│ │ │ hyp_early_alloc_contig:43.17 (early_alloc.c) Sbepe return (void *)║ret;
~ │ │ └─>00008e1c: f9400fe8 ldr x8, [sp, #24] <- 00008de8(b.cc)<hyp_early_alloc_contig+0xd0>
│ │ hyp_early_alloc_contig:43.2 (early_alloc.c) sbepe ║return (void *)ret;
~ │ │ 00008e20: f81f83a8 stur x8, [x29, #-8]
~ │ │ ┌─00008e24: 14000001 b 8e28 <hyp_early_alloc_contig+0xdc>
│ │ │
│ │ │ hyp_early_alloc_contig:44.1 (early_alloc.c) Sbepe ║}
~ └>└─>└>00008e28: f85f83a0 ldur x0, [x29, #-8] <- 00008d7c(b)<hyp_early_alloc_contig+0xdc>,00008dc8(b)<hyp_early_alloc_contig+0xdc>,00008e24(b)<hyp_early_alloc_contig+0xdc>
~ 00008e2c: a9437bfd ldp x29, x30, [sp, #48]
~ 00008e30: 910103ff add sp, sp, #0x40
00008d58 CFA:r29+16 r29:c-16 r30:c-8
~ 00008e34: d65f03c0 ret
-nr_pages param unsigned int (base type, DW_ATE_unsigned size:4) 0x8d4c 0x8e38 (DW_OP_fbreg -0xc) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:25
-ret var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x18) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
-i var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x10) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
-p var long unsigned int (base type, DW_ATE_unsigned size:8) 0x8d4c 0x8e38 (DW_OP_breg31 0x8) hyp_early_alloc_contig:arch/arm64/kvm/hyp/nvhe/early_alloc.c:27
**00008e38 <hyp_early_alloc_page>:
+ hyp_early_alloc_page params:
+arg param pointer(no type) 0x8e38 0x8e5c (DW_OP_breg31 0x8)
hyp_early_alloc_page:47.0 (early_alloc.c) Sbepe ║{
+arg param pointer(no type) 0x8e38 0x8e5c (DW_OP_breg31 0x8) hyp_early_alloc_page:arch/arm64/kvm/hyp/nvhe/early_alloc.c:46
~ 00008e38: d10083ff sub sp, sp, #0x20
~ 00008e3c: a9017bfd stp x29, x30, [sp, #16]
00008e38 CFA:r31 r29:u r30:u
~ 00008e40: 910043fd add x29, sp, #0x10
~ 00008e44: f90007e0 str x0, [sp, #8]
~ 00008e48: 52800020 mov w0, #0x1 // #1
hyp_early_alloc_page:48.9 (early_alloc.c) SbePe return ║hyp_early_alloc_contig(1);
~ 00008e4c: 97ffffc0 bl 8d4c <hyp_early_alloc_contig>
hyp_early_alloc_page:48.2 (early_alloc.c) sbepe ║return hyp_early_alloc_contig(1);
~ 00008e50: a9417bfd ldp x29, x30, [sp, #16] <- 00008e4c(bl-succ)<return>
~ 00008e54: 910083ff add sp, sp, #0x20
00008e44 CFA:r29+16 r29:c-16 r30:c-8
~ 00008e58: d65f03c0 ret
-arg param pointer(no type) 0x8e38 0x8e5c (DW_OP_breg31 0x8) hyp_early_alloc_page:arch/arm64/kvm/hyp/nvhe/early_alloc.c:46
**00008e5c <hyp_early_alloc_init>:
+ hyp_early_alloc_init params:
+virt param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x8)
+size param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x0)
hyp_early_alloc_init:52.0 (early_alloc.c) Sbepe ║{
00008e5c CFA:r31
+virt param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x8) hyp_early_alloc_init:arch/arm64/kvm/hyp/nvhe/early_alloc.c:51
+size param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x0) hyp_early_alloc_init:arch/arm64/kvm/hyp/nvhe/early_alloc.c:51
~ 00008e5c: d10043ff sub sp, sp, #0x10 <- 00009ddc(bl)<hyp_early_alloc_init>,00009f68(bl)<hyp_early_alloc_init>
~ 00008e60: f90007e0 str x0, [sp, #8]
~ 00008e64: f90003e1 str x1, [sp]
hyp_early_alloc_init:53.9 (early_alloc.c) SbePe base = ║virt;
~ 00008e68: f94007e8 ldr x8, [sp, #8]
hyp_early_alloc_init:53.7 (early_alloc.c) sbepe base ║= virt;
~ 00008e6c: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008e70: f904bd28 str x8, [x9, #2424]
hyp_early_alloc_init:54.8 (early_alloc.c) Sbepe end = ║virt + size;
~ 00008e74: f94007e8 ldr x8, [sp, #8]
hyp_early_alloc_init:54.15 (early_alloc.c) sbepe end = virt + ║size;
~ 00008e78: f94003e9 ldr x9, [sp]
hyp_early_alloc_init:54.13 (early_alloc.c) sbepe end = virt ║+ size;
~ 00008e7c: 8b090108 add x8, x8, x9
hyp_early_alloc_init:54.6 (early_alloc.c) sbepe end ║= virt + size;
~ 00008e80: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008e84: f904c128 str x8, [x9, #2432]
hyp_early_alloc_init:55.8 (early_alloc.c) Sbepe cur = ║virt;
~ 00008e88: f94007e8 ldr x8, [sp, #8]
hyp_early_alloc_init:55.6 (early_alloc.c) sbepe cur ║= virt;
~ 00008e8c: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008e90: f904b928 str x8, [x9, #2416]
hyp_early_alloc_init:57.37 (early_alloc.c) Sbepe hyp_early_alloc_mm_ops.zalloc_page ║= hyp_early_alloc_page;
~ 00008e94: d0000088 adrp x8, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008e98: 9124c108 add x8, x8, #0x930
~ 00008e9c: 90000009 adrp x9, 8000 <psci_1_0_handler+0x7c>
~ 00008ea0: 9138e129 add x9, x9, #0xe38
~ 00008ea4: f9000109 str x9, [x8]
hyp_early_alloc_init:58.38 (early_alloc.c) Sbepe hyp_early_alloc_mm_ops.phys_to_virt ║= hyp_phys_to_virt;
~ 00008ea8: 90000009 adrp x9, 8000 <psci_1_0_handler+0x7c>
~ 00008eac: 913b2129 add x9, x9, #0xec8
~ 00008eb0: f9001909 str x9, [x8, #48]
hyp_early_alloc_init:59.38 (early_alloc.c) Sbepe hyp_early_alloc_mm_ops.virt_to_phys ║= hyp_virt_to_phys;
~ 00008eb4: 90000009 adrp x9, 8000 <psci_1_0_handler+0x7c>
~ 00008eb8: 913ba129 add x9, x9, #0xee8
~ 00008ebc: f9001d09 str x9, [x8, #56]
hyp_early_alloc_init:60.1 (early_alloc.c) Sbepe ║}
~ 00008ec0: 910043ff add sp, sp, #0x10
00008e60 CFA:r31+16
~ 00008ec4: d65f03c0 ret
-virt param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x8) hyp_early_alloc_init:arch/arm64/kvm/hyp/nvhe/early_alloc.c:51
-size param long unsigned int (base type, DW_ATE_unsigned size:8) 0x8e5c 0x8ec8 (DW_OP_fbreg 0x0) hyp_early_alloc_init:arch/arm64/kvm/hyp/nvhe/early_alloc.c:51
**00008ec8 <hyp_phys_to_virt>:
+ hyp_phys_to_virt params:
+phys param typedef(phys_addr_t=typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8ec8 0x8ee8 (DW_OP_fbreg 0x8)
hyp_phys_to_virt:31.0 (memory.h) Sbepe ║{
00008ec8 CFA:r31
+phys param typedef(phys_addr_t=typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8ec8 0x8ee8 (DW_OP_fbreg 0x8) hyp_phys_to_virt:arch/arm64/kvm/hyp/nvhe/early_alloc.c:30
~ 00008ec8: d10043ff sub sp, sp, #0x10
~ 00008ecc: f90007e0 str x0, [sp, #8]
hyp_phys_to_virt:32.9 (memory.h) SbePe return ║__hyp_va(phys);
~ 00008ed0: f94007e8 ldr x8, [sp, #8]
~ 00008ed4: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008ed8: f9439d29 ldr x9, [x9, #1848]
~ 00008edc: eb090100 subs x0, x8, x9
hyp_phys_to_virt:32.2 (memory.h) sbepe ║return __hyp_va(phys);
~ 00008ee0: 910043ff add sp, sp, #0x10
00008ecc CFA:r31+16
~ 00008ee4: d65f03c0 ret
-phys param typedef(phys_addr_t=typedef(u64=typedef(__u64=long long unsigned int (base type, DW_ATE_unsigned size:8)))) 0x8ec8 0x8ee8 (DW_OP_fbreg 0x8) hyp_phys_to_virt:arch/arm64/kvm/hyp/nvhe/early_alloc.c:30
**00008ee8 <hyp_virt_to_phys>:
+ hyp_virt_to_phys params:
+addr param pointer(no type) 0x8ee8 0x8f08 (DW_OP_fbreg 0x8)
hyp_virt_to_phys:36.0 (memory.h) Sbepe ║{
00008ee8 CFA:r31
+addr param pointer(no type) 0x8ee8 0x8f08 (DW_OP_fbreg 0x8) hyp_virt_to_phys:arch/arm64/kvm/hyp/nvhe/early_alloc.c:35
~ 00008ee8: d10043ff sub sp, sp, #0x10
~ 00008eec: f90007e0 str x0, [sp, #8]
hyp_virt_to_phys:37.9 (memory.h) SbePe return ║__hyp_pa(addr);
~ 00008ef0: f94007e8 ldr x8, [sp, #8]
~ 00008ef4: d0000089 adrp x9, 1a000 <hyp_cpu_logical_map+0xe0>
~ 00008ef8: f9439d29 ldr x9, [x9, #1848]
~ 00008efc: 8b090100 add x0, x8, x9
hyp_virt_to_phys:37.2 (memory.h) sbepe ║return __hyp_pa(addr);
~ 00008f00: 910043ff add sp, sp, #0x10
00008eec CFA:r31+16
~ 00008f04: d65f03c0 ret
-addr param pointer(no type) 0x8ee8 0x8f08 (DW_OP_fbreg 0x8) hyp_virt_to_phys:arch/arm64/kvm/hyp/nvhe/early_alloc.c:35