)]}'
{
  "commit": "bb296af88dcd1dd24c394a3f13dcd1854925d80c",
  "tree": "f42fee288cc62b7564acb20f786328822b62d94f",
  "parents": [
    "0c5afc4fe3f597752afa65474a5ac7fd2fa6cdf8"
  ],
  "author": {
    "name": "Per Larsen",
    "email": "perlarsen@google.com",
    "time": "Wed Jan 21 21:16:56 2026 +0000"
  },
  "committer": {
    "name": "Per Larsen (xWF)",
    "email": "perlarsen@google.com",
    "time": "Thu Apr 02 17:37:06 2026 -0700"
  },
  "message": "trusty: Add pKVM dma-buf heap module\n\nThis patch introduces a standalone pKVM dma-buf heap module,\nserving as an example of how to use pKVM vendor hypercalls to\nprotect/unprotect at stage-2.\n\nThe module consists of:\n* EL1 driver: a modified system heap that issues pKVM vendor hypercalls\n  to protect pages upon allocation and unprotect them upon release. It\n  also exposes a device which is used to enable custom SMC forwarding.\n* EL2 module: handles stage-2 permission transitions and implements an\n  SMC handler for guests to accept protected buffers.\n* Build integration: adds bazel build rules (ddk_module, ddk_library)\n  integrating the module into main-kernel-build-2025,\n  main-kernel-build-2026, and mainline.\n\nNote that the pKVM module is not built for mainline kernels.\n\nBased on aosp/3876668 by qperret@\n\nBug: 481446462\nTest: tools/bazel run \\\n  -- common-modules/trusty/build/main-kernel-build-2025:trusty_aarch64_dist \\\n  --destdir out/trusty_aarch64_dist-2025\nTest: tools/bazel run \\\n  -- common-modules/trusty/build/main-kernel-build-2026:trusty_aarch64_dist \\\n  --destdir out/trusty_aarch64_dist-2026\nTest: tools/bazel run \\\n  -- common-modules/trusty/build/mainline:trusty_aarch64_dist \\\n  --destdir out/trusty_aarch64_dist-mainline\nChange-Id: I1e3076cc2d4875f8524b7ad9daebe8891d830391\nCo-developed-by: Quentin Perret \u003cqperret@google.com\u003e\nSigned-off-by: Per Larsen \u003cperlarsen@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bd2e6c623aa83441f809f6a0e06bd68c4ac067b",
      "old_mode": 33188,
      "old_path": "build/main-kernel-build-2025/BUILD.bazel",
      "new_id": "2a54c55a867bd00f84a130f5a2d5b3fd8940b404",
      "new_mode": 33188,
      "new_path": "build/main-kernel-build-2025/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "3bd2e6c623aa83441f809f6a0e06bd68c4ac067b",
      "old_mode": 33188,
      "old_path": "build/main-kernel-build-2026/BUILD.bazel",
      "new_id": "7570fda105e801ab85bef8a7e1e5d714347740fa",
      "new_mode": 33188,
      "new_path": "build/main-kernel-build-2026/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "8e25a3c9950275e955b07caeff78d1066a3aea8d",
      "old_mode": 33188,
      "old_path": "build/mainline/BUILD.bazel",
      "new_id": "e0559ff4050f800b65edc62705ce3e1deefa523e",
      "new_mode": 33188,
      "new_path": "build/mainline/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54f85ee8fbf28b1ed747de4675e4bfaba99c9a28",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/el1.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e1819c944245a7e891d5581e97bbb5385362714",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/hyp/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b7182234050a4de7806e8acf1e12458dcd61ca9",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/hyp/el2.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2268c61977e1344852d97e9cc4fdd98eb276d944",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/hyp/el2.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3bbead6cb04806abc70fb02bef434c3d8802664d",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/include/pkvm_dma_buf_heap.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35c8d9f2db6218e94597c8bea01fda64d11dbcf3",
      "new_mode": 33188,
      "new_path": "drivers/pkvm-dma-buf-heap/system_heap_modified.c"
    }
  ]
}
