)]}'
{
  "commit": "3193fae8973096e2034e8032363cb422c80fb122",
  "tree": "611b0bac769e1f7935a1ecbe8652cb55d13b7be5",
  "parents": [
    "42ca6d9a507a7811a45210e8c2f3166ccde31205"
  ],
  "author": {
    "name": "will-v-pi",
    "email": "108662275+will-v-pi@users.noreply.github.com",
    "time": "Thu May 21 12:38:59 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 21 12:38:59 2026 +0100"
  },
  "message": "Add PSRAM support (#2919)\n\nSupports enabling PSRAM by injecting a function that runs when restoring QMI CS1 settings\n\nThis will always run runtime_init_setup_psram function when hardware_psram is linked\n\nIf PICO_PSRAM_SIZE_BYTES and PICO_AUTO_DETECT_PSRAM_SIZE are both 0 or undefined, it will only initialise when flash_devinfo is already setup (eg with OTP)\n\nAlso setup to bus fault with too small PSRAM, add kitchen sink test for those bus faults, and don\u0027t trigger those bus faults in runtime_init_setup_psram\n\n* Add psram_check_address to check if psram variable can be used\n\nAlso fix no_flash binaries, and the tiny_psram test\n\n* Add psram_or_malloc and psram_or_free\n\nThese will either statically allocate in psram, or malloc if the static allocation is not in available psram. Sections are sorted, so the group can be used to set priority.\n\n* Tweak check_board_header.py to also validate the PSRAM settings (#2924)\n\n* Fix low power compilation issue with clang\n\nClang was trying to place persistent_data in PSRAM at the relevant address (eg 0x200xxxxx), and then complaining that it overflowed\n\nFix is to add `\u003e XXX` to the end, to explicitly put it in RAM/XIP_RAM\n\n* Allow PICO_CONFIG type\u003dlist\n\nCopied from extract_cmake_configs.py\n\n* Fix tlsX_not_needed_marker into RAM\n\nWithout this, tlsX_not_needed_marker gets placed in PSRAM for some reason, which then doesn\u0027t fit if PSRAM_SIZE_BYTES is 0\n---------\n\nCo-authored-by: Andrew Scheller \u003candrew.scheller@raspberrypi.com\u003e\nCo-authored-by: graham sanderson \u003cgraham.sanderson@raspberrypi.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ebf1d0aed87de427044f2b6e3967704fce901164",
      "old_mode": 33188,
      "old_path": "docs/index.h",
      "new_id": "fe827992b5b52682028ff533a70792b054c8a0e0",
      "new_mode": 33188,
      "new_path": "docs/index.h"
    },
    {
      "type": "modify",
      "old_id": "08227df8aa6d8fa539298c599de9e8702f28fd74",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/adafruit_feather_rp2350.h",
      "new_id": "7ef3f49b54f875c5c80b7a4ad863968a5ade9cb7",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/adafruit_feather_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "d0f9086b42173122da72fff4ce995d17a459421b",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/adafruit_fruit_jam.h",
      "new_id": "0ff04a2d7669fb4d7fe2075327f140be48969c29",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/adafruit_fruit_jam.h"
    },
    {
      "type": "modify",
      "old_id": "ce18d615783c7f147c9d21cec61a212ed99fa91c",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/defcon32_badge.h",
      "new_id": "4d4f9d0c85d2c14e6c1af7d2b5793fdecade71cc",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/defcon32_badge.h"
    },
    {
      "type": "modify",
      "old_id": "7849444f587ff4c0f943cab3c868118bf4d866f7",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/pimoroni_pga2350.h",
      "new_id": "fb13c24ed94214c6aa19ac09e9e14123a95f0310",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/pimoroni_pga2350.h"
    },
    {
      "type": "modify",
      "old_id": "6cae74b1111054389c78203755362b3bbeca56d0",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/pimoroni_pico_plus2_rp2350.h",
      "new_id": "f3aacadfa46b2b0fc362db85df2dae8ed894a40d",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/pimoroni_pico_plus2_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "7f125aaa04c514b103c1fed3c22f54f0cfa0cf9d",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/pimoroni_pico_plus2_w_rp2350.h",
      "new_id": "d8a815635640144053559db4e70fb60d69b06de0",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/pimoroni_pico_plus2_w_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "e0e32978631af80405cf96cb76cc47887b32e369",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/sparkfun_iotnode_lorawan_rp2350.h",
      "new_id": "f410f0dc58328c0832e045cd30ab07b607312e27",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/sparkfun_iotnode_lorawan_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "0c1d425bc30edc34a6ae0d2bd2ada64678144362",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/sparkfun_iotredboard_rp2350.h",
      "new_id": "c9249bfa08df7aeb84e710eb8b2544927bee082b",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/sparkfun_iotredboard_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "d247e597b6d58f6c93f8276d533a8e881cebd23a",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/sparkfun_promicro_rp2350.h",
      "new_id": "993404518b682064a090c1a293cccf0a36fc9e71",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/sparkfun_promicro_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "3f0e39a46bfbd091fa8a471ca2153076a41327aa",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/sparkfun_thingplus_rp2350.h",
      "new_id": "6fa09e4adc20fcec7e897b53f9f4c6b7fb4df5af",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/sparkfun_thingplus_rp2350.h"
    },
    {
      "type": "modify",
      "old_id": "6b70995598e2be50800a76684f6d8fd3291856b0",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/sparkfun_xrp_controller.h",
      "new_id": "1030642b7f772e9478d1e23b407f5b6b19fe4879",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/sparkfun_xrp_controller.h"
    },
    {
      "type": "modify",
      "old_id": "5e05e24a5e217e6737f73d5c1d42067677849e8f",
      "old_mode": 33188,
      "old_path": "src/boards/include/boards/weact_studio_rp2350b_core.h",
      "new_id": "73d492dfb339d1f2ab6550d03f93956a9386d974",
      "new_mode": 33188,
      "new_path": "src/boards/include/boards/weact_studio_rp2350b_core.h"
    },
    {
      "type": "modify",
      "old_id": "f466433cbf27d1393192b49adc1c5942a8ccfcdd",
      "old_mode": 33188,
      "old_path": "src/cmake/rp2_common.cmake",
      "new_id": "243def67d7d407ad4bd152f1c5d527a9eadebdf4",
      "new_mode": 33188,
      "new_path": "src/cmake/rp2_common.cmake"
    },
    {
      "type": "modify",
      "old_id": "049e0b0991af94c01975d2c4384f5a2666e0dcae",
      "old_mode": 33188,
      "old_path": "src/rp2040/pico_platform/memmap_blocked_ram.ld",
      "new_id": "8ad9dbd67835427aed058f877c7ea254322c5e52",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/memmap_blocked_ram.ld"
    },
    {
      "type": "modify",
      "old_id": "330f17023774f0339fa078548a76880992881159",
      "old_mode": 33188,
      "old_path": "src/rp2040/pico_platform/memmap_copy_to_ram.ld",
      "new_id": "dfc053a5ae011aa3a84e96b3b83a483795f6a3ce",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/memmap_copy_to_ram.ld"
    },
    {
      "type": "modify",
      "old_id": "b02671ea76d75673f09b1844b9abe578d02571a4",
      "old_mode": 33188,
      "old_path": "src/rp2040/pico_platform/memmap_default.ld",
      "new_id": "3912267c5d8ea6a735ea116beac1036ea3f53d97",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/memmap_default.ld"
    },
    {
      "type": "modify",
      "old_id": "1ae20f2dedccfcfbb28f8e9ec3d0fbd56e0de4fb",
      "old_mode": 33188,
      "old_path": "src/rp2040/pico_platform/memmap_no_flash.ld",
      "new_id": "3e9109bcb67f3d853d7a357e50794d926b9e3d0a",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/memmap_no_flash.ld"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7613c5e1553b09b42cd165293f18b0bc19f63dee",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/script_include/memory_psram.incl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7613c5e1553b09b42cd165293f18b0bc19f63dee",
      "new_mode": 33188,
      "new_path": "src/rp2040/pico_platform/script_include/sections_psram.incl"
    },
    {
      "type": "modify",
      "old_id": "ee1bce466553067364468a9042784173f5b76748",
      "old_mode": 33188,
      "old_path": "src/rp2350/boot_stage2/boot_stage2.ld",
      "new_id": "ad34a7265c3d1383e45eb1ba92ef5c636e0a87a8",
      "new_mode": 33188,
      "new_path": "src/rp2350/boot_stage2/boot_stage2.ld"
    },
    {
      "type": "modify",
      "old_id": "4efa080e5d9d20f8131fdec03ba8fd727b8c2361",
      "old_mode": 33188,
      "old_path": "src/rp2350/pico_platform/BUILD.bazel",
      "new_id": "67054882b7d5bd6bcd9dba759e84973e73de782a",
      "new_mode": 33188,
      "new_path": "src/rp2350/pico_platform/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b9437c80e44be0eb6ae0b42aff015dff4cb97e5d",
      "old_mode": 33188,
      "old_path": "src/rp2350/pico_platform/memmap_copy_to_ram.ld",
      "new_id": "b2f32553a7c7a4107eefb1c253f9a0c71721b9c2",
      "new_mode": 33188,
      "new_path": "src/rp2350/pico_platform/memmap_copy_to_ram.ld"
    },
    {
      "type": "modify",
      "old_id": "badeb4630d9f5eae253d11626ad5b4f16e5b40f4",
      "old_mode": 33188,
      "old_path": "src/rp2350/pico_platform/memmap_default.ld",
      "new_id": "b63a1ae7fcdb535a7e874224c32f180e94c17932",
      "new_mode": 33188,
      "new_path": "src/rp2350/pico_platform/memmap_default.ld"
    },
    {
      "type": "modify",
      "old_id": "55e4d085aadc62976918c8eac1967b9d962325d4",
      "old_mode": 33188,
      "old_path": "src/rp2350/pico_platform/memmap_no_flash.ld",
      "new_id": "b2517800c5542c7fd01d67a7b9ea6c9fe7ce4cb2",
      "new_mode": 33188,
      "new_path": "src/rp2350/pico_platform/memmap_no_flash.ld"
    },
    {
      "type": "modify",
      "old_id": "7869d2aadaf1b3317215ae00708aac60de14c606",
      "old_mode": 33188,
      "old_path": "src/rp2350/rp2350a_interface_pins.json",
      "new_id": "1a75f607df98422c2a870a276f2b14bd3fa6939b",
      "new_mode": 33188,
      "new_path": "src/rp2350/rp2350a_interface_pins.json"
    },
    {
      "type": "modify",
      "old_id": "ee90ad27f7f8999587b040feb9ebb615b6303a03",
      "old_mode": 33188,
      "old_path": "src/rp2350/rp2350b_interface_pins.json",
      "new_id": "c8ed6bb855e849dd9a4a64790f504cc069acc8e5",
      "new_mode": 33188,
      "new_path": "src/rp2350/rp2350b_interface_pins.json"
    },
    {
      "type": "modify",
      "old_id": "fbca8de2c376b3f0df8ace6d33beb5f5ad7d0dc3",
      "old_mode": 33188,
      "old_path": "src/rp2_common/hardware_flash/flash.c",
      "new_id": "294e7be56f5a34b9e995677d91dbd5c71dfb4a1e",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_flash/flash.c"
    },
    {
      "type": "modify",
      "old_id": "c34feb48ee6ceb443fce3def8f8541ce51f0b7f5",
      "old_mode": 33188,
      "old_path": "src/rp2_common/hardware_flash/include/hardware/flash.h",
      "new_id": "0c5b27a6cb4cdf1aeb8abbe09f05ae6b609065d3",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_flash/include/hardware/flash.h"
    },
    {
      "type": "modify",
      "old_id": "8c8971e424f82eee4acbd64900af7327c35ff871",
      "old_mode": 33188,
      "old_path": "src/rp2_common/hardware_powman/BUILD.bazel",
      "new_id": "d08cc8a692396d4cbcee9787fbc15dd381810df6",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_powman/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b48306d0c32d917592de9f11a45b7cf4830d55c",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_psram/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "861f419ec51bd4e3b821ecdd9838c86d6c0a5591",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_psram/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "38dd2c9c8ca71d44f4005e386ebfbe91483a5e38",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_psram/include/hardware/psram.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0010a67d9882446268173b122b9055092b74f9cc",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_psram/psram.c"
    },
    {
      "type": "modify",
      "old_id": "129b82704dfa6387c1ef5b3a3597a35c65e688f4",
      "old_mode": 33188,
      "old_path": "src/rp2_common/hardware_sha256/BUILD.bazel",
      "new_id": "f56a7085c132d90d50c4595a53c673667543752d",
      "new_mode": 33188,
      "new_path": "src/rp2_common/hardware_sha256/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "591e9e3b2330122f6547e4ff38d6288daba28d28",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_platform_sections/include/pico/platform/sections.h",
      "new_id": "fdafb66e86476f17dfad2d072d7f517f3a091bc7",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_platform_sections/include/pico/platform/sections.h"
    },
    {
      "type": "modify",
      "old_id": "4ebfdd42868a96e8afe90d4e1d5fc50fcb58234e",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/BUILD.bazel",
      "new_id": "ae0c26dde7b1b24af73761f000527e8088f4cf6a",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f4cf41ba33589d1a9317fc34aab2f143eaef89d7",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/CMakeLists.txt",
      "new_id": "5c53505cbed4d244483a13c252e340334b05590b",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8fde1d27c268f0eed193fc28fa7a2d483d916f69",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/pico_psram_region.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "45697f7466f5d7f6eff81046df86a3f2fe547cb7",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/pico_psram_region.template.ld"
    },
    {
      "type": "modify",
      "old_id": "5d05531f59b28206285101b66bea611ef1c5d23a",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/memmap_copy_to_ram.incl",
      "new_id": "1bf95c867c3525f4bbe29f217caf1610e29c437b",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memmap_copy_to_ram.incl"
    },
    {
      "type": "modify",
      "old_id": "27d50deeee4902679b4cbdb3271d796f4db092a8",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/memmap_default.incl",
      "new_id": "d8e856b3b2abaf9c14d1bedee38b96eba35e52a5",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memmap_default.incl"
    },
    {
      "type": "modify",
      "old_id": "8c9cf4ba273fc76e00a420c3377a85740cf38ed1",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/memmap_no_flash.incl",
      "new_id": "264bf4e63712c2e30075443838e9bed7b498a5b6",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memmap_no_flash.incl"
    },
    {
      "type": "modify",
      "old_id": "200d878bb524250350f51f0339d495319f12eb5b",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/memory_aliases_flash.incl",
      "new_id": "06492d217b629bce2f9ba5bdd704fb3c34ddeebb",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memory_aliases_flash.incl"
    },
    {
      "type": "modify",
      "old_id": "2d48e870f1ff514beb19b2484f5737785d6b8629",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/memory_aliases_no_flash.incl",
      "new_id": "d264f2309b86d373254aa03259dca63896747032",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memory_aliases_no_flash.incl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d177e89460b93c66d970f6e0c451213b306749ec",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/memory_psram.incl"
    },
    {
      "type": "modify",
      "old_id": "5f15fae4861b3b5569f5bcf01f58ad954e7bebab",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/section_tls.incl",
      "new_id": "be358ccd9efca96a8c7456f0ed0bf7fa21ba2867",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/section_tls.incl"
    },
    {
      "type": "modify",
      "old_id": "0c3c7d42ecdf39808936f8a2349df52bd2373e5e",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/sections_copy_to_ram.incl",
      "new_id": "c6e586b25d07a66d46f724b51c8cdb2c10f7055c",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/sections_copy_to_ram.incl"
    },
    {
      "type": "modify",
      "old_id": "4e07b3968318f61b72eb584c2b8dd749c5532351",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/sections_default.incl",
      "new_id": "8f15074f854d20d62ac4b0ff7dd834b61c89e357",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/sections_default.incl"
    },
    {
      "type": "modify",
      "old_id": "e9ba353df7a5d2fc023b0ba70dc1af97b4b88b40",
      "old_mode": 33188,
      "old_path": "src/rp2_common/pico_standard_link/script_include/sections_no_flash.incl",
      "new_id": "a7a467e36a66a855f0ebd8aae224872f79fd9f08",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/sections_no_flash.incl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f986a357ed7d363c706b90f9ce9eb3bb5641c25",
      "new_mode": 33188,
      "new_path": "src/rp2_common/pico_standard_link/script_include/sections_psram.incl"
    },
    {
      "type": "modify",
      "old_id": "de466574b121bc489462d60750e12e646dd4f53f",
      "old_mode": 33188,
      "old_path": "test/kitchen_sink/BUILD.bazel",
      "new_id": "189eef3be6b7af65d16328406f30213d86efa084",
      "new_mode": 33188,
      "new_path": "test/kitchen_sink/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "999d8ddbca63b0ba4704eb0ff9b4c97b4c37d8ab",
      "old_mode": 33188,
      "old_path": "test/kitchen_sink/CMakeLists.txt",
      "new_id": "a01304b996255c5dc5d13667b79c82ff18bae4eb",
      "new_mode": 33188,
      "new_path": "test/kitchen_sink/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "6cd96d0779be505b2a0fc70c48d75eba091cd882",
      "old_mode": 33188,
      "old_path": "test/kitchen_sink/kitchen_sink.c",
      "new_id": "a151a0b5ed7ea0a767cf3bce06fe7085c7133606",
      "new_mode": 33188,
      "new_path": "test/kitchen_sink/kitchen_sink.c"
    },
    {
      "type": "modify",
      "old_id": "45ffa41ef79e263c23a63200854380b123c10761",
      "old_mode": 33261,
      "old_path": "tools/bazel_build.py",
      "new_id": "cfe8137edc1b99e050f63388262a0b2cc5a7e8e3",
      "new_mode": 33261,
      "new_path": "tools/bazel_build.py"
    },
    {
      "type": "modify",
      "old_id": "817f3e2abf4db2cb3303439a00652258c430ecf7",
      "old_mode": 33261,
      "old_path": "tools/check_board_header.py",
      "new_id": "165d6deff1b7407868d47a68d0037d75456feb0f",
      "new_mode": 33261,
      "new_path": "tools/check_board_header.py"
    },
    {
      "type": "modify",
      "old_id": "b226d1188f4437b77f04ccc3a36ed2dd1a1bf9c2",
      "old_mode": 33261,
      "old_path": "tools/extract_configs.py",
      "new_id": "c123c64be3dee1e0d14fe7293fa11b350c46889f",
      "new_mode": 33261,
      "new_path": "tools/extract_configs.py"
    },
    {
      "type": "modify",
      "old_id": "807d45c13d7e3233585349b667bce94d5a18af18",
      "old_mode": 33261,
      "old_path": "tools/memmap_include_tree.py",
      "new_id": "6f090c2ae966e0fbed642381084efa3146ea87a1",
      "new_mode": 33261,
      "new_path": "tools/memmap_include_tree.py"
    }
  ]
}
