|
From: | WANG Xuerui |
Subject: | Re: [PATCH v4 36/57] tcg/loongarch64: Assert the host supports unaligned accesses |
Date: | Fri, 5 May 2023 21:24:56 +0800 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 |
Hi, On 2023/5/3 15:06, Richard Henderson wrote:
This should be true of all server class loongarch64.
And desktop-class (i.e. all Loongson-3 series).
It is a bit worrying that a future SoC (the octa-core Loongson 2K3000) might get used for light desktop use cases (e.g. laptops) where QEMU is arguably relevant, but it's currently unclear whether its LA364 micro-architecture will have UAL. The Loongson folks may have more to share.Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- tcg/loongarch64/tcg-target.c.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tcg/loongarch64/tcg-target.c.inc b/tcg/loongarch64/tcg-target.c.inc index e651ec5c71..ccc13ffdb4 100644 --- a/tcg/loongarch64/tcg-target.c.inc +++ b/tcg/loongarch64/tcg-target.c.inc @@ -30,6 +30,7 @@ */#include "../tcg-ldst.c.inc"+#include <asm/hwcap.h>#ifdef CONFIG_DEBUG_TCGstatic const char * const tcg_target_reg_names[TCG_TARGET_NB_REGS] = { @@ -1674,6 +1675,11 @@ static void tcg_target_qemu_prologue(TCGContext *s)static void tcg_target_init(TCGContext *s){ + unsigned long hwcap = qemu_getauxval(AT_HWCAP); + + /* All server class loongarch have UAL; only embedded do not. */ + assert(hwcap & HWCAP_LOONGARCH_UAL); +
tcg_target_available_regs[TCG_TYPE_I32] = ALL_GENERAL_REGS; tcg_target_available_regs[TCG_TYPE_I64] = ALL_GENERAL_REGS;
[Prev in Thread] | Current Thread | [Next in Thread] |