summaryrefslogtreecommitdiff
path: root/lldb/scripts
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2023-06-06 09:18:12 +0100
committerDavid Spickett <david.spickett@linaro.org>2023-06-14 14:33:47 +0100
commit01e30b30d09aca13819b40bfeff634e776e2b564 (patch)
tree251f81b9547670fed024387529fd8a4a6dc46d78 /lldb/scripts
parentffa2bbc7f4af99ee839e20d6ee73b2d1a2a5ef73 (diff)
[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
Diffstat (limited to 'lldb/scripts')
-rwxr-xr-xlldb/scripts/lldb-test-qemu/run-qemu.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/lldb/scripts/lldb-test-qemu/run-qemu.sh b/lldb/scripts/lldb-test-qemu/run-qemu.sh
index d11711c10e77..6dca03aab28e 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