)]}'
{
  "commit": "fcd5cdd5aeecf7eae91a402755c260bb64a0fe0f",
  "tree": "e5a61334c906df9657c03e6b391a599af65001f0",
  "parents": [
    "73d931e560059a87d76f528fafbb4270a98746bc"
  ],
  "author": {
    "name": "Dimitar Dimitrov",
    "email": "dimitar@dinux.eu",
    "time": "Fri Dec 08 20:39:10 2023 +0200"
  },
  "committer": {
    "name": "Dimitar Dimitrov",
    "email": "dimitar@dinux.eu",
    "time": "Thu Dec 28 09:09:13 2023 +0200"
  },
  "message": "sim: pru: Fix emulation of carry bit\n\nThe PRU architecture documentation [1] was used for the initial GNU\nsimulator implementation.  But recently [2] TI confirmed the carry\nbehaviour was wrongly documented.  In reality, the PRU carry behaves\nlike the carry in ARM processors.\n\nThis patch fixes simulator to align with latest recommendations from TI.\n\nThe new carry.s test was also validated to pass on real hardware -\na BeaglePlay board [3].  That test is a bit long because TI still\nhas not released official updates for the PRU documents.  And I wanted\nto ensure simulator handles all edge cases exactly as the real hardware\ndoes.\n\n[1] https://www.ti.com/lit/pdf/spruij2\n[2] https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1244359/sk-am64b-am64x-pru-assembler-how-works-this-bloody-carry\n[3] https://www.beagleboard.org/boards/beagleplay\n\nSigned-off-by: Dimitar Dimitrov \u003cdimitar@dinux.eu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fb2d04947de2492565d8301617cef22b715eda47",
      "old_mode": 33188,
      "old_path": "sim/pru/pru.isa",
      "new_id": "e88522b1256664d506d6278e1952669bf724ddba",
      "new_mode": 33188,
      "new_path": "sim/pru/pru.isa"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cff75d249b2f9cbf02b41a4cde45159e41c8dbb3",
      "new_mode": 33188,
      "new_path": "sim/testsuite/pru/carry.s"
    }
  ]
}
