On 2025-04-16 13:58, Andrew Cooper wrote:
cpu_to_le64() is about to become a macro, at which point the #ifdef in
the
middle of it becomes undefined behaviour.
Use a logcal variable to prepare strtab, where the #ifdef is fine to
use.
No functional change.
Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
for MISRA:
Reviewed-by: Nicola Vetrini <nicola.vetr...@bugseng.com>
---
CC: Anthony PERARD <anthony.per...@vates.tech>
CC: Michal Orzel <michal.or...@amd.com>
CC: Jan Beulich <jbeul...@suse.com>
CC: Julien Grall <jul...@xen.org>
CC: Roger Pau Monné <roger....@citrix.com>
CC: Stefano Stabellini <sstabell...@kernel.org>
CC: Volodymyr Babchuk <volodymyr_babc...@epam.com>
CC: Bertrand Marquis <bertrand.marq...@arm.com>
CC: Shawn Anastasio <sanasta...@raptorengineering.com>
CC: Oleksii Kurochko <oleksii.kuroc...@gmail.com>
CC: Daniel P. Smith <dpsm...@apertussolutions.com>
CC: Lin Liu <lin....@citrix.com>
v6:
* New
Eclair log from v5:
https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/andyhhp/xen/ECLAIR_normal/xen-bswap/ARM64/9556392204/PROJECT.ecd;/by_service/MC3A2.R20.6.html
---
xen/drivers/passthrough/arm/smmu-v3.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c
b/xen/drivers/passthrough/arm/smmu-v3.c
index cee572402203..df162350578c 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -722,15 +722,17 @@ static void arm_smmu_write_strtab_ent(struct
arm_smmu_master *master, u32 sid,
}
if (s2_cfg) {
- BUG_ON(ste_live);
- dst[2] = cpu_to_le64(
+ u64 strtab =
FIELD_PREP(STRTAB_STE_2_S2VMID, s2_cfg->vmid) |
FIELD_PREP(STRTAB_STE_2_VTCR, s2_cfg->vtcr) |
#ifdef __BIG_ENDIAN
STRTAB_STE_2_S2ENDI |
#endif
STRTAB_STE_2_S2PTW | STRTAB_STE_2_S2AA64 |
- STRTAB_STE_2_S2R);
+ STRTAB_STE_2_S2R;
+
+ BUG_ON(ste_live);
+ dst[2] = cpu_to_le64(strtab);
dst[3] = cpu_to_le64(s2_cfg->vttbr & STRTAB_STE_3_S2TTB_MASK);
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253