ARM64上开启MTE

简介: ARM64上开启MTE

参考

软件版本

Qemu:8.0.0

Linux:6.5

GCC: 13.2.1

内核配置

参考arch/arm64/Kconfig:

  • CONFIG_ARM64_AS_HAS_MTE: 当编译器支持memtag时,这个宏辉自动设置
  • CONFIG_ARM64_MTE: 需要手动配置,默认就是y

Qemu启动参数

示例:

sudo /home/pengdl/work/Qemu_env/qemu-8.0.0/build/bin/qemu-system-aarch64 \
        -M virt,gic-version=3,virtualization=on,type=virt,mte=on \
        -cpu max -nographic -m 16G \
        -smp 16 \
        -object memory-backend-ram,id=mem0,size=8G  \
        -object memory-backend-ram,id=mem1,size=8G  \
        -numa node,memdev=mem0,cpus=0-7,nodeid=0 \
        -numa node,memdev=mem1,cpus=8-15,nodeid=1 \
        -kernel ./linux-6.5/arch/arm64/boot/Image.gz \
        -append "noinitrd root=/dev/vda rootfstype=ext4 rw console=ttyAMA0 crashkernel=256M" \
        -nographic \
        -netdev user,id=eth0,hostfwd=tcp::8080-:22 -device virtio-net-device,netdev=eth0 \
        -fsdev local,security_model=passthrough,id=fsdev0,path=/home/pengdl/work/Qemu_env/aarch64/share \
        -device virtio-9p-pci,id=fs1,fsdev=fsdev0,mount_tag=hostshare \
        -drive if=none,format=qcow2,file=/home/pengdl/work/Qemu_env/aarch64/qcow2/slave1.qcow2,id=hd0 \
        -device virtio-blk-device,drive=hd0 \

在内核启动日志中可以看到:

[    0.000000][    T0] Detected PIPT I-cache on CPU0
[    0.000000][    T0] CPU features: detected: Address authentication (architected QARMA5 algorithm)
[    0.000000][    T0] CPU features: detected: GIC system register CPU interface
[    0.000000][    T0] CPU features: detected: HCRX_EL2 register
[    0.000000][    T0] CPU features: detected: Virtualization Host Extensions
[    0.000000][    T0] CPU features: detected: Hardware dirty bit management
[    0.000000][    T0] CPU features: detected: Memory Tagging Extension
[    0.000000][    T0] CPU features: detected: Asymmetric MTE Tag Check Fault
[    0.000000][    T0] CPU features: detected: Spectre-v4
[    0.000000][    T0] MTE: enabled in synchronous mode at EL1
[    0.000000][    T0] alternatives: applying boot alternatives
[    0.000000][    T0] kasan: KernelAddressSanitizer initialized (hw-tags, mode=sync, vmalloc=on, stacktrace=on)
# cat /proc/cpuinfo
...
processor       : 15
BogoMIPS        : 125.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit ilrcpc flagm ssbs sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svef32mm svef64mm svebf16 i8mm bf16 dgh rng bti mte mte3 sme smei16i64 smef64f64 smei8i32 smef16f32 smeb16f32 smef32f32 smefa64
CPU implementer : 0x00
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0x051
CPU revision    : 0
相关文章
|
存储 传感器 安全
「Arm Arch」 初识 Arm(下)
「Arm Arch」 初识 Arm(下)
1601 0
|
4月前
|
人工智能 自然语言处理 安全
QoderWork使用全解:零基础上手到高阶应用,打造专属AI工作助手
QoderWork是一款运行在本地桌面的AI智能体助手,由阿里云旗下Qoder团队打造,核心定位是替代传统聊天式AI,以自主执行多步骤任务的方式,成为用户身边的“AI实习生”,覆盖文件管理、数据处理、文档生成、跨应用协作等全场景工作需求。从零基础入门到深度定制,再到打造专属工作流,这套指南将带你全面掌握QoderWork,让它从简单工具升级为全能工作搭档。
707 4
|
Windows
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
不用 “netsh winsock reset” 命令解决 “在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配”
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
|
安全 Ubuntu Linux
硬盘格式化用什么工具好?这6个工具值得了解一下
本文介绍了硬盘格式化的重要性及注意事项,并推荐了几款主流平台下的实用格式化工具,包括Windows磁盘管理器、文件资源管理器、DiskGenius、Diskpart命令行、Mac Disk Utility以及Linux的GParted,帮助用户安全高效地完成格式化操作。
时间序列平稳性的双重假设检验:KPSS与ADF方法比较研究
时间序列分析中,确定序列的平稳性至关重要。本文介绍如何使用KPSS检验和Dickey-Fuller检验验证序列平稳性。KPSS假设数据非平稳,而Dickey-Fuller假设数据平稳。通过构造平稳(白噪声)和非平稳(随机游走)序列并进行检验,展示了两种方法的应用。KPSS适用于检测围绕趋势的平稳性,Dickey-Fuller则用于检验单位根。建议同时使用两者以确保结论可靠。
960 4
时间序列平稳性的双重假设检验:KPSS与ADF方法比较研究
|
Linux C语言
教你在QEMU上运行RISC-V Linux
教你在QEMU上运行RISC-V Linux
|
网络安全 Apache 开发工具
图解Git——服务器上的Git《Pro Git》
Git 远程仓库及通信协议简介:远程仓库为团队协作提供平台,支持共享代码。常见形式为裸仓库,仅保存 Git 元数据。Git 支持多种协议,包括本地协议(适合局域网)、HTTP/HTTPS(推荐智能 HTTP,安全易用)、SSH(企业内部协作首选)和 Git 协议(高效只读访问)。选择协议需根据协作需求、安全性和配置难度权衡。此外,搭建 Git 服务器涉及创建裸仓库、上传至服务器、初始化共享仓库等步骤。生成 SSH 公钥、配置服务器及使用 GitWeb 或 GitLab 等工具可进一步增强功能。第三方托管服务如 GitHub 提供便捷的托管选项,适合快速启动和开源项目。总结而言,自行运行服务器提
1011 11
macbookpro触摸板突然失灵按压无震动反馈和回弹感
macbookpro触摸板突然失灵按压无震动反馈和回弹感
1349 0
|
Kubernetes 安全 网络协议
操作系统的未来之路:探索微内核架构与分布式系统
随着计算需求的不断演变和技术的快速进步,传统的宏内核操作系统正面临性能和安全性的挑战。本文旨在探讨操作系统的未来发展道路,特别是微内核架构和分布式系统在提升性能和安全性方面的潜力。通过分析微内核设计的优势、分布式系统的特性以及两者结合的可能性,文章旨在为读者提供对操作系统未来发展趋势的深入理解。
856 27
|
Android开发
libxxx.so- text relocations问题的终极解决方案
问题表现形式 错误或警告日志 当targetSdkVersion>=23且使用debug签名时,在6.0+的Android设备上运行App会输出以下错误Log: E/linker: /data/app/packagename/lib/arm/libxxx.
3683 0

热门文章

最新文章