)]}'
{
  "commit": "d3bfdd613983eecf050994b4a1c2bfe5c2f50fae",
  "tree": "6ebc0f53611df980db7069fa77ed0f6438864f46",
  "parents": [
    "bfa89261e59df17dc365936fda026bcf85f606a9"
  ],
  "author": {
    "name": "Anthony Rocha",
    "email": "anthony.rocha@amd.com",
    "time": "Tue Jun 30 14:27:48 2026 -0700"
  },
  "committer": {
    "name": "Anthony Rocha",
    "email": "116300062+rusty1968@users.noreply.github.com",
    "time": "Thu Jul 16 06:42:47 2026 -0700"
  },
  "message": "ast10x0-hace: fix HACE KAT stack overflow (HardFault)\n\nThe HACE SHA-2/HMAC KAT test (hace_sha256_test) HardFaulted with an\nunaligned UsageFault (wild pointer 0x191818f6) at the sha256 stream-9000\ncase. Root cause: run_hace_sha2_kats builds a large single stack frame\nthat overflowed the pigweed-default 2 KiB kernel bootstrap stack into\nadjacent .bss (INPUT_BUF); the first case that writes that 4 KiB buffer\n(stream-9000) clobbered the live frame and corrupted a saved pointer.\nThe one-shot cases passed only because they never write INPUT_BUF.\n\nTwo parts:\n- hmac.rs: move the large HMAC working buffers (key, ipad, opad, and the\n  1 KiB msg) off the stack into a single .ram_nc static (HmacNcBufs), so\n  HaceHmacCtx is just a few scalars (~20 bytes). This removes the dominant\n  per-op stack pressure from the back-to-back HMAC cases. Remaining\n  copy_from_slice calls are also converted to zip-copies.\n- config.rs: raise KernelConfigInterface::KERNEL_STACK_SIZE_BYTES from the\n  2 KiB default to 16 KiB, giving the bootstrap/idle kernel stacks ample\n  headroom for the crypto KAT workloads. The AST10x0 has 768 KiB SRAM so\n  the extra RAM is negligible.\n\nhace_sha256_test and no_panics_test both pass.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d3ac1656ac42a0c3e066dcd3a69ea554b283fc20",
      "old_mode": 33188,
      "old_path": "target/ast10x0/config.rs",
      "new_id": "dd5a2a3b777c9a62988f80b114b6d6ab8462cba8",
      "new_mode": 33188,
      "new_path": "target/ast10x0/config.rs"
    },
    {
      "type": "modify",
      "old_id": "d82f6dec1c9d521b6fc24e1f65b44d775be7b3f9",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/hace/hmac.rs",
      "new_id": "473978c4db9049c2684f79b36844ba143ef94c46",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/hace/hmac.rs"
    }
  ]
}
