optee imx8mm

总仓库
git clone https://github.com/Xsyin/imx8mqevk.git -b container_region

替换imx8mqevk中的optee-client
git clone https://github.com/nxp-imx/imx-optee-client.git -b lf-5.15.32_2.0.0

用 5.15.32 kernel 会有如下报错,需要将optee os升级到分支 lf-5.15.32_2.0.0

D/TC:0 core_mmu_entry_to_finer_grained:653 xlat tables used 3 / 5
D/TC:0 tee_ta_init_pseudo_ta_session:274 Lookup pseudo TA 7011a688-ddde-4053-a5a9-7b3c4ddf13b8
D/TC:0 load_elf:842 Lookup user TA ELF 7011a688-ddde-4053-a5a9-7b3c4ddf13b8 (Secure Storage TA)
D/TC:0 load_elf:847 res=0xffff000c
D/TC:0 tee_ta_open_session:540 init session failed 0xffff000c
F/TC:0 plat_prng_add_jitter_entropy:74 plat_prng_add_jitter_entropy: 0x99C5

替换imx8mqevk中的optee-os
git clone https://github.com/nxp-imx/imx-optee-os.git -b lf-5.15.32_2.0.0

替换optee test 到 lf-5.15.32_2.0.0
git clone https://github.com/nxp-imx/imx-optee-test.git -b lf-5.15.32_2.0.0

下载编译工具
sudo make -f toolchain.mk toolchains

编译
make all -i

单编optee os
make optee-os

报错

/D/TC:0 verify_special_mem_areas:479 NSEC DDR memory [40000000 be000000]
E/TC:0 verify_special_mem_areas:510 [40000000 be000000] intersecs [bc000000 be000000]
E/TC:0 Panic 'Special memory intersection' at core/arch/arm/mm/core_mmu.c:511 <verify_special_mem_areas>
E/TC:0 Call stack:
E/TC:0  0x00000000be00c36c
#修改optee os
core\arch\arm\plat-imx\config\imx8mm.h
#define DRAM0_NSEC_SIZE     (CFG_TZDRAM_START - DRAM0_NSEC_BASE)
#修改为
#define DRAM0_NSEC_SIZE     (CFG_TZDRAM_START - DRAM0_NSEC_BASE - CFG_TEE_CONTAINER_SIZE)

单编optee examples
make optee-examples

编译kernel

~/share/imx8mm/linux
export PATH=$PATH:/home/peich/share/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- imx8mm_topeet_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j12

编译uboot

~/share/imx8mm/uboot
make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- ATF_LOAD_ADDR=0x920000 flash.bin -j12

启动

setenv bootcmd 'bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi'
setenv mmcdev 1
setenv fdtfile itop8mm-evk-mipi.dtb
boot

linux

arch\arm64\boot\dts\freescale\fsl-imx8-ca53.dtsi
添加如下内容

    firmware {optee {compatible = "linaro,optee-tz";method = "smc";};};

Documentation\devicetree\bindings\arm\firmware\linaro,optee-tz.txt

 * ----------------------------------------------------------------------------* TEE RAM layout without CFG_WITH_PAGER*_*  +----------------------------------+ <-- CFG_TZDRAM_START*  | TEE core secure RAM (TEE_RAM)    |*  +----------------------------------+*  | Trusted Application RAM (TA_RAM) |*  +----------------------------------+*  | SDP test memory (optional)       |*  +----------------------------------+ <-- CFG_TZDRAM_START + CFG_TZDRAM_SIZE**  +----------------------------------+ <-- CFG_SHMEM_START*  | Non-secure static SHM            |*  +----------------------------------+ <-- CFG_SHMEM_START + CFG_SHMEM_SIZE

图片:
内存分布

setenv bootargs 'console=ttymxc1,115200 root=/dev/nfs nfsroot=192.168.10.199:/home/peich/nfsroot/yocto,v3 rw ip=192.168.10.65:192.168.10.199:192.168.10.103:255.255.255.0::eth0:off'setenv bootargs 'console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 root=/dev/mmcblk2p2 rootwait rw'setenv ipaddr 192.168.10.65
setenv netmask 255.255.255.0
setenv serverip 192.168.10.199
setenv bootcmd 'tftp 0x40480000 Image121601;tftp 0x43000000 imx8mm-topeet.dtb;booti 0x40480000 - 0x43000000' bootImage0103tftp 0x40480000 Image121601tftp 0x43000000 imx8mm-topeet.dtbbooti 0x40480000 - 0x43000000nfs 0x40480000 192.168.10.199:/home/peich/nfsroot/Image121601
nfs 0x40480000 192.168.10.199:/home/peich/nfsroot/imx8mm-topeet.dtb

挂载nfs
mount -t nfs -o nolock 192.168.10.199:/home/peich/nfsroot /mnt/

optee 3.17
U-Boot SPL 2021.04-gb1a78b67-dirty (Dec 17 2023 - 02:37:10 -0800)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 2400MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
Trying to boot from MMC2
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x920000
NOTICE:  BL31: v2.6(release):lf-6.1.1-1.0.0-0-g616a4588f-dirty
NOTICE:  BL31: Built : 06:32:23, Dec  6 2023
NOTICE:  BL31: Initializing runtime services
ERROR:   service->init addr 0x924098, service->name imx_sip_svc
ERROR:   service->init addr 0x92724c, service->name opteed_fast
ERROR:   optee_ep_info->pc 0xbe000000
ERROR:   service->init addr 0x92761c, service->name std_svc
NOTICE:  BL31: Initializing runtime services DONE
NOTICE:  BL31: Initializing BL32
ERROR:   opteed_init  linear_id 0
ERROR:   optee_entry_point->pc 0xbe000000
ERROR:   opteed_init line 174
ERROR:   opteed_synchronous_sp_entry optee_ctx->c_rt_ctx 0000x0
D/TC:0   get_aslr_seed:1464 Bad fdt: -9
D/TC:0   plat_get_aslr_seed:110 Warning: no ASLR seed
D/TC:0   add_phys_mem:556 ROUNDDOWN(0x38800000, CORE_MMU_PGDIR_SIZE) type IO_SEC 0x38800000 size 0x00200000
D/TC:0   add_phys_mem:556 ROUNDDOWN(0x30360000, CORE_MMU_PGDIR_SIZE) type IO_SEC 0x30200000 size 0x00400000
D/TC:0   add_phys_mem:556 ROUNDDOWN((0x30890000), CORE_MMU_PGDIR_SIZE) type IO_NSEC 0x30800000 size 0x00400000
D/TC:0   add_phys_mem:556 TZASC_BASE type IO_SEC 0x32f80000 size 0x00010000
D/TC:0   add_phys_mem:556 ROUNDDOWN(0x30350000, CORE_MMU_PGDIR_SIZE) type IO_SEC 0x30200000 size 0x00400000
D/TC:0   add_phys_mem:569 Physical mem map overlaps 0x30200000
D/TC:0   add_phys_mem:556 SECMEM_BASE type IO_SEC 0x00100000 size 0x00008000
D/TC:0   add_phys_mem:556 TEE_SHMEM_START type NSEC_SHM 0xbfe00000 size 0x00200000
D/TC:0   add_phys_mem:556 TA_RAM_START type TA_RAM 0xbe200000 size 0x01c00000
D/TC:0   add_phys_mem:556 VCORE_UNPG_RW_PA type TEE_RAM_RW 0xbe07a000 size 0x00186000
D/TC:0   add_phys_mem:556 VCORE_UNPG_RX_PA type TEE_RAM_RX 0xbe000000 size 0x0007a000
D/TC:0   add_va_space:595 type RES_VASPACE size 0x00a00000
D/TC:0   add_va_space:595 type SHM_VASPACE size 0x02000000
D/TC:0   dump_mmap_table:723 type NSEC_SHM     va 0xb8600000..0xb87fffff pa 0xbfe00000..0xbfffffff size 0x00200000 (pgdir)
D/TC:0   dump_mmap_table:723 type TA_RAM       va 0xb8800000..0xba3fffff pa 0xbe200000..0xbfdfffff size 0x01c00000 (pgdir)
D/TC:0   dump_mmap_table:723 type IO_SEC       va 0xba600000..0xba7fffff pa 0x38800000..0x389fffff size 0x00200000 (pgdir)
D/TC:0   dump_mmap_table:723 type IO_NSEC      va 0xba800000..0xbabfffff pa 0x30800000..0x30bfffff size 0x00400000 (pgdir)
D/TC:0   dump_mmap_table:723 type IO_SEC       va 0xbac00000..0xbaffffff pa 0x30200000..0x305fffff size 0x00400000 (pgdir)
D/TC:0   dump_mmap_table:723 type RES_VASPACE  va 0xbb000000..0xbb9fffff pa 0x00000000..0x009fffff size 0x00a00000 (pgdir)
D/TC:0   dump_mmap_table:723 type SHM_VASPACE  va 0xbbc00000..0xbdbfffff pa 0x00000000..0x01ffffff size 0x02000000 (pgdir)
D/TC:0   dump_mmap_table:723 type IO_SEC       va 0xbdfe8000..0xbdff7fff pa 0x32f80000..0x32f8ffff size 0x00010000 (smallpg)
D/TC:0   dump_mmap_table:723 type IO_SEC       va 0xbdff8000..0xbdffffff pa 0x00100000..0x00107fff size 0x00008000 (smallpg)
D/TC:0   dump_mmap_table:723 type TEE_RAM_RX   va 0xbe000000..0xbe079fff pa 0xbe000000..0xbe079fff size 0x0007a000 (smallpg)
D/TC:0   dump_mmap_table:723 type TEE_RAM_RW   va 0xbe07a000..0xbe1fffff pa 0xbe07a000..0xbe1fffff size 0x00186000 (smallpg)
D/TC:0   core_mmu_xlat_table_alloc:520 xlat tables used 1 / 8
D/TC:0   core_mmu_xlat_table_alloc:520 xlat tables used 2 / 8
D/TC:0   core_mmu_xlat_table_alloc:520 xlat tables used 3 / 8
I/TC:
I/TC: Non-secure external DT found
D/TC:0 0 discover_nsec_memory:1226 No non-secure memory found in FDT
D/TC:0 0 discover_nsec_memory:1245 Warning register_dynamic_shm() is deprecated, please use register_ddr() instead
D/TC:0 0 carve_out_phys_mem:284 No need to carve out 0xbe000000 size 0x200000
D/TC:0 0 carve_out_phys_mem:284 No need to carve out 0xbe200000 size 0x1c00000
D/TC:0 0 carve_out_phys_mem:284 No need to carve out 0xbfe00000 size 0x200000
D/TC:0 0 get_console_node_from_dt:72 No console directive from DTB
I/TC: OP-TEE version: lf-5.15.32-2.0.0-1-g984996422 (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Sun Dec 17 10:35:23 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
D/TC:0 0 boot_init_primary_late:1345 Executing at offset 0 with virtual load address 0xbe000000
D/TC:0 0 call_preinitcalls:21 level 2 mobj_mapped_shm_init()
D/TC:0 0 mobj_mapped_shm_init:464 Shared memory address range: bbc00000, bdc00000
D/TC:0 0 call_initcalls:40 level 1 register_time_source()
D/TC:0 0 call_initcalls:40 level 1 crypto_driver_init()
D/TC:0 0 gic_it_set_cpu_mask:320 cpu_mask: writing 0xff0000 to 0xba600890
D/TC:0 0 gic_it_set_cpu_mask:322 cpu_mask: 0x0
D/TC:0 0 gic_it_set_prio:335 prio: writing 0x1 to 0xba600492
D/TC:0 0 caam_hal_ctrl_fill_mpmr:211 is_filled = false
D/TC:0 0 caam_hal_ctrl_fill_mpmr:256 val_scfgr = 0x34000001
D/TC:0 0 call_initcalls:40 level 1 teecore_init_pub_ram()
D/TC:0 0 call_initcalls:40 level 2 init_caam_late()
D/TC:0 0 call_initcalls:40 level 2 probe_dt_drivers_early()
D/TC:0 0 call_initcalls:40 level 3 imx_ocotp_init()
D/TC:0 0 call_initcalls:40 level 3 check_ta_store()
D/TC:0 0 check_ta_store:408 TA store: "Secure Storage TA"
D/TC:0 0 check_ta_store:408 TA store: "REE"
D/TC:0 0 call_initcalls:40 level 3 verify_pseudo_tas_conformance()
D/TC:0 0 call_initcalls:40 level 3 tee_cryp_init()
D/TC:0 0 call_initcalls:40 level 4 tee_fs_init_key_manager()
D/TC:0 0 imx_ocotp_read:107 OCOTP Bank 0 Word 2 Fuse 0x351f4209
D/TC:0 0 imx_ocotp_read:107 OCOTP Bank 0 Word 1 Fuse 0xdab75352
D/TC:0 0 call_initcalls:40 level 5 tzasc_init()
D/TC:0 0 tzc_dump_state:336 TZC380 configuration:
D/TC:0 0 tzc_dump_state:338 security_inversion_en 0
D/TC:0 0 tzc_dump_state:344
D/TC:0 0 tzc_dump_state:345 region 1
D/TC:0 0 tzc_dump_state:348 region_base: 0x0000000000000000
D/TC:0 0 tzc_dump_state:350 region sp: f
D/TC:0 0 tzc_dump_state:352 region size: 1f
D/TC:0 0 tzc_dump_state:344
D/TC:0 0 tzc_dump_state:345 region 2
D/TC:0 0 tzc_dump_state:348 region_base: 0x000000007c000000
D/TC:0 0 tzc_dump_state:350 region sp: c
D/TC:0 0 tzc_dump_state:352 region size: 19
D/TC:0 0 tzc_dump_state:344
D/TC:0 0 tzc_dump_state:345 region 3
D/TC:0 0 tzc_dump_state:348 region_base: 0x000000007f000000
D/TC:0 0 tzc_dump_state:350 region sp: c
D/TC:0 0 tzc_dump_state:352 region size: 17
D/TC:0 0 tzc_dump_state:344
D/TC:0 0 tzc_dump_state:345 region 4
D/TC:0 0 tzc_dump_state:348 region_base: 0x000000007fc00000
D/TC:0 0 tzc_dump_state:350 region sp: f
D/TC:0 0 tzc_dump_state:352 region size: 15
D/TC:0 0 tzc_dump_state:355 Lockdown select: 1
D/TC:0 0 tzc_dump_state:357 Lockdown range: 8000000f
D/TC:0 0 tzc_dump_state:358 Action register: 1
D/TC:0 0 tzc_dump_state:359 exit
D/TC:0 0 call_initcalls:40 level 5 snvs_set_npswa_en()
D/TC:0 0 call_initcalls:40 level 5 probe_dt_drivers()
D/TC:0 0 call_initcalls:40 level 6 mobj_init()
D/TC:0 0 call_initcalls:40 level 6 default_mobj_init()
D/TC:0 0 call_initcalls:40 level 7 release_probe_lists()
D/TC:0 0 call_finalcalls:59 level 1 release_external_dt()
I/TC: Primary CPU switching to normal world boot
ERROR:   opteed_synchronous_sp_entry optee_ctx->c_rt_ctx 000x92aba0
ERROR:   opteed_init line 181
NOTICE:  BL31 188
NOTICE:  BL31 194
NOTICE:  BL31 196U-Boot 2021.04-gb1a78b67-dirty (Dec 17 2023 - 02:37:10 -0800)CPU:   i.MX8MMQ rev1.0 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 20C
Reset cause: POR
Model: NXP i.MX8MM TOPEET board
DRAM:  2 GiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default environmentFail to setup video link
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiatedBuildInfo:- ATF 616a458switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net:
Warning: ethernet@30be0000 (eth0) using random MAC address - ce:58:ca:f2:bf:b0
eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
u-boot=> setenv bootargs 'console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 root=/dev/mmcblk2p2 rootwait rw'
u-boot=>
u-boot=> setenv ipaddr 192.168.10.65
u-boot=> setenv netmask 255.255.255.0
u-boot=> setenv serverip 192.168.10.199
u-boot=> tftp 0x40480000 Image121601
Using ethernet@30be0000 device
TFTP from server 192.168.10.199; our IP address is 192.168.10.65
Filename 'Image121601'.
Load address: 0x40480000
Loading: ############################################################################################432.6 KiB/s
done
Bytes transferred = 30929408 (1d7f200 hex)
u-boot=> tftp 0x43000000 imx8mm-topeet.dtb
Using ethernet@30be0000 device
TFTP from server 192.168.10.199; our IP address is 192.168.10.65
Filename 'imx8mm-topeet.dtb'.
Load address: 0x43000000
Loading: ####378.9 KiB/s
done
Bytes transferred = 48228 (bc64 hex)
u-boot=> booti 0x40480000 - 0x43000000
Moving Image from 0x40480000 to 0x40600000, end=42410000
## Flattened Device Tree blob at 43000000Booting using the fdt blob at 0x43000000Using Device Tree in place at 0000000043000000, end 000000004300ec63Starting kernel ...[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.32-g21e809b958ba-dirty (peich@ubuntu) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #2 SMP PREEMPT Fri Sep 15 23:55:56 PDT 2023
[    0.000000] Machine model: FSL i.MX8MM TOPEET board
[    0.000000] earlycon: ec_imx6q0 at MMIO 0x0000000030890000 (options '115200')
[    0.000000] printk: bootconsole [ec_imx6q0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000096000000, size 640 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x95bd1800-0x95bd3fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s41112 r8192 d32616 u81920
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 508032
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 root=/dev/mmcblk2p2 rootwait rw
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1337752K/2064384K available (18496K kernel code, 1532K rwdata, 7104K rodata, 2944K init, 547K bss, 71272K reserved, 655360K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 128 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] random: get_random_bytes called from start_kernel+0x484/0x674 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[    0.000000] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.008435] Console: colour dummy device 80x25
[    0.012574] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)
[    0.022844] pid_max: default: 32768 minimum: 301
[    0.027531] LSM: Security Framework initializing
[    0.032167] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.039558] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.048628] rcu: Hierarchical SRCU implementation.
[    0.053235] EFI services will not be available.
[    0.056987] smp: Bringing up secondary CPUs ...
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
[    0.072055] Detected VIPT I-cache on CPU1
[    0.072086] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
[    0.072129] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.080353] Detected VIPT I-cache on CPU2
[    0.080376] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
[    0.080403] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.088599] Detected VIPT I-cache on CPU3
[    0.088619] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
[    0.088644] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.088702] smp: Brought up 1 node, 4 CPUs
[    0.142462] SMP: Total of 4 processors activated.
[    0.147181] CPU features: detected: 32-bit EL0 Support
[    0.152353] CPU features: detected: 32-bit EL1 Support
[    0.157506] CPU features: detected: CRC32 instructions
[    0.170323] CPU: All CPU(s) started at EL2
[    0.171590] alternatives: patching kernel code
[    0.177382] devtmpfs: initialized
[    0.186165] KASLR disabled due to lack of seed
[    0.187898] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.197592] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.225597] pinctrl core: initialized pinctrl subsystem
[    0.228486] DMI not present or invalid.
[    0.232325] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.242553] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.247165] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.254951] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.262614] audit: initializing netlink subsys (disabled)
[    0.268170] audit: type=2000 audit(0.196:1): state=initialized audit_enabled=0 res=1
[    0.268725] thermal_sys: Registered thermal governor 'step_wise'
[    0.275768] thermal_sys: Registered thermal governor 'power_allocator'
[    0.281983] cpuidle: using governor menu
[    0.292577] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.299201] ASID allocator initialised with 65536 entries
[    0.305420] Serial: AMBA PL011 UART driver
[    0.308717] imx mu driver is registered.
[    0.312607] imx rpmsg driver is registered.
[    0.327761] imx8mm-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[    0.341370] platform 32e30000.mipi_csi: Fixing up cyclic dependency with 32e20000.csi1_bridge
[    0.368419] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.372312] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.379091] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.385779] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.393552] cryptd: max_cpu_qlen set to 1000
[    0.399557] ACPI: Interpreter disabled.
[    0.401363] iommu: Default domain type: Translated
[    0.405558] iommu: DMA domain TLB invalidation policy: strict mode
[    0.412009] vgaarb: loaded
[    0.414809] SCSI subsystem initialized
[    0.418641] usbcore: registered new interface driver usbfs
[    0.423873] usbcore: registered new interface driver hub
[    0.429209] usbcore: registered new device driver usb
[    0.435119] mc: Linux media interface: v0.10
[    0.438561] videodev: Linux video capture interface: v2.00
[    0.444122] pps_core: LinuxPPS API ver. 1 registered
[    0.449039] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.458240] PTP clock support registered
[    0.462315] EDAC MC: Ver: 3.0.0
[    0.466359] FPGA manager framework
[    0.468801] Advanced Linux Sound Architecture Driver Initialized.
[    0.475367] Bluetooth: Core ver 2.22
[    0.478451] NET: Registered PF_BLUETOOTH protocol family
[    0.483778] Bluetooth: HCI device and connection manager initialized
[    0.490167] Bluetooth: HCI socket layer initialized
[    0.495066] Bluetooth: L2CAP socket layer initialized
[    0.500151] Bluetooth: SCO socket layer initialized
[    0.505742] clocksource: Switched to clocksource arch_sys_counter
[    0.511318] VFS: Disk quotas dquot_6.6.0
[    0.515147] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.522169] pnp: PnP ACPI: disabled
[    0.531317] NET: Registered PF_INET protocol family
[    0.533450] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.541743] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.549425] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.557443] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.564906] TCP: Hash tables configured (established 16384 bind 16384)
[    0.571342] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.578029] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.585281] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.591191] RPC: Registered named UNIX socket transport module.
[    0.596808] RPC: Registered udp transport module.
[    0.601544] RPC: Registered tcp transport module.
[    0.606250] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.613413] PCI: CLS 0 bytes, default 64
[    0.617276] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.625510] kvm [1]: IPA Size Limit: 40 bits
[    0.630436] kvm [1]: GICv3: no GICV resource entry
[    0.633990] kvm [1]: disabling GICv2 emulation
[    0.638458] kvm [1]: GIC system register CPU interface enabled
[    0.644399] kvm [1]: vgic interrupt IRQ9
[    0.648368] kvm [1]: Hyp mode initialized successfully
[    0.656455] Initialise system trusted keyrings
[    0.658183] workingset: timestamp_bits=42 max_order=19 bucket_order=0
[    0.670427] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.674007] NFS: Registering the id_resolver key type
[    0.678526] Key type id_resolver registered
[    0.682705] Key type id_legacy registered
[    0.686797] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.693468] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.700923] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.707365] 9p: Installing v9fs 9p2000 file system support
[    0.747816] Key type asymmetric registered
[    0.749059] Asymmetric key parser 'x509' registered
[    0.754011] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    0.761405] io scheduler mq-deadline registered
[    0.765954] io scheduler kyber registered
[    0.775813] EINJ: ACPI disabled.
[    0.785367] imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[    0.793051] imx-sdma 302c0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[    0.808366] mxs-dma 33000000.dma-controller: initialized
[    0.812342] SoC: i.MX8MM revision 1.0
[    0.815006] Bus freq driver module loaded
[    0.824144] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.829812] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 47, base_baud = 5000000) is a IMX
[    0.836955] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 48, base_baud = 5000000) is a IMX
[    0.845693] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 49, base_baud = 1500000) is a IMX
[    0.854156] printk: console [ttymxc1] enabled
[    0.854156] printk: console [ttymxc1] enabled
[    0.862797] printk: bootconsole [ec_imx6q0] disabled
[    0.862797] printk: bootconsole [ec_imx6q0] disabled
[    0.874902] imx-drm 32c00000.bus:display-subsystem: no available port
[    0.892457] loop: module loaded
[    0.896814] of_reserved_mem_lookup() returned NULL
[    0.901691] megasas: 07.717.02.00-rc1
[    0.906887] imx ahci driver is registered.
[    0.914235] spi-nor spi0.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[    0.921133] spi-nor: probe of spi0.0 failed with error -2
[    0.929052] tun: Universal TUN/TAP device driver, 1.6
[    0.934880] thunder_xcv, ver 1.0
[    0.938155] thunder_bgx, ver 1.0
[    0.941409] nicpf, ver 1.0
[    0.946061] hclge is initializing
[    0.949390] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    0.956625] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.962012] e1000: Intel(R) PRO/1000 Network Driver
[    0.966946] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.972739] e1000e: Intel(R) PRO/1000 Network Driver
[    0.977711] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.983670] igb: Intel(R) Gigabit Ethernet Network Driver
[    0.989103] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.994712] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    1.000989] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.007096] sky2: driver version 1.30
[    1.011297] usbcore: registered new interface driver r8152
[    1.017036] VFIO - User Level meta-driver version: 0.3
[    1.024275] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.030826] ehci-pci: EHCI PCI platform driver
[    1.035309] ehci-platform: EHCI generic platform driver
[    1.040726] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.046930] ohci-pci: OHCI PCI platform driver
[    1.051410] ohci-platform: OHCI generic platform driver
[    1.057313] usbcore: registered new interface driver uas
[    1.062677] usbcore: registered new interface driver usb-storage
[    1.068761] usbcore: registered new interface driver usbserial_generic
[    1.075311] usbserial: USB Serial support registered for generic
[    1.081358] usbcore: registered new interface driver ftdi_sio
[    1.087126] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.094465] usbcore: registered new interface driver usb_serial_simple
[    1.101017] usbserial: USB Serial support registered for carelink
[    1.107131] usbserial: USB Serial support registered for zio
[    1.112809] usbserial: USB Serial support registered for funsoft
[    1.118836] usbserial: USB Serial support registered for flashloader
[    1.125210] usbserial: USB Serial support registered for google
[    1.131150] usbserial: USB Serial support registered for libtransistor
[    1.137697] usbserial: USB Serial support registered for vivopay
[    1.143729] usbserial: USB Serial support registered for moto_modem
[    1.150016] usbserial: USB Serial support registered for motorola_tetra
[    1.156650] usbserial: USB Serial support registered for novatel_gps
[    1.163023] usbserial: USB Serial support registered for hp4x
[    1.168789] usbserial: USB Serial support registered for suunto
[    1.174732] usbserial: USB Serial support registered for siemens_mpi
[    1.181117] usbcore: registered new interface driver usb_ehset_test
[    1.190127] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0
[    1.204507] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
[    1.210721] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[    1.219883] i2c_dev: i2c /dev entries driver
[    1.225046] mx6s-csi 32e20000.csi1_bridge: initialising
[    1.233591] Bluetooth: HCI UART driver ver 2.3
[    1.238064] Bluetooth: HCI UART protocol H4 registered
[    1.243209] Bluetooth: HCI UART protocol BCSP registered
[    1.248546] Bluetooth: HCI UART protocol LL registered
[    1.253695] Bluetooth: HCI UART protocol ATH3K registered
[    1.259116] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.265477] Bluetooth: HCI UART protocol Broadcom registered
[    1.271160] Bluetooth: HCI UART protocol QCA registered
[    1.277895] sdhci: Secure Digital Host Controller Interface driver
[    1.284089] sdhci: Copyright(c) Pierre Ossman
[    1.289075] Synopsys Designware Multimedia Card Interface Driver
[    1.295662] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.303266] ledtrig-cpu: registered to indicate activity on CPUs
[    1.310262] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.317168] usbcore: registered new interface driver usbhid
[    1.322749] usbhid: USB HID core driver
[    1.330414]  cs_system_cfg: CoreSight Configuration manager initialised
[    1.334674] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[    1.338467] optee: probing for conduit method.
D/TC:0   tee_entry_exchange_capabilities:101 Asynchronous notifications are disabled
D/TC:0   tee_entry_exchange_capabilities:109 Dynamic shared memory is enabled
[    1.348620] optee: revision 3.17 (98499642)
[    1.363798] optee: dynamic shared memory is enabled
D/TC:0 0 core_mmu_xlat_table_alloc:520 xlat tables used 4 / 8
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 7011a688-ddde-4053-a5a9-7b3c4ddf13b8
D/TC:? 0 tee_ta_init_pseudo_ta_session:309 Open device.pta
D/TC:? 0 tee_ta_init_pseudo_ta_session:326 device.pta : 7011a688-ddde-4053-a5a9-7b3c4ddf13b8
F/TC:? 0 plat_prng_add_jitter_entropy:72 0x1FDA
D/TC:? 0 tee_ta_close_session:512 csess 0xbe0a9d20 id 1
D/TC:? 0 tee_ta_close_session:530 Destroy session
[    1.414181] optee: initialized driver
[    1.419556] galcore: clk_get vg clock failed, disable vg!
[    1.425285] Galcore version 6.4.3.p4.398061
[    1.486584] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[    1.488442] [drm] Initialized vivante 1.0.0 20170808 for 38000000.gpu on minor 0
[    1.493729] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB
[    1.501982] hantrodec 0 : module inserted. Major = 511
[    1.510456]  mmcblk2: p1 p2
[    1.510684] hantrodec 1 : module inserted. Major = 511
[    1.515005] mmcblk2boot0: mmc2:0001 AJTD4R 4.00 MiB
[    1.519355] hx280enc: module inserted. Major <510>
[    1.524751] mmcblk2boot1: mmc2:0001 AJTD4R 4.00 MiB
[    1.534522] mmcblk2rpmb: mmc2:0001 AJTD4R 4.00 MiB, chardev (234:0)
[    1.534583] NET: Registered PF_LLC protocol family
[    1.546123] NET: Registered PF_INET6 protocol family
[    1.553305] Segment Routing with IPv6
[    1.557012] In-situ OAM (IOAM) with IPv6
[    1.560984] NET: Registered PF_PACKET protocol family
[    1.567098] Bluetooth: RFCOMM TTY layer initialized
[    1.571995] Bluetooth: RFCOMM socket layer initialized
[    1.577191] Bluetooth: RFCOMM ver 1.11
[    1.580963] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    1.586293] Bluetooth: BNEP filters: protocol multicast
[    1.591530] Bluetooth: BNEP socket layer initialized
[    1.596505] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    1.602434] Bluetooth: HIDP socket layer initialized
[    1.608141] 8021q: 802.1Q VLAN Support v1.8
[    1.612366] lib80211: common routines for IEEE802.11 drivers
[    1.618142] 9pnet: Installing 9P2000 support
[    1.622449] tsn generic netlink module v1 init...
[    1.627230] Key type dns_resolver registered
[    1.632495] Loading compiled-in X.509 certificates
[    1.661205] usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
[    1.669108] usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
[    1.740945] nxp-pca9450 0-0025: pca9450a probed.
[    1.745687] i2c i2c-0: IMX I2C adapter registered
[    1.752270] i2c 1-0050: Fixing up cyclic dependency with 32e40000.usb
[    1.759712] i2c i2c-1: IMX I2C adapter registered
[    1.765584] pca953x 2-0020: using no AI
[    1.770384] pca953x 2-0020: failed writing register
[    1.776466] i2c 2-003c: Fixing up cyclic dependency with 32e30000.mipi_csi
[    1.783792] ov5640_mipi 2-003c: No sensor reset pin available
[    1.789584] ov5640_mipi 2-003c: supply DOVDD not found, using dummy regulator
[    1.796828] ov5640_mipi 2-003c: supply DVDD not found, using dummy regulator
[    1.803942] ov5640_mipi 2-003c: supply AVDD not found, using dummy regulator
[    1.822722] ov5640_mipi 2-003c: Read reg error: reg=300a
[    1.828057] ov5640_mipi 2-003c: Camera is not found
[    1.833221] i2c i2c-2: IMX I2C adapter registered
[    1.840049] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[    1.842592] pps pps0: new PPS source ptp0
[    1.848302] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[    1.865651] fec 30be0000.ethernet eth0: registered PHC device 0
[    1.878057] mxc_mipi-csi 32e30000.mipi_csi: supply mipi-phy not found, using dummy regulator
[    1.886115] imx6q-pcie 33800000.pcie: PCIe PLL is locked.
[    1.886881] mxc_mipi-csi 32e30000.mipi_csi: mipi csi v4l2 device registered
[    1.891960] imx6q-pcie 33800000.pcie: iATU unroll: enabled
[    1.898878] CSI: Registered sensor subdevice: mxc_mipi-csi.0
[    1.904362] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[    1.910041] mxc_mipi-csi 32e30000.mipi_csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 333000000
[    1.917598] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[    1.928026] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 2 mkt segment 2 supported-hw 0x4 0x4
[    1.934697] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[    1.944357] Hot alarm is canceled. GPU3D clock will return to 64/64
[    1.951561] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff -> 0x0018000000
[    1.958908] imx8mm-pinctrl 30330000.pinctrl: pin MX8MM_IOMUXC_SD1_RESET_B already requested by 30be0000.ethernet; cannot claim for usdhc1_pwrseq
[    1.966096] imx6q-pcie 33800000.pcie: iATU unroll: enabled
[    1.978978] imx8mm-pinctrl 30330000.pinctrl: pin-50 (usdhc1_pwrseq) status -22
[    1.984481] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[    1.991684] imx8mm-pinctrl 30330000.pinctrl: could not request pin 50 (MX8MM_IOMUXC_SD1_RESET_B) from group usdhc1grpgpio  on device 30330000.pinctrl
[    2.012666] pwrseq_simple usdhc1_pwrseq: Error applying setting, reverse things back
[    2.022456] sdhci-esdhc-imx 30b50000.mmc: Got CD GPIO
[    2.027637] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    2.038794] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    2.045444] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    2.051415] ALSA device list:
[    2.054076] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[    2.057032]   No soundcards found.
[    2.066200] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
[    2.144166] mmc1: host does not support reading read-only switch, assuming write-enable
[    2.185097] mmc1: new ultra high speed SDR104 SDHC card at address 0001
[    2.192877] mmcblk1: mmc1:0001 SD16G 29.8 GiB
[    2.200418]  mmcblk1: p1 p2
[    3.003175] imx6q-pcie 33800000.pcie: Phy link never came up
[    3.008904] imx6q-pcie: probe of 33800000.pcie failed with error -110
[    3.020135] random: fast init done
[    3.083128] EXT4-fs (mmcblk2p2): recovery complete
[    3.088777] EXT4-fs (mmcblk2p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    3.098657] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    3.105434] devtmpfs: mounted
[    3.109086] Freeing unused kernel memory: 2944K
[    3.113710] Run /sbin/init as init process
[    3.167627] systemd[1]: System time before build time, advancing clock.
[    3.181701] systemd[1]: systemd 237 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    3.203317] systemd[1]: Detected architecture arm64.Welcome to NXP i.MX Release Distro 4.14-sumo (sumo)!root@imx8mmevk:~# ls /lib/optee_armtz/
5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.ta
5ce0c432-0ab0-40e5-a056-782ca0e6aba2.ta
614789f2-39c0-4ebf-b235-92b32ac107ed.ta
731e279e-aafb-4575-a771-38caa6f0cca6.ta
873bcd08-c2c3-11e6-a937-d0bf9c45c61c.ta
b689f2a7-8adf-477a-9f99-32e90c0ad0a2.ta
c3f6e2c0-3548-11e1-b86c-0800200c9a66.ta
cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.ta
d17f73a0-36ef-11e1-984a-0002a5d5c51b.ta
e13010e0-2ae1-11e5-896a-0002a5d5c51b.ta
e626662e-c0e2-485c-b8c8-09fbce6edf3d.ta
e6a33ed4-562b-463a-bb7e-ff5e15a493c8.ta
f157cda0-550c-11e5-a6fa-0002a5d5c51b.ta
ffd2bded-ab7d-4988-95ee-e4962fff7154.ta
root@imx8mmevk:~#root@imx8mmevk:~# optee_example_hello_world
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_load_ldelf:95 ldelf load address 0x40006000
D/LD:  ldelf:134 Loading TS 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xf0100001
E/LD:  init_elf:439 sys_open_ta_bin(8aaaf200-2450-11e4-abe2-0002a5d5c51b)
E/TC:? 0 ldelf_init_with_ldelf:130 ldelf failed with res: 0xf0100001
D/TC:? 0 tee_ta_open_session:717 init session failed 0xf0100001
optee_example_hello_world: TEEC_Opensession failed with code 0xf0100001 origin 0x3
root@imx8mmevk:~# [   50.086186] random: crng init done
[   50.089604] random: 7 urandom warning(s) missed due to ratelimitingroot@imx8mmevk:~#root@imx8mmevk:~# optee_example_hello_world
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_load_ldelf:95 ldelf load address 0x40006000
D/LD:  ldelf:134 Loading TS 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 secstor_ta_open:19 secstor_ta_open 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ree_fs_open:636 ree_fs_open
D/TC:? 0 ree_fs_open_primitive:402 ree_fs_open_primitive
D/TC:? 0 operation_open_dfh:68 res 0x0
D/TC:? 0 operation_open_dfh:80 res 0x0
D/TC:? 0 ree_fs_open_primitive:417 res 0x0
D/TC:? 0 tee_fs_htree_open:656 res 0x0
D/TC:? 0 verify_root:552 res 0x0
D/TC:? 0 verify_root:557 res 0x0
D/TC:? 0 __gcm_dec_final:329 res 0x0
D/TC:? 0 consttime_memcmp:52 isLT 0x0 isGT 0x100 mask 0x0
D/TC:? 0 consttime_memcmp:54 res 0x1
D/TC:? 0 __gcm_dec_final:333 res 0x1
D/TC:? 0 aes_gcm_dec_final:506 res 0x0
D/TC:? 0 crypto_authenc_dec_final:429 res 0x0
D/TC:? 0 authenc_decrypt_final:513 res 0x0
D/TC:? 0 verify_root:563 res 0x0
D/TC:? 0 tee_fs_htree_open:661 res 0x0
D/TC:? 0 tee_fs_htree_open:666 res 0xf0100001
D/TC:? 0 ree_fs_open_primitive:424 res 0xf0100001
D/TC:? 0 tee_fs_dirfile_open:137 tee_fs_dirfile_open 0xf0100001
D/TC:? 0 open_dirh:559 open_dirh 0xf0100001
D/TC:? 0 open_dirh:566 open_dirh 0xf0100001
D/TC:? 0 get_dirh:586 get_dirh 0xf0100001
D/TC:? 0 ree_fs_open:638 exit ree_fs_open 0xf0100001
D/TC:? 0 ree_fs_open:667 exit ree_fs_open 0xf0100001
D/TC:? 0 tadb_open:228 tadb_open 0xf0100001
D/TC:? 0 tee_tadb_ta_open:649 tee_tadb_ta_open 0xf0100001
D/TC:? 0 secstor_ta_open:23 secstor_ta_open 0xf0100001
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xf0100001
E/LD:  init_elf:439 sys_open_ta_bin(8aaaf200-2450-11e4-abe2-0002a5d5c51b)
E/TC:? 0 ldelf_init_with_ldelf:130 ldelf failed with res: 0xf0100001
D/TC:? 0 tee_ta_open_session:717 init session failed 0xf0100001
optee_example_hello_world: TEEC_Opensession failed with code 0xf0100001 origin 0x3
root@imx8mmevk:~# [   51.370111] random: crng init done
[   51.373529] random: 7 urandom warning(s) missed due to ratelimitingroot@imx8mmevk:~# optee_example_hello_world
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:170 ELF (8aaaf200-2450-11e4-abe2-0002a5d5c51b) at 0x4006c000
D/TA:  TA_CreateEntryPoint:39 has been called
D/TA:  TA_OpenSessionEntryPoint:68 has been called
I/TA: Hello World!
D/TA:  inc_value:105 has been called
I/TA: Got value: 42 from NW
I/TA: Increase value to: 43
D/TC:? 0 tee_ta_close_session:530 csess 0xbe0bea90 id 1
D/TC:? 0 tee_ta_close_session:548 Destroy session
I/TA: Goodbye!
D/TA:  TA_DestroyEntryPoint:50 has been called
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xbe0bea30)
Invoking TA to increment 42
TA incremented value to 43
root@imx8mmevk:~# 
root@imx8mmevk:~# xtest 1004
Test ID: 1004
Run test suite with level=0TEE test application started over default TEE instance
######################################################
#
# regression+pkcs11+regression_nxp
#
######################################################* regression_1004 Test User Crypt TA
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
D/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF cb3e5ba0-adf1-11e0-998b-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF cb3e5ba0-adf1-11e0-998b-0002a5d5c51b (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:170 ELF (cb3e5ba0-adf1-11e0-998b-0002a5d5c51b) at 0x40082000
o regression_1004.1 AES encrypt
D/TC:? 0 tee_ta_close_session:530 csess 0xbe0bea90 id 1
D/TC:? 0 tee_ta_close_session:548 Destroy session
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xbe0bea30)regression_1004.1 OK
o regressD/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA fd02c9da-306c-48c7-a49c-bbd827ae86ee
ion_1004.2 AES decryptregressD/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS fd02c9da-306c-48c7-a49c-bbd827ae86ee
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF fd02c9da-306c-48c7-a49c-bbd827ae86ee (Secure Storage TA)
ion_1004.2 OK
o regression_1004.3 SHA-256 test, 3 bytes inputregression_1004.3 OK
o regression_1004.4 AES-256 ECB encrypt (32B, fixed key)regression_1004.4 OK
o regression_1004.5 AES-256 ECB decrypt (32B, fixed key)D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF fd02c9da-306c-48c7-a49c-bbd827ae86ee (REE)regression_1004.5 OKregression_1004 OK* pkcs11_1004 PKCS11: create/destroy PKCS#11 simple objects
o pkcs11_1004.1 Cre[  283.601001] audit: type=1701 audit(1626284105.944:4): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=402 comm="tee-supplicant" exe="/usr/bin/tee-supplicant" sig=11 res=1
ate and destroy a volatile object
root@imx8mmevk:/mnt/usr# optee_example_random
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA b6c53aba-9669-4668-a7f2-205629d00f86
D/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS b6c53aba-9669-4668-a7f2-205629d00f86
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF b6c53aba-9669-4668-a7f2-205629d00f86 (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF b6c53aba-9669-4668-a7f2-205629d00f86 (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:170 ELF (b6c53aba-9669-4668-a7f2-205629d00f86) at 0x40052000
Invoking TA to generate random UUID...
D/TA:  random_number_generate:73 has been called
I/TA: Generating random data over 16 bytes.
E/TC:? 0
E/TC:? 0 TA panicked with code 0xffff0001
E/LD:  Status of TA b6c53aba-9669-4668-a7f2-205629d00f86
E/LD:   arch: aarch64
E/LD:  region  0: va 0x40004000 pa 0xbe200000 size 0x002000 flags rw-s (ldelf)
E/LD:  region  1: va 0x40006000 pa 0xbe202000 size 0x008000 flags r-xs (ldelf)
E/LD:  region  2: va 0x4000e000 pa 0xbe20a000 size 0x001000 flags rw-s (ldelf)
E/LD:  region  3: va 0x4000f000 pa 0xbe20b000 size 0x004000 flags rw-s (ldelf)
E/LD:  region  4: va 0x40013000 pa 0xbe20f000 size 0x001000 flags r--s
E/LD:  region  5: va 0x40014000 pa 0xbe22e000 size 0x001000 flags rw-s (stack)
E/LD:  region  6: va 0x40015000 pa 0x4d32bff0 size 0x001000 flags rw-- (param)
E/LD:  region  7: va 0x40052000 pa 0x00001000 size 0x012000 flags r-xs [0]
E/LD:  region  8: va 0x40064000 pa 0x00013000 size 0x00c000 flags rw-s [0]
E/LD:   [0] b6c53aba-9669-4668-a7f2-205629d00f86 @ 0x40052000
E/LD:  Call stack:
E/LD:   0x400521bc
E/LD:   0x40056a2c
E/LD:   0x400521c8
D/TC:? 0 user_ta_enter:177 tee_user_ta_enter: TA panicked with code 0xffff0001
D/TC:? 0 destroy_ta_ctx_from_session:341 Remove references to context (0xbe0bde98)
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xbe0bde80)
D/TC:? 0 tee_ta_close_session:530 csess 0xbe0bdee0 id 1
D/TC:? 0 tee_ta_close_session:548 Destroy session
optee_example_random: TEEC_InvokeCommand failed with code 0xffff3024 origin 0x3
root@imx8mmevk:/mnt/usr#
root@imx8mmevk:/mnt/out/ca# optee_example_hotp
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 484d4143-2d53-4841-3120-4a6f636b6542
D/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS 484d4143-2d53-4841-3120-4a6f636b6542
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 484d4143-2d53-4841-3120-4a6f636b6542 (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 484d4143-2d53-4841-3120-4a6f636b6542 (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:170 ELF (484d4143-2d53-4841-3120-4a6f636b6542) at 0x40060000
Register the shared key: 12345678901234567890
D/TA:  register_shared_key:147 Got shared key 12345678901234567890 (20 bytes).
D/TA:  get_hotp:179 HOTP is: 755224
HOTP: 755224
D/TA:  get_hotp:179 HOTP is: 287082
HOTP: 287082
D/TA:  get_hotp:179 HOTP is: 359152
HOTP: 359152
D/TA:  get_hotp:179 HOTP is: 969429
HOTP: 969429
D/TA:  get_hotp:179 HOTP is: 338314
D/TA:  get_hotp:179 HOTP is: 254676
HOTP: 338314
HOTP: 254676
D/TA:  get_hotp:179 HOTP is: 287922
D/TA:  get_hotp:179 HOTP is: 162583
HOTP: 287922
HOTP: 162583
D/TA:  get_hotp:179 HOTP is: 399871
D/TA:  get_hotp:179 HOTP is: 520489
D/TC:? 0 tee_ta_close_session:530 csess 0xbe0bdee0 id 1
D/TC:? 0 tee_ta_close_session:548 Destroy session
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xbe0bde80)
HOTP: 399871
HOTP: 520489
root@imx8mmevk:/mnt/out/ca# optee_example_aes
D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 5dbac793-f574-4871-8ad3-04331ec17f24
Prepare session with the TA
D/TC:? 0 ldelf_load_ldelf:96 ldelf load address 0x40006000
D/LD:  ldelf:135 Loading TS 5dbac793-f574-4871-8ad3-04331ec17f24
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 5dbac793-f574-4871-8ad3-04331ec17f24 (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:143 Lookup user TA ELF 5dbac793-f574-4871-8ad3-04331ec17f24 (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:170 ELF (5dbac793-f574-4871-8ad3-04331ec17f24) at 0x40015000
D/TA:  TA_OpenSessionEntryPoint:394 Session 0x40032450: newly allocated
Prepare encode operation
D/TA:  alloc_resources:124 Session 0x40032450: get ciphering resources
D/TA:  set_aes_key:240 Session 0x40032450: load key material
Load key in TA
Reset ciphering operation in TA (provides the initial vector)
D/TA:  reset_aes_iv:308 Session 0x40032450: reset initial vector
D/TA:  cipher_buffer:340 Session 0x40032450: cipher buffer
Encore buffer from TA
Prepare decode operation
D/TA:  alloc_resources:124 Session 0x40032450: get ciphering resources
D/TA:  set_aes_key:240 Session 0x40032450: load key material
Load key in TA
Reset ciphering operation in TA (provides the initial vector)
D/TA:  reset_aes_iv:308 Session 0x40032450: reset initial vector
D/TA:  cipher_buffer:340 Session 0x40032450: cipher buffer
Decode buffer from TA
D/TC:? 0 tee_ta_close_session:530 csess 0xbe0bdee0 id 1
D/TC:? 0 tee_ta_close_session:548 Destroy session
D/TA:  TA_CloseSessionEntryPoint:404 Session 0x40032450: release session
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xbe0bde80)
Clear text and decoded text match

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】JAVA+Vue.js实现大学计算机课程管理平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

不同的AI修改同一篇文章标题

提问AI 我写了一篇文章&#xff0c;请帮我把标题重新改一下&#xff1a;“比较不同AI分析同一个错误代码及给出解决方案的能力&#xff08;结果出我意料&#xff09;” 这篇文章的原地址为&#xff1a;https://blog.csdn.net/snans/article/details/136132211 答案对比结果&am…

Qt:Qt3个窗口类的区别、VS与QT项目转换

一、Qt3个窗口类的区别 QMainWindow&#xff1a;包含菜单栏、工具栏、状态栏 QWidget&#xff1a;普通的一个窗口&#xff0c;什么也不包括 QDialog&#xff1a;对话框&#xff0c;常用来做登录窗口、弹出窗口&#xff08;例如设置页面&#xff09; QDialog实现简易登录界面…

网络原理-TCP_IP(6)

网络层 在复杂的网络环境中确定一个合适的路径. IP协议 与TCP协议并列,都是网络体系中最核心的协议. 基本概念 主机:配有IP地址,但是不进行路由控制的设备; 路由器:即配有IP地址,又能进行路由控制; 节点:主机和路由器的统称; 协议头格式 4位版本号(version):指定IP协议的版…

【机器学习基础】决策树(Decision Tree)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐特别提醒&#xff1a;针对机器学习&#xff0c;特别开始专栏&#xff1a;机器学习python实战 欢迎订阅&am…

OpenTitan- 开源安全芯片横空出世

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Linux——系统文件I/O

系统文件I/O 注&#xff1a;学习本次内容之前&#xff0c;最好先对C语言文件操作有所了解 本章思维导图&#xff1a; 注&#xff1a;思维导图对应的.xmind文件和.png文件都已同步导入至资源&#xff0c;可供免费查阅 在以前学习的C语言中&#xff0c;我们可以通过fwrite和fre…

通过玩游戏学会AWS

游戏名字&#xff1a; Cloud Quest 类型&#xff1a;亚马逊云科技官方出了一款 3D 角色扮演、虚拟城市建造形式的游戏实验课 进入方法&#xff1a;浏览器搜索 Cloud Quest&#xff08;或扫描下方二维码&#xff09;进入 Cloud Quest 课程页。 选择以下的链接 点击进行注册 进…

云计算基础-虚拟机迁移原理

什么是虚拟机迁移 虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器&#xff08;或主机&#xff09;迁移到另一个物理服务器&#xff08;或主机&#xff09;的过程&#xff0c;而不会中断虚拟机的运行。 虚拟机拟机迁移分类虚 热迁移&#xff1a;开机状态下迁移 冷迁…

单部10层电梯控制系列之UDT数据类型的建立(SCL代码)

这篇博客开始介绍单部10层电梯的完整控制程序编写过程,编程语言:SCL,控制器型号:S7-1200PLC。开篇博客我们介绍电梯控制用到的所有UDT数据类型。在学习本篇博客之前大家可以参考下面文章,了解博途PLC里的UDT数据类型是如何建立的。 博途UDT数据类型介绍: https://rxxw-…

P2P 应用

P2P 工作方式概述 在 P2P 工作方式下&#xff0c;所有的音频/视频文件都是在普通的互联网用户之间传输。 1 具有集中目录服务器的 P2P 工作方式 Napster 最早使用 P2P 技术&#xff0c;提供免费下载 MP3 音乐。 Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服…

Ubuntu Desktop 显示文件路径

Ubuntu Desktop 显示文件路径 1. GUI hot key2. CLIReferences 1. GUI hot key Ctrl L: 显示文件路径 2. CLI right click -> Open in Terminal -> pwd strongforeverstrong:~/Desktop$ pwd /home/strong/DesktopReferences [1] Yongqiang Cheng, https://yongqiang…

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是&#xff1a;inner join&#xff08;内连接&#xff09;、left join&#xff08;左连接&#xff09;、right join&#xff08;右连接&#xff09;、full outer join&#xff08;全外连接&#xff09;、left semi join&#xff08;左…

C++ “雪花算法“原理

C雪花算法并不是传统的数据结构与算法而是一种崭新的分布式算法 属于深层次C 本篇文章就来描述一下雪花算法 什么是雪花算法: 雪花算法&#xff08;Snowflake&#xff09;是Twitter开源的一种分布式唯一ID生成算法。它可以在不依赖于数据库等其他存储设施的情况下&#xff0c…

【每日一题】06 排序链表

问题描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 求解 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* sortList(struct ListNode* head) {struct…

线性注意力机制全新升级!性能显著提高,速度、精度更优

线性注意力机制通过对传统注意力机制中的Softmax操作进行线性化处理&#xff0c;可以提高Transformer模型的并行性能、降低复杂度&#xff0c;在计算效率、模型表达能力等方面都具有优势。 作为一种常用有效的优化方法&#xff0c;线性注意力机制可以在保证模型性能的同时提高…

qt 开发 “控件之家“

本篇文章我们来描述一下Qt 控件 是qt中最基本 也是最难缠的 有种“小鬼难缠的感觉” qt常用控件大集合 Qt是一个广泛使用的跨平台应用程序框架&#xff0c;它提供了许多用于构建图形用户界面(GUI)的控件。以下是一些Qt中常用的控件&#xff1a; QPushButton&#xff1a;这是…

软考 系统分析师系列知识点之信息系统战略规划方法(12)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之信息系统战略规划方法&#xff08;11&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.8 战略一致性模型 信息化战略接受企业战略的指导&#xff0c;企业战略需要信息化…

链表总结 -- 《数据结构》-- c/c++

链表的概念 链表是一种物理存储结构上非连续存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一个是指针域&#xff08;存放指向下一个节点的…

适用于Android 的 7 大短信恢复应用程序

对于 Android 用户来说&#xff0c;丢失重要的短信可能是一种令人沮丧的体验。幸运的是&#xff0c;有许多短信恢复应用程序可以帮助恢复丢失或删除的短信。在本文中&#xff0c;将与您分享 7 个最佳短信恢复应用程序&#xff0c;并帮助您找到可用于恢复已删除消息的最佳应用程…