)]}'
{
  "commit": "aba39946baaf5ca73aae0b79e2cd0790ddafe291",
  "tree": "a3a7a1c43251a6692251f4d513162dd6a69cdc2f",
  "parents": [
    "0e171b427b1d2f68d76a2b7cae987432c10ca8aa"
  ],
  "author": {
    "name": "Richard Henderson",
    "email": "richard.henderson@linaro.org",
    "time": "Wed Jul 23 17:54:54 2025 +0100"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Fri Jul 25 10:31:45 2025 +0100"
  },
  "message": "target/arm: Pack mtedesc into upper 32 bits of descriptor\n\nInstead of trying to pack mtedesc into the upper 17 bits of a 32-bit\ngvec descriptor, pass the gvec descriptor in the lower 32 bits and\nthe mte descriptor in the upper 32 bits of a 64-bit operand.\n\nThis fixes two bugs:\n (1) in gen_sve_ldr() and gen_sve_str() call gen_mte_checkN() with a\n length value which is the SVE vector length and can be up to 256\n bytes. We don\u0027t assert there that it fits in the descriptor, so\n we would just fail to do the MTE checks on the right length of memory\n if the VL is more than 32 bytes\n\n (2) the new-in-SVE2p1 insns LD3Q, LD4Q, ST3Q, ST4Q also involve\n transfers of more than 32 bytes of memory. In this case we would\n assert at translate time.\n\n(Note for potential backporting: this commit depends on the previous\n\"target/arm: Expand the descriptor for SME/SVE memory ops to i64\".)\n\nFixes: 7b1613a1020d2942 (\"target/arm: Enable FEAT_SME2p1 on -cpu max\")\nSigned-off-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\nReviewed-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nMessage-id: 20250723165458.3509150-3-peter.maydell@linaro.org\n[PMM: expand commit message to clarify that we are fixing bugs here]\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c4765e44893e338c98bd5d55e1511189e21f3d47",
      "old_mode": 33188,
      "old_path": "target/arm/internals.h",
      "new_id": "1b3d0244fd6eef839474034a0885e60a7f9a47d3",
      "new_mode": 33188,
      "new_path": "target/arm/internals.h"
    },
    {
      "type": "modify",
      "old_id": "0b55f13f8c5b975fa711cb4852270c632e500f24",
      "old_mode": 33188,
      "old_path": "target/arm/tcg/sme_helper.c",
      "new_id": "075360d8b8abf793f608c446ac4f7a5ebda5a2f6",
      "new_mode": 33188,
      "new_path": "target/arm/tcg/sme_helper.c"
    },
    {
      "type": "modify",
      "old_id": "9fc2c05879b9721d0d87f09a64823b90abb6cb5e",
      "old_mode": 33188,
      "old_path": "target/arm/tcg/sve_helper.c",
      "new_id": "d0fb4138d21f8ddf48ecba5eb39706d41858be64",
      "new_mode": 33188,
      "new_path": "target/arm/tcg/sve_helper.c"
    },
    {
      "type": "modify",
      "old_id": "849151826e2b5076c1a6c676b24823f281f80e19",
      "old_mode": 33188,
      "old_path": "target/arm/tcg/translate-sve.c",
      "new_id": "5cba7b87bdcea3f46d79219b064756f46789250b",
      "new_mode": 33188,
      "new_path": "target/arm/tcg/translate-sve.c"
    }
  ]
}
