mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 05:40:09 +00:00
[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
This commit is contained in:
parent
ffa2bbc7f4
commit
01e30b30d0
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user