Author: David Spickett Date: 2023-06-14T14:33:47+01:00 New Revision: 01e30b30d09aca13819b40bfeff634e776e2b564
URL: https://github.com/llvm/llvm-project/commit/01e30b30d09aca13819b40bfeff634e776e2b564 DIFF: https://github.com/llvm/llvm-project/commit/01e30b30d09aca13819b40bfeff634e776e2b564.diff LOG: [lldb][AArch64] Add Scalable Matrix Extension option to QEMU launch script The Scalable Matrix Extension (SME) does not require extra options beyond setting the cpu to "max". https://qemu-project.gitlab.io/qemu/system/arm/cpu-features.html#sme-cpu-property-examples SME depends on SVE, so that will be enabled too even if you don't ask for it by name. --sve --sme -> SVE and SME --sme -> SVE and SME --sve -> Only SVE Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D152519 Added: Modified: lldb/docs/use/qemu-testing.rst lldb/scripts/lldb-test-qemu/run-qemu.sh Removed: ################################################################################ diff --git a/lldb/docs/use/qemu-testing.rst b/lldb/docs/use/qemu-testing.rst index a523137c8710b..f765d5ca9600b 100644 --- a/lldb/docs/use/qemu-testing.rst +++ b/lldb/docs/use/qemu-testing.rst @@ -93,8 +93,11 @@ run-qemu.sh has following dependencies: * --sve option will enable AArch64 SVE mode. -* --mte option will enable AArch64 MTE (memory tagging) mode. - (can be used on its own or in addition to --sve) +* --sme option will enable AArch64 SME mode (SME requires SVE, so this will also + be enabled). + +* --mte option will enable AArch64 MTE (memory tagging) mode + (can be used on its own or in addition to --sve). **Example:** Run QEMU Arm or AArch64 system emulation using run-qemu.sh diff --git a/lldb/scripts/lldb-test-qemu/run-qemu.sh b/lldb/scripts/lldb-test-qemu/run-qemu.sh index d11711c10e772..6dca03aab28e2 100755 --- a/lldb/scripts/lldb-test-qemu/run-qemu.sh +++ b/lldb/scripts/lldb-test-qemu/run-qemu.sh @@ -6,7 +6,8 @@ print_usage() { echo -e " --help\t\t\tDisplay this information." echo -e " --arch {arm|arm64}\t\tSelects architecture QEMU system emulation." echo -e " --sve\t\t\t\tEnables AArch64 SVE mode." - echo -e " --mte\t\t\t\tEnables AArch64 MTE mode.\n" + echo -e " --mte\t\t\t\tEnables AArch64 MTE mode." + echo -e " --sme\t\t\t\tEnables AArch64 SME mode." echo -e " --rootfs {path}\t\tPath of root file system image." echo -e " --qemu {path}\t\t\tPath of pre-installed qemu-system-* executable." echo -e " --kernel {path}\t\tPath of Linux kernel prebuilt image.\n" @@ -50,6 +51,7 @@ while [[ $# -gt 0 ]]; do --qemu) QEMU_BIN=$2; shift;; --sve) SVE=1;; --mte) MTE=1;; + --sme) SME=1;; --help) print_usage 0 ;; *) invalid_arg "$1" ;; esac @@ -104,16 +106,19 @@ if [[ "$ARCH" == "arm" ]]; then if [[ $MTE ]]; then echo "warning: --mte is supported by AArch64 targets only" fi + if [[ $SME ]]; then + echo "warning: --sme is supported by AArch64 targets only" + fi elif [[ "$ARCH" == "arm64" ]]; then QEMU_MACHINE=virt QEMU_SVE_MAX_VQ=4 QEMU_CPU="cortex-a53" - if [[ $SVE ]] || [[ $MTE ]]; then + if [[ $SVE ]] || [[ $MTE ]] || [[ $SME ]]; then QEMU_CPU="max" fi - if [[ $SVE ]]; then + if [[ $SVE ]] || [[ $SME ]]; then QEMU_CPU="$QEMU_CPU,sve-max-vq=$QEMU_SVE_MAX_VQ" fi if [[ $MTE ]]; then _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits