)]}'
{
  "commit": "3d9683cf3bfb6d4e4605a153958dfca7e18b52f2",
  "tree": "41da7cef48d4c0fa9c0d42854d1d74c6090c8875",
  "parents": [
    "4d66623cfba0949b2f0d669bd2ae732124c99ded"
  ],
  "author": {
    "name": "Masahiro Yamada",
    "email": "yamada.masahiro@socionext.com",
    "time": "Mon Mar 18 18:08:12 2019 +0900"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu Mar 28 17:27:42 2019 +0100"
  },
  "message": "KVM: export \u003clinux/kvm_para.h\u003e and \u003casm/kvm_para.h\u003e iif KVM is supported\n\nI do not see any consistency about headers_install of \u003clinux/kvm_para.h\u003e\nand \u003casm/kvm_para.h\u003e.\n\nAccording to my analysis of Linux 5.1-rc1, there are 3 groups:\n\n [1] Both \u003clinux/kvm_para.h\u003e and \u003casm/kvm_para.h\u003e are exported\n\n    alpha, arm, hexagon, mips, powerpc, s390, sparc, x86\n\n [2] \u003casm/kvm_para.h\u003e is exported, but \u003clinux/kvm_para.h\u003e is not\n\n    arc, arm64, c6x, h8300, ia64, m68k, microblaze, nios2, openrisc,\n    parisc, sh, unicore32, xtensa\n\n [3] Neither \u003clinux/kvm_para.h\u003e nor \u003casm/kvm_para.h\u003e is exported\n\n    csky, nds32, riscv\n\nThis does not match to the actual KVM support. At least, [2] is\nhalf-baked.\n\nNor do arch maintainers look like they care about this. For example,\ncommit 0add53713b1c (\"microblaze: Add missing kvm_para.h to Kbuild\")\nexported \u003casm/kvm_para.h\u003e to user-space in order to fix an in-kernel\nbuild error.\n\nWe have two ways to make this consistent:\n\n [A] export both \u003clinux/kvm_para.h\u003e and \u003casm/kvm_para.h\u003e for all\n     architectures, irrespective of the KVM support\n\n [B] Match the header export of \u003clinux/kvm_para.h\u003e and \u003casm/kvm_para.h\u003e\n     to the KVM support\n\nMy first attempt was [A] because the code looks cleaner, but Paolo\nsuggested [B].\n\nSo, this commit goes with [B].\n\nFor most architectures, \u003casm/kvm_para.h\u003e was moved to the kernel-space.\nI changed include/uapi/linux/Kbuild so that it checks generated\nasm/kvm_para.h as well as check-in ones.\n\nAfter this commit, there will be two groups:\n\n [1] Both \u003clinux/kvm_para.h\u003e and \u003casm/kvm_para.h\u003e are exported\n\n    arm, arm64, mips, powerpc, s390, x86\n\n [2] Neither \u003clinux/kvm_para.h\u003e nor \u003casm/kvm_para.h\u003e is exported\n\n    alpha, arc, c6x, csky, h8300, hexagon, ia64, m68k, microblaze,\n    nds32, nios2, openrisc, parisc, riscv, sh, sparc, unicore32, xtensa\n\nSigned-off-by: Masahiro Yamada \u003cyamada.masahiro@socionext.com\u003e\nAcked-by: Cornelia Huck \u003ccohuck@redhat.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc0ab28baca14b5a2eb0aa0064255d023421612c",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/asm/Kbuild",
      "new_id": "70b783333965e875a7cb4f0a110327cea46cd663",
      "new_mode": 33188,
      "new_path": "arch/alpha/include/asm/Kbuild"
    },
    {
      "type": "delete",
      "old_id": "baacc4996d18e77e1b1e37b7a0ebcaf5f9a535e5",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/uapi/asm/kvm_para.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "b41f8881ecc811f2005b763958e779a42da15c36",
      "old_mode": 33188,
      "old_path": "arch/arc/include/asm/Kbuild",
      "new_id": "decc306a3b52c2b96c2e7af7108e7aa171c51c31",
      "new_mode": 33188,
      "new_path": "arch/arc/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/arc/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/arc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "23b4464c0995ab3ed1673f7aa36e16a3554e296a",
      "old_mode": 33188,
      "old_path": "arch/arm/include/uapi/asm/Kbuild",
      "new_id": "ce8573157774dc078e49a5a2d5ccecc3ad54986d",
      "new_mode": 33188,
      "new_path": "arch/arm/include/uapi/asm/Kbuild"
    },
    {
      "type": "delete",
      "old_id": "baacc4996d18e77e1b1e37b7a0ebcaf5f9a535e5",
      "old_mode": 33188,
      "old_path": "arch/arm/include/uapi/asm/kvm_para.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "63b4a170518220397d22ec86cf9911f470139b97",
      "old_mode": 33188,
      "old_path": "arch/c6x/include/asm/Kbuild",
      "new_id": "249c9f6f26dce7c2dd2a43f9a9f20bd0d29478f3",
      "new_mode": 33188,
      "new_path": "arch/c6x/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/c6x/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/c6x/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "3e7c8ecf151e13841d0c3e491f3927aa1586434c",
      "old_mode": 33188,
      "old_path": "arch/h8300/include/asm/Kbuild",
      "new_id": "e3dead402e5fbe94ebe53063968801c8f51360b5",
      "new_mode": 33188,
      "new_path": "arch/h8300/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/h8300/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/h8300/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "b25fd42aa0f47372162decdff321f3cca2e1a4d8",
      "old_mode": 33188,
      "old_path": "arch/hexagon/include/asm/Kbuild",
      "new_id": "d046e8ccdf786be5029237ad722d819de88d6124",
      "new_mode": 33188,
      "new_path": "arch/hexagon/include/asm/Kbuild"
    },
    {
      "type": "delete",
      "old_id": "baacc4996d18e77e1b1e37b7a0ebcaf5f9a535e5",
      "old_mode": 33188,
      "old_path": "arch/hexagon/include/uapi/asm/kvm_para.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "43e21fe3499c43451f2915ff1274afa76059f16b",
      "old_mode": 33188,
      "old_path": "arch/ia64/include/asm/Kbuild",
      "new_id": "11f191689c9e8445a77ede3555452fb8d008a3d7",
      "new_mode": 33188,
      "new_path": "arch/ia64/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "20018cb883a90981565284ac1d5d9df51c38e987",
      "old_mode": 33188,
      "old_path": "arch/ia64/include/uapi/asm/Kbuild",
      "new_id": "62a9522af51e6651f560e06f8d3c3e2602b63f20",
      "new_mode": 33188,
      "new_path": "arch/ia64/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "95f8f631c4df08aebc71b25d878fc29e0f89a1ba",
      "old_mode": 33188,
      "old_path": "arch/m68k/include/asm/Kbuild",
      "new_id": "2c359d9e80f63fe44468c29b7a48bb4033a9c31a",
      "new_mode": 33188,
      "new_path": "arch/m68k/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "8a7ad40be463656854310b85dbba06d5f9b8e189",
      "old_mode": 33188,
      "old_path": "arch/m68k/include/uapi/asm/Kbuild",
      "new_id": "7417847dc438e5ff6aff14f04094a1323d6b933f",
      "new_mode": 33188,
      "new_path": "arch/m68k/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "791cc8d54d0a9eff79b5264a74b507fc3233699c",
      "old_mode": 33188,
      "old_path": "arch/microblaze/include/asm/Kbuild",
      "new_id": "1a8285c3f693990c8a8f3f7d5d37d240b17c4a80",
      "new_mode": 33188,
      "new_path": "arch/microblaze/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "3ce84fbb2678f2194de4e81504494045a00915ed",
      "old_mode": 33188,
      "old_path": "arch/microblaze/include/uapi/asm/Kbuild",
      "new_id": "13f59631c576c6bcd4c50357269fa42c0525e62a",
      "new_mode": 33188,
      "new_path": "arch/microblaze/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "8fde4fa2c34f758df132e659eb69b4331c84172f",
      "old_mode": 33188,
      "old_path": "arch/nios2/include/asm/Kbuild",
      "new_id": "88a667d12aaa9cefafad5260f03e073fefeb1fed",
      "new_mode": 33188,
      "new_path": "arch/nios2/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/nios2/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/nios2/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "5a73e2956ac46953ac9e1cf2404c3d0996617602",
      "old_mode": 33188,
      "old_path": "arch/openrisc/include/asm/Kbuild",
      "new_id": "22aa97136c0195ae2b687c0793c42e43f22888ec",
      "new_mode": 33188,
      "new_path": "arch/openrisc/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/openrisc/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/openrisc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "6f49e77d82a2a48673356355e38a411794ff51bb",
      "old_mode": 33188,
      "old_path": "arch/parisc/include/asm/Kbuild",
      "new_id": "9bcd0c903dbbef2aee61ade11844c5091e4bfd0c",
      "new_mode": 33188,
      "new_path": "arch/parisc/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "22fdbd08cdc8551777459efe75c49bbfa1e3f95a",
      "old_mode": 33188,
      "old_path": "arch/parisc/include/uapi/asm/Kbuild",
      "new_id": "2bd5b392277c2cf5c4a52f3d0b7d9aaed7382f44",
      "new_mode": 33188,
      "new_path": "arch/parisc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "a6ef3fee5f85714f69e6692e563491960372ab75",
      "old_mode": 33188,
      "old_path": "arch/sh/include/asm/Kbuild",
      "new_id": "7bf2cb680d328462c4e621eae24005f1c9f35afc",
      "new_mode": 33188,
      "new_path": "arch/sh/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "ecfbd40924dd948f97985e65daa18216c123c424",
      "old_mode": 33188,
      "old_path": "arch/sh/include/uapi/asm/Kbuild",
      "new_id": "b8812c74c1dee1ec8dc80bac7ec4f80a4cc454a4",
      "new_mode": 33188,
      "new_path": "arch/sh/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "b82f64e28f55c12fc36f56897bcb5e80f44c9e2d",
      "old_mode": 33188,
      "old_path": "arch/sparc/include/asm/Kbuild",
      "new_id": "a22cfd5c0ee8665d96f40dcdfacd2c784a2fad62",
      "new_mode": 33188,
      "new_path": "arch/sparc/include/asm/Kbuild"
    },
    {
      "type": "delete",
      "old_id": "baacc4996d18e77e1b1e37b7a0ebcaf5f9a535e5",
      "old_mode": 33188,
      "old_path": "arch/sparc/include/uapi/asm/kvm_para.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1d1544b6ca74ce96e765c68cfa2f1a86a7ef7ac8",
      "old_mode": 33188,
      "old_path": "arch/unicore32/include/asm/Kbuild",
      "new_id": "d77d953c04c1cfbe039bf207fa4db8b362e65f22",
      "new_mode": 33188,
      "new_path": "arch/unicore32/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "755bb11323d8feb92d12349bf444f151cd8acc29",
      "old_mode": 33188,
      "old_path": "arch/unicore32/include/uapi/asm/Kbuild",
      "new_id": "1c72f04ff75da1a7f6918f00b14116a183a79313",
      "new_mode": 33188,
      "new_path": "arch/unicore32/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "42b6cb3d16f7b9666baf44daf0a63757786d729b",
      "old_mode": 33188,
      "old_path": "arch/xtensa/include/asm/Kbuild",
      "new_id": "3843198e03d4ba1b8772caeada4897d2cc1fbad1",
      "new_mode": 33188,
      "new_path": "arch/xtensa/include/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "8a7ad40be463656854310b85dbba06d5f9b8e189",
      "old_mode": 33188,
      "old_path": "arch/xtensa/include/uapi/asm/Kbuild",
      "new_id": "7417847dc438e5ff6aff14f04094a1323d6b933f",
      "new_mode": 33188,
      "new_path": "arch/xtensa/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "5f24b50c9e88eb72dd2a396d8af5dc193e6bd782",
      "old_mode": 33188,
      "old_path": "include/uapi/linux/Kbuild",
      "new_id": "059dc2bedaf6e895d30fab48c637e87471049920",
      "new_mode": 33188,
      "new_path": "include/uapi/linux/Kbuild"
    }
  ]
}
