)]}'
{
  "commit": "c8d31ddcffe7dafe0e1110dc41fc4c1d96b800ff",
  "tree": "2134ad1f22eda11bc901006c73245790142433f3",
  "parents": [
    "8b63f94d8dec55d4a50bc2a1cfec4bd5f39b467f"
  ],
  "author": {
    "name": "Gaurav-Aggarwal-AWS",
    "email": "33462878+aggarg@users.noreply.github.com",
    "time": "Mon Nov 03 12:32:08 2025 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 03 12:32:08 2025 +0530"
  },
  "message": "Use saved mstatus for FPU/VPU state determination (#1330)\n\nAccording to the RISC-V Privileged Architecture Specification (20211203),\nwriting Initial or Clean to the FS field of mstatus may result in the FS\nvalue getting set to Dirty in some implementations. This means we cannot\nrely on reading back the same FS value after writing to mstatus.\n\nPreviously, the context restore code would:\n1. Write an FS value to mstatus\n2. Read mstatus again at a later point\n3. Use the read FS value to determine FPU status\n\nThis change updates the context restore code to use the mstatus value\nfrom the saved context instead of re-reading mstatus after writing to\nit. This required chaning the location of the mstatus slot in the\ncontext.\n\nFixes: https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/1327\n\nSigned-off-by: Gaurav Aggarwal \u003caggarg@amazon.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c10869eb4b1fbd258a11e6aaf5749bb43dfc98df",
      "old_mode": 33188,
      "old_path": "portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h",
      "new_id": "4d8a5fb537e759f9ea2dc2b3f1161c48cef4171e",
      "new_mode": 33188,
      "new_path": "portable/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM/freertos_risc_v_chip_specific_extensions.h"
    },
    {
      "type": "modify",
      "old_id": "3d1d058cd4846ee5bc9c164fb8a95fd643de7aef",
      "old_mode": 33188,
      "old_path": "portable/GCC/RISC-V/portASM.S",
      "new_id": "9d36d78f929e71d9a80eb36c0e14471e087e8c7b",
      "new_mode": 33188,
      "new_path": "portable/GCC/RISC-V/portASM.S"
    },
    {
      "type": "modify",
      "old_id": "95b84dd1affb32129ef9357581dc9ecb865755d0",
      "old_mode": 33188,
      "old_path": "portable/GCC/RISC-V/portContext.h",
      "new_id": "012965c29dd9d07d5fa7e12737fd2b1df57b045a",
      "new_mode": 33188,
      "new_path": "portable/GCC/RISC-V/portContext.h"
    }
  ]
}
