)]}'
{
  "commit": "a2932923ccf63c419c77aaa18ac09be98f2c94d8",
  "tree": "391d9fc64d93bac26b442d7f2211dc99dbd10e67",
  "parents": [
    "6b445ad4f839b06e68dd8e178e1168482ca20310"
  ],
  "author": {
    "name": "Paul Mackerras",
    "email": "paulus@samba.org",
    "time": "Mon Nov 19 22:57:20 2012 +0000"
  },
  "committer": {
    "name": "Alexander Graf",
    "email": "agraf@suse.de",
    "time": "Thu Dec 06 01:33:57 2012 +0100"
  },
  "message": "KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT\n\nA new ioctl, KVM_PPC_GET_HTAB_FD, returns a file descriptor.  Reads on\nthis fd return the contents of the HPT (hashed page table), writes\ncreate and/or remove entries in the HPT.  There is a new capability,\nKVM_CAP_PPC_HTAB_FD, to indicate the presence of the ioctl.  The ioctl\ntakes an argument structure with the index of the first HPT entry to\nread out and a set of flags.  The flags indicate whether the user is\nintending to read or write the HPT, and whether to return all entries\nor only the \"bolted\" entries (those with the bolted bit, 0x10, set in\nthe first doubleword).\n\nThis is intended for use in implementing qemu\u0027s savevm/loadvm and for\nlive migration.  Therefore, on reads, the first pass returns information\nabout all HPTEs (or all bolted HPTEs).  When the first pass reaches the\nend of the HPT, it returns from the read.  Subsequent reads only return\ninformation about HPTEs that have changed since they were last read.\nA read that finds no changed HPTEs in the HPT following where the last\nread finished will return 0 bytes.\n\nThe format of the data provides a simple run-length compression of the\ninvalid entries.  Each block of data starts with a header that indicates\nthe index (position in the HPT, which is just an array), the number of\nvalid entries starting at that index (may be zero), and the number of\ninvalid entries following those valid entries.  The valid entries, 16\nbytes each, follow the header.  The invalid entries are not explicitly\nrepresented.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[agraf: fix documentation]\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6671fdc0afb1171920976b841da0f968a90f70cb",
      "old_mode": 33188,
      "old_path": "Documentation/virtual/kvm/api.txt",
      "new_id": "a5607c571cb340dafe00b6072e86ba6424c95f04",
      "new_mode": 33188,
      "new_path": "Documentation/virtual/kvm/api.txt"
    },
    {
      "type": "modify",
      "old_id": "b322e5bd6964772ba5ac583e0799cdb78f431eee",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/kvm_book3s_64.h",
      "new_id": "38bec1dc99281f682ddf13209c296be0a8da056b",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/kvm_book3s_64.h"
    },
    {
      "type": "modify",
      "old_id": "609cca3e942621a7380c79724cd6e72d2e6d9b5c",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/asm/kvm_ppc.h",
      "new_id": "1ca31e92ee75c2bdb62453ddbcf725a5e89fd318",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/asm/kvm_ppc.h"
    },
    {
      "type": "modify",
      "old_id": "b89ae4db45ced4523e101c18a5477c62c928fd0a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/uapi/asm/kvm.h",
      "new_id": "514883dd311e16d9130d8c3d2f63014406afecab",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/uapi/asm/kvm.h"
    },
    {
      "type": "modify",
      "old_id": "6ee6516a0bee9d6cc8048a971df7a54a702e5d65",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kvm/book3s_64_mmu_hv.c",
      "new_id": "0aa40734c8f690a85e97583b7a825c01bf447f07",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kvm/book3s_64_mmu_hv.c"
    },
    {
      "type": "modify",
      "old_id": "843eb754a1d593493d56fe5a61728d985ed9419a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kvm/book3s_hv.c",
      "new_id": "a4f59dbcd80041c310e7f2eb4785c596a42d108f",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kvm/book3s_hv.c"
    },
    {
      "type": "modify",
      "old_id": "d583ea15e151c0faa3a7091f953ea65dc644a67a",
      "old_mode": 33188,
      "old_path": "arch/powerpc/kvm/powerpc.c",
      "new_id": "70739a08956044b875d4c98cbbeec27d74643c75",
      "new_mode": 33188,
      "new_path": "arch/powerpc/kvm/powerpc.c"
    },
    {
      "type": "modify",
      "old_id": "494a84c37c3eee49b27e657c057096cd2b0ae88d",
      "old_mode": 33188,
      "old_path": "include/uapi/linux/kvm.h",
      "new_id": "e6e5d4b1370826328cee8771d523e2a1043c0889",
      "new_mode": 33188,
      "new_path": "include/uapi/linux/kvm.h"
    }
  ]
}
