)]}'
{
  "commit": "6acda830bbfb3b45c8b741ef89492623443a5ecf",
  "tree": "0811aaf969a6d6d7deba1e087ca7c89089005164",
  "parents": [
    "12b830472b53221da5645ed69725de3caf841edb"
  ],
  "author": {
    "name": "Sam Leffler",
    "email": "sleffler@google.com",
    "time": "Fri Mar 29 11:08:47 2024 -0700"
  },
  "committer": {
    "name": "Sam Leffler",
    "email": "sleffler@google.com",
    "time": "Fri Mar 29 11:08:47 2024 -0700"
  },
  "message": "elfloader: major overhaul to support non-seL4 images\n\nOverhaul the ELF loader support to handle loading ELF images unlike seL4\n(e.g. many ELF load segments, no capdl-loader) and cleanup some code.\nWith these changes CHERIoT firmware images load.\n\n- add support for loading multiple ELF load segments\n- handle a missing capdl-loader; e.g. when starting the SMC do not\n  post the boot message to the mailbox\n- improve loading unaligned ELF segments; still does not handle all cases\n  but it\u0027s unclear if they matter (will panic)\n- handle running out of space for ELF phdrs more gracefully\n- change SEL4State to have only one instance of \"offset\" \u0026 \"headers\"\n  to save memory, especially when we grow the \"headers\" array to handle\n  more complex ELF images\n- combine the FindFile, LoadElfHeaders, and LoadElf tasks into a\n  single LoadElf task; this better safeguards SEL4State that was shared\n  between the tasks and clobbered if the old tasks were mis-ordered\n- reduce the task array size after combining FindFile \u0026 co\n- add a Noop task for initializing/padding the task array\n- cleanup SEL4State handling; e.g. move calculations derived from the\n  ELF phdrs to immediately after the full set of headers are read;\n  this safeguards against clobbering shared state between task phases\n- change ELF segment log msgs to include the segment # and to only\n  log non-zero size segments (file-data, bss)\n- use the tar magic marker to identify EOF (when present)\n- remove a bunch of dead code\n- replace panic(\u003cline-number\u003e) by unreachable! calls since the line\n  numbers were (wrong and) unmtaintable\n- increase the tock app memory layout for the changes (we were right\n  on the edge)\n\nFix: 331955054\nChange-Id: Iecb00e5545c9cf5e603d49e3f2c7669ed36581e3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "57e2378074e44258328b7d67a336f5beaf38df69",
      "old_mode": 33188,
      "old_path": "app/layout_matcha.ld",
      "new_id": "906aaaab4271b0bfc562f407e0f3977f4b4d1303",
      "new_mode": 33188,
      "new_path": "app/layout_matcha.ld"
    },
    {
      "type": "modify",
      "old_id": "22ec75a857be4a6ea8e44e0ee96139db007aa1c9",
      "old_mode": 33188,
      "old_path": "capsules/src/elfloader_capsule.rs",
      "new_id": "af19523be0b903248b9dd44c623c92758d9f915c",
      "new_mode": 33188,
      "new_path": "capsules/src/elfloader_capsule.rs"
    }
  ]
}
