)]}'
{
  "commit": "ae67f6b903e4b839c855fd802ffad354f73239bd",
  "tree": "a1409232ce2b683e247cb0f3f02d57f178f1d239",
  "parents": [
    "aea108d633538d0c6e47af87374b49d897ebc82f"
  ],
  "author": {
    "name": "Miguel Osorio",
    "email": "miguelosorio@google.com",
    "time": "Fri Oct 18 18:56:08 2019 -0700"
  },
  "committer": {
    "name": "Miguel Osorio",
    "email": "miguelaosoriol@gmail.com",
    "time": "Fri Oct 25 20:39:10 2019 -0700"
  },
  "message": "[sw] Move device code into sw/device folder\n\nThis change addresses issue #27. All device code is being moved to the\n`sw/device` folder. Makefiles and Meson build files had been updated to\nsupport the new directory structure.\n\nDocumentation, and top level and DV dependencies have been updated as\nwell.\n\nManual tests:\n\n* ci/run_sw_build.sh\n* ./meson_init.sh \u0026\u0026 ninja -C build-fpga \u0026\u0026 ninja -C build-verilator\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63f19a2c52fa54f2a4e57d78cd87c14b90cac6f4",
      "old_mode": 33261,
      "old_path": "ci/run_sw_build.sh",
      "new_id": "e94a36f9ee28bc2ee0bdd4f12d1d7ee6b1060ad2",
      "new_mode": 33261,
      "new_path": "ci/run_sw_build.sh"
    },
    {
      "type": "modify",
      "old_id": "83e13f37c09e2b1f77144fe5fea0a374ee1727b5",
      "old_mode": 33188,
      "old_path": "doc/ug/getting_started_fpga.md",
      "new_id": "c7562dd083e5f6d9130383add3d8644da8172b06",
      "new_mode": 33188,
      "new_path": "doc/ug/getting_started_fpga.md"
    },
    {
      "type": "modify",
      "old_id": "0d503af871cfe5136e9b1a76b6e9f45ec13f03ca",
      "old_mode": 33188,
      "old_path": "doc/ug/getting_started_verilator.md",
      "new_id": "1831e656180b7b3f6bb8e134f43f71dfb082eab5",
      "new_mode": 33188,
      "new_path": "doc/ug/getting_started_verilator.md"
    },
    {
      "type": "modify",
      "old_id": "cf47c7817529eef3c3fd0488d86cc2171b97b2ce",
      "old_mode": 33188,
      "old_path": "doc/ug/quickstart.md",
      "new_id": "90cdacd3a7f3f689914ed571cc8b31318e1bc8be",
      "new_mode": 33188,
      "new_path": "doc/ug/quickstart.md"
    },
    {
      "type": "modify",
      "old_id": "bed89c2587983bb5bf41f101099201f420ba4a72",
      "old_mode": 33188,
      "old_path": "hw/dv/tools/rules.mk",
      "new_id": "b6e6454d9ad47aad3080a9aedd093f9853db3348",
      "new_mode": 33188,
      "new_path": "hw/dv/tools/rules.mk"
    },
    {
      "type": "modify",
      "old_id": "fb166e8b67714d9f8ef076e579b0b9ac6352c80b",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/dv/Makefile",
      "new_id": "09f49fd0e19a26d5ed0ebcd471be23a16358dc72",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/dv/Makefile"
    },
    {
      "type": "modify",
      "old_id": "9864d413b4cbfb41b87a359b9b851cb20fa8f81d",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/top_earlgrey_artys7-50.core",
      "new_id": "64e1631471ef49b2afe7dbdedc36eca8aaac75fc",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/top_earlgrey_artys7-50.core"
    },
    {
      "type": "modify",
      "old_id": "f0e5ca69c43b1aeb33a8c71c72926d894dcf3c16",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/top_earlgrey_nexysvideo.core",
      "new_id": "2c6eb6c6d2958f9e7a87c5a4ed66932d6aa0fba1",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/top_earlgrey_nexysvideo.core"
    },
    {
      "type": "modify",
      "old_id": "edbc90701c39b5800e196b4c5e2e88f335ba1977",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/top_earlgrey_usb_nexysvideo.core",
      "new_id": "49aaff951d56190f4b6b4ba8ffb5ba91df89159c",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/top_earlgrey_usb_nexysvideo.core"
    },
    {
      "type": "modify",
      "old_id": "ef32c46632249c9c4d42d0efb1b664009a4dbca4",
      "old_mode": 33188,
      "old_path": "meson.build",
      "new_id": "1df4b005caebcc422b76614600c2cf08535bdb9e",
      "new_mode": 33188,
      "new_path": "meson.build"
    },
    {
      "type": "modify",
      "old_id": "57d0b3107198a25067d287432aa6d039a60c1fe9",
      "old_mode": 33188,
      "old_path": "sw/Makefile",
      "new_id": "1c553593db647619501a3a92b50930144a09922c",
      "new_mode": 33188,
      "new_path": "sw/Makefile"
    },
    {
      "type": "rename",
      "old_id": "4d8d3c643581333d601d45dd9024b8d755004a9a",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/README.md",
      "new_id": "4d8d3c643581333d601d45dd9024b8d755004a9a",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/README.md",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "369286c44b2e648c00ab3b9bed2ab5dfc8876818",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/srcs.mk",
      "new_id": "369286c44b2e648c00ab3b9bed2ab5dfc8876818",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0ef7e62b320053a0879d494aa8d97236f96471e6",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/top_earlgrey/core_portme.c",
      "new_id": "0ef7e62b320053a0879d494aa8d97236f96471e6",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/top_earlgrey/core_portme.c",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2ddaf8ff5367c7af892ca589044642fbcf01ce11",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/top_earlgrey/core_portme.h",
      "new_id": "caa9dc15c8265fc606daf9eba6a4f9887116fe99",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/top_earlgrey/core_portme.h",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "cd450219793944771b1f40afdd87b98d9682bee5",
      "old_mode": 33261,
      "old_path": "sw/benchmarks/coremark/top_earlgrey/core_portme.mak",
      "new_id": "cd450219793944771b1f40afdd87b98d9682bee5",
      "new_mode": 33261,
      "new_path": "sw/device/benchmarks/coremark/top_earlgrey/core_portme.mak",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "f88e493990ab7020a0f95aa21c47f5de2bd65827",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/top_earlgrey/cvt.c",
      "new_id": "f88e493990ab7020a0f95aa21c47f5de2bd65827",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/top_earlgrey/cvt.c",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "ba5fd18e289e05a10deadaa281e7a237af16e236",
      "old_mode": 33188,
      "old_path": "sw/benchmarks/coremark/top_earlgrey/ee_printf.c",
      "new_id": "ba5fd18e289e05a10deadaa281e7a237af16e236",
      "new_mode": 33188,
      "new_path": "sw/device/benchmarks/coremark/top_earlgrey/ee_printf.c",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "91cd2107178e448344ed55471f1cae83b1827af9",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/boot_rom.c",
      "new_id": "d0ac43fadeed5640fde913d948b1e890ddc60707",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/boot_rom.c",
      "score": 72
    },
    {
      "type": "rename",
      "old_id": "e56e748e14f3012b58b0e45baf889cb51b5999ca",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/bootstrap.c",
      "new_id": "e4f5f29f0f04f7d5772c1225d2470e2c31ccecd8",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/bootstrap.c",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "fd0b1bf4a5d7eb7ed7d474dd96c181bfc727f2ac",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/bootstrap.h",
      "new_id": "ace269217828cafbf68acb16b876c36034f97e2a",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/bootstrap.h",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "7ce2e5e35d5f64d66c98d3bea87b2c57f4416370",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/bootstrap_msgs.h",
      "new_id": "7ce2e5e35d5f64d66c98d3bea87b2c57f4416370",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/bootstrap_msgs.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "35c6fc48bd73aa12db6a0da6112e2fcd30a3238d",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/crt0.S",
      "new_id": "35c6fc48bd73aa12db6a0da6112e2fcd30a3238d",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/crt0.S",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9bdf160a341f42aae9599f044239801b4859f7c2",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/meson.build",
      "new_id": "9bdf160a341f42aae9599f044239801b4859f7c2",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "17191162bf0ce580c7f0ea66513e7b1377e9c79b",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/rom_link.ld",
      "new_id": "17191162bf0ce580c7f0ea66513e7b1377e9c79b",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/rom_link.ld",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "894f22f23ef985e984506233c4a25bfb6140c351",
      "old_mode": 33188,
      "old_path": "sw/boot_rom/srcs.mk",
      "new_id": "894f22f23ef985e984506233c4a25bfb6140c351",
      "new_mode": 33188,
      "new_path": "sw/device/boot_rom/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "2dbff9a6fe556eae19480aa5baad74d5c3b1e000",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_usbdev/hello_usbdev.c",
      "new_id": "24c1c0c48642b6635c954b5a3526e5896c773065",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_usbdev/hello_usbdev.c",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "748218173dd3369132adf1f0809c747f93e8ede9",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_usbdev/meson.build",
      "new_id": "748218173dd3369132adf1f0809c747f93e8ede9",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_usbdev/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "26811ac5705636b9d46ea6d6f63c25953a5572f8",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_usbdev/srcs.mk",
      "new_id": "26811ac5705636b9d46ea6d6f63c25953a5572f8",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_usbdev/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "8f44872aa101a30b6d4496d57dc579f503e2ef85",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_world/hello_world.c",
      "new_id": "a02158df464022a4241c9aaef8a806c3178fcca8",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_world/hello_world.c",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "646b1d4133c178838d7d99734163c3e4cc59de39",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_world/meson.build",
      "new_id": "646b1d4133c178838d7d99734163c3e4cc59de39",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_world/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4cf4756ee719fee56b8dae6355ea5fd31a9f68ab",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_world/srcs.mk",
      "new_id": "4cf4756ee719fee56b8dae6355ea5fd31a9f68ab",
      "new_mode": 33188,
      "new_path": "sw/device/examples/hello_world/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "fe95ea4176d928fd4cf43f74df7761b3acb8a7d4",
      "old_mode": 33188,
      "old_path": "sw/examples/meson.build",
      "new_id": "fe95ea4176d928fd4cf43f74df7761b3acb8a7d4",
      "new_mode": 33188,
      "new_path": "sw/device/examples/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e06889ff6c3f6598a9014d4eddb18bd689c8cb06",
      "old_mode": 33188,
      "old_path": "sw/exts/common/_crt.c",
      "new_id": "109a92d262e812041320a596814df2906d294e3c",
      "new_mode": 33188,
      "new_path": "sw/device/exts/common/_crt.c",
      "score": 88
    },
    {
      "type": "rename",
      "old_id": "803020a01e6c4af0217916e1bf74c54debd0dde4",
      "old_mode": 33188,
      "old_path": "sw/exts/common/link.ld",
      "new_id": "803020a01e6c4af0217916e1bf74c54debd0dde4",
      "new_mode": 33188,
      "new_path": "sw/device/exts/common/link.ld",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e50b681719a8a8c8194fe9b7fabeebb3ec5052ef",
      "old_mode": 33188,
      "old_path": "sw/exts/common/srcs.mk",
      "new_id": "a585a529401f7869622a86e6843b3eb7425792a2",
      "new_mode": 33188,
      "new_path": "sw/device/exts/common/srcs.mk",
      "score": 83
    },
    {
      "type": "rename",
      "old_id": "f7f28406af016a56973ddf7b9054d8203852578a",
      "old_mode": 33188,
      "old_path": "sw/lib/common.h",
      "new_id": "f7f28406af016a56973ddf7b9054d8203852578a",
      "new_mode": 33188,
      "new_path": "sw/device/lib/common.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "24e65594669390170759e0b202adc1aab37f280a",
      "old_mode": 33188,
      "old_path": "sw/lib/flash_ctrl.c",
      "new_id": "8d8f7a13d419d00e369ef5c5c5f90f8916a6db2b",
      "new_mode": 33188,
      "new_path": "sw/device/lib/flash_ctrl.c",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "d0ba0d953cd19ce5fc87ae7363c0abd24b4ce680",
      "old_mode": 33188,
      "old_path": "sw/lib/flash_ctrl.h",
      "new_id": "d0ba0d953cd19ce5fc87ae7363c0abd24b4ce680",
      "new_mode": 33188,
      "new_path": "sw/device/lib/flash_ctrl.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "aed22477620972117ff911d38e56bb9eb69caebe",
      "old_mode": 33188,
      "old_path": "sw/lib/gpio.c",
      "new_id": "a7ddf744e5eee92763e51d0b07e5c042ef479d58",
      "new_mode": 33188,
      "new_path": "sw/device/lib/gpio.c",
      "score": 92
    },
    {
      "type": "rename",
      "old_id": "850817c7d333b9c477974ec423ad030277e7a7a9",
      "old_mode": 33188,
      "old_path": "sw/lib/gpio.h",
      "new_id": "850817c7d333b9c477974ec423ad030277e7a7a9",
      "new_mode": 33188,
      "new_path": "sw/device/lib/gpio.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "f882750488e8eb62c6bad5527e5ba6040ddb8095",
      "old_mode": 33188,
      "old_path": "sw/lib/handler.c",
      "new_id": "b3444155b09ff5df18ca05b167bb2d02275cd644",
      "new_mode": 33188,
      "new_path": "sw/device/lib/handler.c",
      "score": 97
    },
    {
      "type": "rename",
      "old_id": "6af92d3e38652ec19e8a6e7e729f498507ee8fdc",
      "old_mode": 33188,
      "old_path": "sw/lib/handler.h",
      "new_id": "6af92d3e38652ec19e8a6e7e729f498507ee8fdc",
      "new_mode": 33188,
      "new_path": "sw/device/lib/handler.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "59d954fc3eca5e48f2d7b1b9579ff58a62ccef7a",
      "old_mode": 33188,
      "old_path": "sw/lib/hmac.c",
      "new_id": "bfad4415c4c6c5e38df59e15bb95d404e058e688",
      "new_mode": 33188,
      "new_path": "sw/device/lib/hmac.c",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "e683977802992666cb2154235291fd0019f54e1c",
      "old_mode": 33188,
      "old_path": "sw/lib/hmac.h",
      "new_id": "e683977802992666cb2154235291fd0019f54e1c",
      "new_mode": 33188,
      "new_path": "sw/device/lib/hmac.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "67731bd5c562d174530ed1214d1d9d020d331426",
      "old_mode": 33188,
      "old_path": "sw/lib/hw_sha256.c",
      "new_id": "af67cae1313423dbb1f0c00058104243a4816f0e",
      "new_mode": 33188,
      "new_path": "sw/device/lib/hw_sha256.c",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "36f0651397e8a03b109846a6d79829093dcb82e8",
      "old_mode": 33188,
      "old_path": "sw/lib/hw_sha256.h",
      "new_id": "36f0651397e8a03b109846a6d79829093dcb82e8",
      "new_mode": 33188,
      "new_path": "sw/device/lib/hw_sha256.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0ecf2dcdcbdadc9230a732141d1c60126e014287",
      "old_mode": 33188,
      "old_path": "sw/lib/irq.c",
      "new_id": "f57f5e729ece1359dce4301ab587c9713fbbf0bb",
      "new_mode": 33188,
      "new_path": "sw/device/lib/irq.c",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "a992889f35df3528605cfcea52e287aaad371be7",
      "old_mode": 33188,
      "old_path": "sw/lib/irq.h",
      "new_id": "a992889f35df3528605cfcea52e287aaad371be7",
      "new_mode": 33188,
      "new_path": "sw/device/lib/irq.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5d167465d9d49c8ecb6b73b940f218c76290924d",
      "old_mode": 33188,
      "old_path": "sw/lib/irq_vectors.S",
      "new_id": "5d167465d9d49c8ecb6b73b940f218c76290924d",
      "new_mode": 33188,
      "new_path": "sw/device/lib/irq_vectors.S",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "09e1436ef4f5e6fef75bb20ae44635bbc9fcf07c",
      "old_mode": 33188,
      "old_path": "sw/lib/meson.build",
      "new_id": "09e1436ef4f5e6fef75bb20ae44635bbc9fcf07c",
      "new_mode": 33188,
      "new_path": "sw/device/lib/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "98c7dd1679e02f2eaa20d2737a2b6fae780aa645",
      "old_mode": 33188,
      "old_path": "sw/lib/rv_timer.c",
      "new_id": "caa8f24c48a4570abb97fdf76b59b5e1e9c30828",
      "new_mode": 33188,
      "new_path": "sw/device/lib/rv_timer.c",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "0228d0a6e087545396afafabb14e3ba88cb32664",
      "old_mode": 33188,
      "old_path": "sw/lib/rv_timer.h",
      "new_id": "0228d0a6e087545396afafabb14e3ba88cb32664",
      "new_mode": 33188,
      "new_path": "sw/device/lib/rv_timer.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9e02f89bb1697ad7cd53af363e10bdbaca77dbe3",
      "old_mode": 33188,
      "old_path": "sw/lib/spi_device.c",
      "new_id": "04caa34ade544145b2e9685d2530eb91f3cdb763",
      "new_mode": 33188,
      "new_path": "sw/device/lib/spi_device.c",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "2bd12c992ed94d4c0e451370b86539de14365fd3",
      "old_mode": 33188,
      "old_path": "sw/lib/spi_device.h",
      "new_id": "2bd12c992ed94d4c0e451370b86539de14365fd3",
      "new_mode": 33188,
      "new_path": "sw/device/lib/spi_device.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "eada8f06cd546ee902fd977cb670fe504abd4e5b",
      "old_mode": 33188,
      "old_path": "sw/lib/srcs.mk",
      "new_id": "3431149047ff63accbb271855637a11b90a06529",
      "new_mode": 33188,
      "new_path": "sw/device/lib/srcs.mk",
      "score": 82
    },
    {
      "type": "rename",
      "old_id": "f3b10d13061e5a2d9985c64cd5de239bb5386f4d",
      "old_mode": 33188,
      "old_path": "sw/lib/uart.c",
      "new_id": "f184916f5b50a9a8d354d61e697c7eaa026ce1a0",
      "new_mode": 33188,
      "new_path": "sw/device/lib/uart.c",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "8a4383fcc9e2c4cc59ced505f212bc9dd514816f",
      "old_mode": 33188,
      "old_path": "sw/lib/uart.h",
      "new_id": "8a4383fcc9e2c4cc59ced505f212bc9dd514816f",
      "new_mode": 33188,
      "new_path": "sw/device/lib/uart.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5e2ebb744c48b9014c231e4acbea21c6237c41a9",
      "old_mode": 33188,
      "old_path": "sw/lib/usb_consts.h",
      "new_id": "5e2ebb744c48b9014c231e4acbea21c6237c41a9",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_consts.h",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "064b9b28ad8e135b72e5a0897d2e2845a0eeb62f",
      "old_mode": 33188,
      "old_path": "sw/lib/usb_controlep.c",
      "new_id": "5ff370a12767cf9e09a8e1d028d753cb8ec76b09",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_controlep.c",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "10460830ea88a15c651fa0bbc0f41955c989c612",
      "old_mode": 33188,
      "old_path": "sw/lib/usb_controlep.h",
      "new_id": "9e9e21811f1ebbab41e2a5e4b0ed1971f2860fd8",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_controlep.h",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "66da987a68e90ca8e25c40b82a35a94333583621",
      "old_mode": 33188,
      "old_path": "sw/lib/usb_simpleserial.c",
      "new_id": "46229b1bcb8ed011432b82f6681753f148ba0af5",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_simpleserial.c",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "c1cc51a96c261ed9f988c52aa3922b62dd4f2740",
      "old_mode": 33188,
      "old_path": "sw/lib/usb_simpleserial.h",
      "new_id": "dbb994ab25c0d3b7d4e2c0a41fd522f48c018e6c",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usb_simpleserial.h",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "1b9568807aa6423f26ccb53a17f1fd0001616252",
      "old_mode": 33188,
      "old_path": "sw/lib/usbdev.c",
      "new_id": "eb47297f2418474693b0721a340b906b84c10b64",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usbdev.c",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "f93784a13e6f599bccb03ab85aff26993ada624a",
      "old_mode": 33188,
      "old_path": "sw/lib/usbdev.h",
      "new_id": "4f769f120b2895e7005fb8839e44cc996017ca69",
      "new_mode": 33188,
      "new_path": "sw/device/lib/usbdev.h",
      "score": 99
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "052b2db6c1370ff7b8bf4611d045a37643ef1856",
      "new_mode": 33188,
      "new_path": "sw/device/meson.build"
    },
    {
      "type": "rename",
      "old_id": "391fd8a2204fb02678f783b45bb681c56ebc6e75",
      "old_mode": 33188,
      "old_path": "sw/tests/flash_ctrl/flash_test.c",
      "new_id": "db923812fb9db8e2a750b72a35af477483a10553",
      "new_mode": 33188,
      "new_path": "sw/device/tests/flash_ctrl/flash_test.c",
      "score": 97
    },
    {
      "type": "rename",
      "old_id": "01191bc94747d63c68d1af332757337d17b7673d",
      "old_mode": 33188,
      "old_path": "sw/tests/flash_ctrl/meson.build",
      "new_id": "01191bc94747d63c68d1af332757337d17b7673d",
      "new_mode": 33188,
      "new_path": "sw/device/tests/flash_ctrl/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c1be2b89a1370f32cfbb9eadfdc959997bfa8ec4",
      "old_mode": 33188,
      "old_path": "sw/tests/flash_ctrl/srcs.mk",
      "new_id": "c1be2b89a1370f32cfbb9eadfdc959997bfa8ec4",
      "new_mode": 33188,
      "new_path": "sw/device/tests/flash_ctrl/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "81f009b0adafe469e74a8784cd079be48dd3f35f",
      "old_mode": 33188,
      "old_path": "sw/tests/hmac/meson.build",
      "new_id": "81f009b0adafe469e74a8784cd079be48dd3f35f",
      "new_mode": 33188,
      "new_path": "sw/device/tests/hmac/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "58ec26329a791a78a25d7d6ce3de933f7d4caae8",
      "old_mode": 33188,
      "old_path": "sw/tests/hmac/sha256_test.c",
      "new_id": "8b5d7ea57586247167f6589dc985bba55a897a97",
      "new_mode": 33188,
      "new_path": "sw/device/tests/hmac/sha256_test.c",
      "score": 89
    },
    {
      "type": "rename",
      "old_id": "99f033512868f7735435025ae4c98b12872c6748",
      "old_mode": 33188,
      "old_path": "sw/tests/hmac/srcs.mk",
      "new_id": "99f033512868f7735435025ae4c98b12872c6748",
      "new_mode": 33188,
      "new_path": "sw/device/tests/hmac/srcs.mk",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "298c2cfaba4c3b42053d3d989aa1d84ff50f0652",
      "old_mode": 33188,
      "old_path": "sw/tests/meson.build",
      "new_id": "298c2cfaba4c3b42053d3d989aa1d84ff50f0652",
      "new_mode": 33188,
      "new_path": "sw/device/tests/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "74a85ed4e17d78f0b23b46b2bd07188242817676",
      "old_mode": 33188,
      "old_path": "sw/tests/rv_timer/meson.build",
      "new_id": "74a85ed4e17d78f0b23b46b2bd07188242817676",
      "new_mode": 33188,
      "new_path": "sw/device/tests/rv_timer/meson.build",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4be81422f88dff7aa18c50602e7da56436059926",
      "old_mode": 33188,
      "old_path": "sw/tests/rv_timer/rv_timer_test.c",
      "new_id": "76721f72a41dfccea6fa3396043a44c151f46eb3",
      "new_mode": 33188,
      "new_path": "sw/device/tests/rv_timer/rv_timer_test.c",
      "score": 86
    },
    {
      "type": "rename",
      "old_id": "fb7651c45254ccbf621939427672f3ef97354143",
      "old_mode": 33188,
      "old_path": "sw/tests/rv_timer/srcs.mk",
      "new_id": "fb7651c45254ccbf621939427672f3ef97354143",
      "new_mode": 33188,
      "new_path": "sw/device/tests/rv_timer/srcs.mk",
      "score": 100
    },
    {
      "type": "modify",
      "old_id": "c2f85665c23fa9349b53d2e3ed9dc735b32a9b76",
      "old_mode": 33188,
      "old_path": "sw/doc/sw_build_flow.md",
      "new_id": "5ff186bf909f80c62f001f439bed3c9d26a848c0",
      "new_mode": 33188,
      "new_path": "sw/doc/sw_build_flow.md"
    },
    {
      "type": "modify",
      "old_id": "97735fb3628dae28f7dbb04acbbb0824e0c5cbea",
      "old_mode": 33188,
      "old_path": "sw/examples/hello_world/README.md",
      "new_id": "d2e22c379d9fa393db068766963752ff408fb97e",
      "new_mode": 33188,
      "new_path": "sw/examples/hello_world/README.md"
    },
    {
      "type": "modify",
      "old_id": "b1aea5d353e5b58989ee68f3a7456eba23f5458f",
      "old_mode": 33188,
      "old_path": "sw/host/spiflash/README.md",
      "new_id": "e85c361a79a921e189923bcc939c1205641724b9",
      "new_mode": 33188,
      "new_path": "sw/host/spiflash/README.md"
    },
    {
      "type": "modify",
      "old_id": "9d70a8e001fd0b836612894f120e05d2cf014347",
      "old_mode": 33188,
      "old_path": "sw/meson.build",
      "new_id": "142c20fc5bde58b41eb519e18cf425750205840c",
      "new_mode": 33188,
      "new_path": "sw/meson.build"
    },
    {
      "type": "modify",
      "old_id": "18e1663fbc13c120ebfd2737948365fd2486fe16",
      "old_mode": 33188,
      "old_path": "sw/opts.mk",
      "new_id": "d0d21d839878ed80fa6e675e35d434409ca41a56",
      "new_mode": 33188,
      "new_path": "sw/opts.mk"
    },
    {
      "type": "modify",
      "old_id": "662208b7b14665116d2ed34a917c0d71a8aaa24f",
      "old_mode": 33188,
      "old_path": "sw/rules.mk",
      "new_id": "3c3e02912716727ef9cfaafa9fec9006ffbed8f2",
      "new_mode": 33188,
      "new_path": "sw/rules.mk"
    },
    {
      "type": "modify",
      "old_id": "ea8383cdfc887ccdc01bb763c9603e716989e201",
      "old_mode": 33188,
      "old_path": "test/systemtest/functional_fpga_test.py",
      "new_id": "507700a82228fac6e5cdf6e7c70c88746be318fa",
      "new_mode": 33188,
      "new_path": "test/systemtest/functional_fpga_test.py"
    },
    {
      "type": "modify",
      "old_id": "657091e55bc6124ab946c5d7c6913551850b7de5",
      "old_mode": 33188,
      "old_path": "test/systemtest/functional_verilator_test.py",
      "new_id": "27fb63cbde8e3bf1cd3360bda5a33db4499f95e7",
      "new_mode": 33188,
      "new_path": "test/systemtest/functional_verilator_test.py"
    },
    {
      "type": "modify",
      "old_id": "ae4f6c13532044a6be6eff12b713635f93ee4d63",
      "old_mode": 33188,
      "old_path": "test/systemtest/openocd_verilator_test.py",
      "new_id": "a66f2c5bc3450d282397ef895b4a72e0b2118592",
      "new_mode": 33188,
      "new_path": "test/systemtest/openocd_verilator_test.py"
    }
  ]
}
