)]}'
{
  "log": [
    {
      "commit": "d47510e295c0f82699192a61d715351cf00f65de",
      "tree": "77b842f1e1f04ac4650fc54e6a267747b30d2bd8",
      "parents": [
        "261874b0d5ebe2a5ccc544df7170d6559635e79a"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Jan 24 15:04:09 2013 -0700"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Jan 27 12:41:41 2013 +0200"
      },
      "message": "kvm: Obey read-only mappings in iommu\n\nWe\u0027ve been ignoring read-only mappings and programming everything\ninto the iommu as read-write.  Fix this to only include the write\naccess flag when read-only is not set.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "81c52c56e2b43589091ee29038bcf793d3f184ab",
      "tree": "763236629eb034e519db87d8568946883499a155",
      "parents": [
        "19bf7f8ac3f8131100027281c495dbbe00cd5ae0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Oct 16 20:10:59 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Oct 29 20:31:04 2012 -0200"
      },
      "message": "KVM: do not treat noslot pfn as a error pfn\n\nThis patch filters noslot pfn out from error pfns based on Marcelo comment:\nnoslot pfn is not a error pfn\n\nAfter this patch,\n- is_noslot_pfn indicates that the gfn is not in slot\n- is_error_pfn indicates that the gfn is in slot but the error is occurred\n  when translate the gfn to pfn\n- is_error_noslot_pfn indicates that the pfn either it is error pfns or it\n  is noslot pfn\nAnd is_invalid_pfn can be removed, it makes the code more clean\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d151f63f20133aef9dbda209faddebcddbfccf31",
      "tree": "c947a9f69b2cbeafdc5c994da1b5d12ec826b480",
      "parents": [
        "b6785def8368f9a69505797fcbd9f280d91b673e"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuah.khan@hp.com",
        "time": "Mon Oct 08 18:36:11 2012 -0600"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Oct 10 15:45:40 2012 -0300"
      },
      "message": "KVM: change kvm_assign_device() to print return value when iommu_attach_device() fails\n\nChange existing kernel error message to include return value from\niommu_attach_device() when it fails. This will help debug device\nassignment failures more effectively.\n\nSigned-off-by: Shuah Khan \u003cshuah.khan@hp.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "cb9aaa30b133574b646d9d4766ef08a843211393",
      "tree": "214d3b1dd115573d1aea11d2f4dafe525a1ac674",
      "parents": [
        "6cede2e6794be6b0649f62d3681e0c4aff5a9270"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:42:10 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:57 2012 +0300"
      },
      "message": "KVM: do not release the error pfn\n\nAfter commit a2766325cf9f9, the error pfn is replaced by the\nerror code, it need not be released anymore\n\n[ The patch has been compiling tested for powerpc ]\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "16b854c889673d988285719bc020543a730f9ac6",
      "tree": "03b85cb0aada8a8fa4fd538d9b0fddc5460df495",
      "parents": [
        "d89cc617b954aff4030fce178f7d86f59aaf713d"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Fri Aug 03 15:36:52 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 06 16:04:46 2012 +0300"
      },
      "message": "KVM: iommu: fix releasing unmapped page\n\nThere are two bugs:\n- the \u0027error page\u0027 is forgot to be released\n  [ it is unneeded after commit a2766325cf9f9, for backport, we\n    still do kvm_release_pfn_clean for the error pfn ]\n\n- guest pages are always released regardless of the unmapped page\n  (e,g, caused by hwpoison)\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "d566104853361cc377c61f70e41c1ad3d44b86c6",
      "tree": "6b77f5e4f299bfb0d6c3fa7b3768e7299539f8af",
      "parents": [
        "f340a51b7e41abbe92ae3a327c0020974a059f95"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Tue Jul 17 21:56:16 2012 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Jul 19 21:25:24 2012 -0300"
      },
      "message": "KVM: remove the unused parameter of gfn_to_pfn_memslot\n\nThe parameter, \u0027kvm\u0027, is not used in gfn_to_pfn_memslot, we can happily remove\nit\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "21a1416a1c945c5aeaeaf791b63c64926018eb77",
      "tree": "4a6ac6aae66648bba9de57902ec98dfa5ae9b98d",
      "parents": [
        "2225fd56049643c1a7d645c0ce9d499d43c7974e"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Apr 17 21:46:44 2012 -0600"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Thu Apr 19 00:04:18 2012 -0300"
      },
      "message": "KVM: lock slots_lock around device assignment\n\nAs pointed out by Jason Baron, when assigning a device to a guest\nwe first set the iommu domain pointer, which enables mapping\nand unmapping of memory slots to the iommu.  This leaves a window\nwhere this path is enabled, but we haven\u0027t synchronized the iommu\nmappings to the existing memory slots.  Thus a slot being removed\nat that point could send us down unexpected code paths removing\nnon-existent pinnings and iommu mappings.  Take the slots_lock\naround creating the iommu domain and initial mappings as well as\naround iommu teardown to avoid this race.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "32f6daad4651a748a58a3ab6da0611862175722f",
      "tree": "09e2643d6df18db1ab7655fcb53ab797e9ac69c1",
      "parents": [
        "f19a0c2c2e6add90b7d6a1b7595abebfe2e4c37a"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Wed Apr 11 09:51:49 2012 -0600"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Apr 11 22:55:25 2012 -0300"
      },
      "message": "KVM: unmap pages from the iommu when slots are removed\n\nWe\u0027ve been adding new mappings, but not destroying old mappings.\nThis can lead to a page leak as pages are pinned using\nget_user_pages, but only unpinned with put_page if they still\nexist in the memslots list on vm shutdown.  A memslot that is\ndestroyed while an iommu domain is enabled for the guest will\ntherefore result in an elevated page reference count that is\nnever cleared.\n\nAdditionally, without this fix, the iommu is only programmed\nwith the first translation for a gpa.  This can result in\npeer-to-peer errors if a mapping is destroyed and replaced by a\nnew mapping at the same gpa as the iommu will still be pointing\nto the original, pinned memory address.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "90ab5ee94171b3e28de6bb42ee30b527014e0be7",
      "tree": "fcf89889f6e881f2b231d3d20287c08174ce4b54",
      "parents": [
        "476bc0015bf09dad39d36a8b19f76f0c181d1ec9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 13 09:32:20 2012 +1030"
      },
      "message": "module_param: make bool parameters really bool (drivers \u0026 misc)\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nIt\u0027s time to remove the int/unsigned int option.  For this version\nit\u0027ll simply give a warning, but it\u0027ll break next kernel version.\n\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1c8106528aa6bf16b3f457de80df1cf7462a49a4",
      "tree": "4aed009c4a36195fd14c9f8d70fe2723a49583da",
      "parents": [
        "1a464cbb3d483f2f195b614cffa4aa1b910a0440",
        "f93ea733878733f3e98475bc3e2ccf789bebcfb8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 11:08:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 11:08:21 2012 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)\n  iommu/amd: Set IOTLB invalidation timeout\n  iommu/amd: Init stats for iommu\u003dpt\n  iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume\n  iommu/amd: Add invalidate-context call-back\n  iommu/amd: Add amd_iommu_device_info() function\n  iommu/amd: Adapt IOMMU driver to PCI register name changes\n  iommu/amd: Add invalid_ppr callback\n  iommu/amd: Implement notifiers for IOMMUv2\n  iommu/amd: Implement IO page-fault handler\n  iommu/amd: Add routines to bind/unbind a pasid\n  iommu/amd: Implement device aquisition code for IOMMUv2\n  iommu/amd: Add driver stub for AMD IOMMUv2 support\n  iommu/amd: Add stat counter for IOMMUv2 events\n  iommu/amd: Add device errata handling\n  iommu/amd: Add function to get IOMMUv2 domain for pdev\n  iommu/amd: Implement function to send PPR completions\n  iommu/amd: Implement functions to manage GCR3 table\n  iommu/amd: Implement IOMMUv2 TLB flushing routines\n  iommu/amd: Add support for IOMMUv2 domain mode\n  iommu/amd: Add amd_iommu_domain_direct_map function\n  ...\n"
    },
    {
      "commit": "be6ba0f0962a39091c52eb9167ddea201fe80716",
      "tree": "52e46aad8cce4857def4dc03fc75955677027054",
      "parents": [
        "be593d6286075801bba6d60fa466a39c24cc7616"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Thu Nov 24 17:39:18 2011 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Dec 27 11:17:37 2011 +0200"
      },
      "message": "KVM: introduce kvm_for_each_memslot macro\n\nIntroduce kvm_for_each_memslot to walk all valid memslot\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7d3002cc8c160dbda0e6ab9cd66dc6eb401b8b70",
      "tree": "453bad0319d12fc0a3fe6594b8e212615e7e2a70",
      "parents": [
        "5009065d38c95455bd2d27c2838313e3dd0c5bc7"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Nov 10 11:32:26 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Nov 10 11:40:37 2011 +0100"
      },
      "message": "iommu/core: split mapping to page sizes as supported by the hardware\n\nWhen mapping a memory region, split it to page sizes as supported\nby the iommu hardware. Always prefer bigger pages, when possible,\nin order to reduce the TLB pressure.\n\nThe logic to do that is now added to the IOMMU core, so neither the iommu\ndrivers themselves nor users of the IOMMU API have to duplicate it.\n\nThis allows a more lenient granularity of mappings; traditionally the\nIOMMU API took \u0027order\u0027 (of a page) as a mapping size, and directly let\nthe low level iommu drivers handle the mapping, but now that the IOMMU\ncore can split arbitrary memory regions into pages, we can remove this\nlimitation, so users don\u0027t have to split those regions by themselves.\n\nCurrently the supported page sizes are advertised once and they then\nremain static. That works well for OMAP and MSM but it would probably\nnot fly well with intel\u0027s hardware, where the page size capabilities\nseem to have the potential to be different between several DMA\nremapping devices.\n\nregister_iommu() currently sets a default pgsize behavior, so we can convert\nthe IOMMU drivers in subsequent patches. After all the drivers\nare converted, the temporary default settings will be removed.\n\nMainline users of the IOMMU API (kvm and omap-iovmm) are adopted\nto deal with bytes instead of page order.\n\nMany thanks to Joerg Roedel \u003cJoerg.Roedel@amd.com\u003e for significant review!\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: David Brown \u003cdavidb@codeaurora.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Joerg Roedel \u003cJoerg.Roedel@amd.com\u003e\nCc: Stepan Moskovchenko \u003cstepanm@codeaurora.org\u003e\nCc: KyongHo Cho \u003cpullip.cho@samsung.com\u003e\nCc: Hiroshi DOYU \u003chdoyu@nvidia.com\u003e\nCc: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nCc: kvm@vger.kernel.org\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "51441d434f621c5c74470b36579ae7c9fb5b7139",
      "tree": "f30e61665d0c5888f394e71fd93ff23a9de2f040",
      "parents": [
        "799fd8b23961f73fb7e7eeaee79f7ef0850e6c31"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Jul 27 21:25:05 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:13 2011 -0400"
      },
      "message": "kvm: iommu.c file requires the full module.h present.\n\nThis file has things like module_param_named() and MODULE_PARM_DESC()\nso it needs the full module.h header present.  Without it, you\u0027ll get:\n\n  CC      arch/x86/kvm/../../../virt/kvm/iommu.o\nvirt/kvm/iommu.c:37: error: expected ‘)’ before ‘bool’\nvirt/kvm/iommu.c:39: error: expected ‘)’ before string constant\nmake[3]: *** [arch/x86/kvm/../../../virt/kvm/iommu.o] Error 1\nmake[2]: *** [arch/x86/kvm] Error 2\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "799fd8b23961f73fb7e7eeaee79f7ef0850e6c31",
      "tree": "4034646ab5978ec64b4a7a4cb1375c923b9cd473",
      "parents": [
        "63c9744b9a53b8113b6d33ca361452b28f2ec391"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Jul 27 21:17:59 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:12 2011 -0400"
      },
      "message": "kvm: fix implicit use of stat.h header file\n\nThis was coming in via an implicit module.h (and its sub-includes)\nbefore, but we\u0027ll be cleaning that up shortly.  Call out the stat.h\ninclude requirement in advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "0cfdc724390fb9370f27bb9a133eadf69114dd21",
      "tree": "2abfb0112c46c837c6b42007eadfc389293b7710",
      "parents": [
        "b48aeab65e9fc4b0c9757c5fbc1d722544eb8786",
        "1abb4ba596a91a839f82e0c9c837b777d574e83d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:46:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 30 15:46:19 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)\n  iommu/core: Remove global iommu_ops and register_iommu\n  iommu/msm: Use bus_set_iommu instead of register_iommu\n  iommu/omap: Use bus_set_iommu instead of register_iommu\n  iommu/vt-d: Use bus_set_iommu instead of register_iommu\n  iommu/amd: Use bus_set_iommu instead of register_iommu\n  iommu/core: Use bus-\u003eiommu_ops in the iommu-api\n  iommu/core: Convert iommu_found to iommu_present\n  iommu/core: Add bus_type parameter to iommu_domain_alloc\n  Driver core: Add iommu_ops to bus_type\n  iommu/core: Define iommu_ops and register_iommu only with CONFIG_IOMMU_API\n  iommu/amd: Fix wrong shift direction\n  iommu/omap: always provide iommu debug code\n  iommu/core: let drivers know if an iommu fault handler isn\u0027t installed\n  iommu/core: export iommu_set_fault_handler()\n  iommu/omap: Fix build error with !IOMMU_SUPPORT\n  iommu/omap: Migrate to the generic fault report mechanism\n  iommu/core: Add fault reporting mechanism\n  iommu/core: Use PAGE_SIZE instead of hard-coded value\n  iommu/core: use the existing IS_ALIGNED macro\n  iommu/msm: -\u003eunmap() should return order of unmapped page\n  ...\n\nFixup trivial conflicts in drivers/iommu/Makefile: \"move omap iommu to\ndedicated iommu folder\" vs \"Rename the DMAR and INTR_REMAP config\noptions\" just happened to touch lines next to each other.\n"
    },
    {
      "commit": "a1b60c1cd913c5ccfb38c717ba0bd22622425fa7",
      "tree": "74e5c1e847262ba3c42fb3b0396a3e781c168b6e",
      "parents": [
        "905d66c1e5dc8149e111f04a32bb193f25da1d53"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 18:46:34 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:20 2011 +0200"
      },
      "message": "iommu/core: Convert iommu_found to iommu_present\n\nWith per-bus iommu_ops the iommu_found function needs to\nwork on a bus_type too. This patch adds a bus_type parameter\nto that function and converts all call-places.\nThe function is also renamed to iommu_present because the\nfunction now checks if an iommu is present for a given bus\nand does not check for a global iommu anymore.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "905d66c1e5dc8149e111f04a32bb193f25da1d53",
      "tree": "3b4d55034f1ca58a7956c88cb71f6af8cda2b697",
      "parents": [
        "ff21776d12ff7993a6b236b8273ef62777d25dfb"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Sep 06 16:03:26 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Oct 21 14:37:19 2011 +0200"
      },
      "message": "iommu/core: Add bus_type parameter to iommu_domain_alloc\n\nThis is necessary to store a pointer to the bus-specific\niommu_ops in the iommu-domain structure. It will be used\nlater to call into bus-specific iommu-ops.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "6777829cfe1c4ed78319ad40aaee60254222da76",
      "tree": "03e55538247c4b2fbdc837984922a0ac8753b253",
      "parents": [
        "9c9b1f24f2aa31a3cea94939edc551f68ebadc89"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jul 22 05:46:07 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Sep 23 09:05:44 2011 -0700"
      },
      "message": "pci: Add flag indicating device has been assigned by KVM\n\nDevice drivers that create and destroy SR-IOV virtual functions via\ncalls to pci_enable_sriov() and pci_disable_sriov can cause catastrophic\nfailures if they attempt to destroy VFs while they are assigned to\nguest virtual machines.  By adding a flag for use by the KVM module\nto indicate that a device is assigned a device driver can check that\nflag and avoid destroying VFs while they are assigned and avoid system\nfailures.\n\nCC: Ian Campbell \u003cijc@hellion.org.uk\u003e\nCC: Konrad Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "3f68b0318bbbd61bf08478ab99a149f0d9e5156e",
      "tree": "5caa009c012cee6b61de36f1aa643c9443684423",
      "parents": [
        "4f0226482d20f104e943ee9e6f1218b573953f63"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Thu Jul 14 13:27:03 2011 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Jul 24 11:50:42 2011 +0300"
      },
      "message": "KVM: IOMMU: Disable device assignment without interrupt remapping\n\nIOMMU interrupt remapping support provides a further layer of\nisolation for device assignment by preventing arbitrary interrupt\nblock DMA writes by a malicious guest from reaching the host.  By\ndefault, we should require that the platform provides interrupt\nremapping support, with an opt-in mechanism for existing behavior.\n\nBoth AMD IOMMU and Intel VT-d2 hardware support interrupt\nremapping, however we currently only have software support on\nthe Intel side.  Users wishing to re-enable device assignment\nwhen interrupt remapping is not supported on the platform can\nuse the \"allow_unsafe_assigned_interrupts\u003d1\" module option.\n\n[avi: break long lines]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "5689cc53fa9d09b5bf41b1b1a7c90bd6c112ab40",
      "tree": "1bfe4bdf8cbad3938e2cd8b76eac10c8023ba04d",
      "parents": [
        "828554136bbacae6e39fc31b9cd7e7c660ad7530"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jul 01 16:00:12 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Aug 02 06:39:44 2010 +0300"
      },
      "message": "KVM: Use u64 for frame data types\n\nFor 32bit machines where the physical address width is\nlarger than the virtual address width the frame number types\nin KVM may overflow. Fix this by changing them to u64.\n\n[sfr: fix build on 32-bit ppc]\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "95c87e2b4460a488ec7ce42f273893e410ab385a",
      "tree": "4b9375cfcdd0cbfafe15a094d39057848ac748c3",
      "parents": [
        "fef093bec0364ff5e6fd488cd81637f6bb3a2d0d"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Thu Jul 01 15:00:50 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:47:29 2010 +0300"
      },
      "message": "KVM: Fix IOMMU memslot reference warning\n\nThis patch fixes the following warning.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\ninclude/linux/kvm_host.h:259 invoked rcu_dereference_check() without\nprotection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\nno locks held by qemu-system-x86/29679.\n\nstack backtrace:\nPid: 29679, comm: qemu-system-x86 Not tainted 2.6.35-rc3+ #200\nCall Trace:\n [\u003cffffffff810a224e\u003e] lockdep_rcu_dereference+0xa8/0xb1\n [\u003cffffffffa018a06f\u003e] kvm_iommu_unmap_memslots+0xc9/0xde [kvm]\n [\u003cffffffffa018a0c4\u003e] kvm_iommu_unmap_guest+0x40/0x4e [kvm]\n [\u003cffffffffa018f772\u003e] kvm_arch_destroy_vm+0x1a/0x186 [kvm]\n [\u003cffffffffa01800d0\u003e] kvm_put_kvm+0x110/0x167 [kvm]\n [\u003cffffffffa0180ecc\u003e] kvm_vcpu_release+0x18/0x1c [kvm]\n [\u003cffffffff81156f5d\u003e] fput+0x22a/0x3a0\n [\u003cffffffff81152288\u003e] filp_close+0xb4/0xcd\n [\u003cffffffff8106599f\u003e] put_files_struct+0x1b7/0x36b\n [\u003cffffffff81065830\u003e] ? put_files_struct+0x48/0x36b\n [\u003cffffffff8131ee59\u003e] ? do_raw_spin_unlock+0x118/0x160\n [\u003cffffffff81065bc0\u003e] exit_files+0x6d/0x75\n [\u003cffffffff81068348\u003e] do_exit+0x47d/0xc60\n [\u003cffffffff8177e7b5\u003e] ? _raw_spin_unlock_irq+0x30/0x36\n [\u003cffffffff81068bfa\u003e] do_group_exit+0xcf/0x134\n [\u003cffffffff81080790\u003e] get_signal_to_deliver+0x732/0x81d\n [\u003cffffffff81095996\u003e] ? cpu_clock+0x4e/0x60\n [\u003cffffffff81002082\u003e] do_notify_resume+0x117/0xc43\n [\u003cffffffff810a2fa3\u003e] ? trace_hardirqs_on+0xd/0xf\n [\u003cffffffff81080d79\u003e] ? sys_rt_sigtimedwait+0x2b5/0x3bf\n [\u003cffffffff8177d9f2\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n [\u003cffffffff81003221\u003e] ? sysret_signal+0x5/0x3d\n [\u003cffffffff8100343b\u003e] int_signal+0x12/0x17\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "221d059d15f1c8bd070a63fd45cd8d2598af5f99",
      "tree": "d3f58d21aa9cd5a28a29f5187ae9f03bd4f9e089",
      "parents": [
        "9fb2d2b4ff292a01ae30da003d1dc097917b0988"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun May 23 18:37:00 2010 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Aug 01 10:35:51 2010 +0300"
      },
      "message": "KVM: Update Red Hat copyrights\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "05b782ab951a896d7da41775999821f692dc9e01",
      "tree": "72bec64a713b0f1c4f2acd2cc6722ce9dab3c297",
      "parents": [
        "69325a122580d3a7b26589e8efdd6663001c3297"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Wed May 26 21:36:33 2010 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 09 18:48:38 2010 +0300"
      },
      "message": "KVM: Fix order passed to iommu_unmap\n\nThis is obviously a left-over from the the old interface taking the\nsize. Apparently a mostly harmless issue with the current iommu_unmap\nimplementation.\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "98edb6ca4174f17a64890a02f44c211c8b44fb3c",
      "tree": "033bc5f7da410046d28dd1cefcd2d63cda33d25b",
      "parents": [
        "a8251096b427283c47e7d8f9568be6b388dd68ec",
        "8fbf065d625617bbbf6b72d5f78f84ad13c8b547"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 17:16:21 2010 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.35\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (269 commits)\n  KVM: x86: Add missing locking to arch specific vcpu ioctls\n  KVM: PPC: Add missing vcpu_load()/vcpu_put() in vcpu ioctls\n  KVM: MMU: Segregate shadow pages with different cr0.wp\n  KVM: x86: Check LMA bit before set_efer\n  KVM: Don\u0027t allow lmsw to clear cr0.pe\n  KVM: Add cpuid.txt file\n  KVM: x86: Tell the guest we\u0027ll warn it about tsc stability\n  x86, paravirt: don\u0027t compute pvclock adjustments if we trust the tsc\n  x86: KVM guest: Try using new kvm clock msrs\n  KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID\n  KVM: x86: add new KVMCLOCK cpuid feature\n  KVM: x86: change msr numbers for kvmclock\n  x86, paravirt: Add a global synchronization point for pvclock\n  x86, paravirt: Enable pvclock flags in vcpu_time_info structure\n  KVM: x86: Inject #GP with the right rip on efer writes\n  KVM: SVM: Don\u0027t allow nested guest to VMMCALL into host\n  KVM: x86: Fix exception reinjection forced to true\n  KVM: Fix wallclock version writing race\n  KVM: MMU: Don\u0027t read pdptrs with mmu spinlock held in mmu_alloc_roots\n  KVM: VMX: enable VMXON check with SMX enabled (Intel TXT)\n  ...\n"
    },
    {
      "commit": "90d83dc3d49f5101addae962ccc1b4aff66b68d8",
      "tree": "855aec81663eff4597ab276f13d449be9b798ec2",
      "parents": [
        "9beeaa2d689842f7760aa16c512e6bb8182d38b6"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Apr 19 17:41:23 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 17 12:18:01 2010 +0300"
      },
      "message": "KVM: use the correct RCU API for PROVE_RCU\u003dy\n\nThe RCU/SRCU API have already changed for proving RCU usage.\n\nI got the following dmesg when PROVE_RCU\u003dy because we used incorrect API.\nThis patch coverts rcu_deference() to srcu_dereference() or family API.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: suspicious rcu_dereference_check() usage. ]\n---------------------------------------------------\narch/x86/kvm/mmu.c:3020 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 0\n2 locks held by qemu-system-x86/8550:\n #0:  (\u0026kvm-\u003eslots_lock){+.+.+.}, at: [\u003cffffffffa011a6ac\u003e] kvm_set_memory_region+0x29/0x50 [kvm]\n #1:  (\u0026(\u0026kvm-\u003emmu_lock)-\u003erlock){+.+...}, at: [\u003cffffffffa012262d\u003e] kvm_arch_commit_memory_region+0xa6/0xe2 [kvm]\n\nstack backtrace:\nPid: 8550, comm: qemu-system-x86 Not tainted 2.6.34-rc4-tip-01028-g939eab1 #27\nCall Trace:\n [\u003cffffffff8106c59e\u003e] lockdep_rcu_dereference+0xaa/0xb3\n [\u003cffffffffa012f6c1\u003e] kvm_mmu_calculate_mmu_pages+0x44/0x7d [kvm]\n [\u003cffffffffa012263e\u003e] kvm_arch_commit_memory_region+0xb7/0xe2 [kvm]\n [\u003cffffffffa011a5d7\u003e] __kvm_set_memory_region+0x636/0x6e2 [kvm]\n [\u003cffffffffa011a6ba\u003e] kvm_set_memory_region+0x37/0x50 [kvm]\n [\u003cffffffffa015e956\u003e] vmx_set_tss_addr+0x46/0x5a [kvm_intel]\n [\u003cffffffffa0126592\u003e] kvm_arch_vm_ioctl+0x17a/0xcf8 [kvm]\n [\u003cffffffff810a8692\u003e] ? unlock_page+0x27/0x2c\n [\u003cffffffff810bf879\u003e] ? __do_fault+0x3a9/0x3e1\n [\u003cffffffffa011b12f\u003e] kvm_vm_ioctl+0x364/0x38d [kvm]\n [\u003cffffffff81060cfa\u003e] ? up_read+0x23/0x3d\n [\u003cffffffff810f3587\u003e] vfs_ioctl+0x32/0xa6\n [\u003cffffffff810f3b19\u003e] do_vfs_ioctl+0x495/0x4db\n [\u003cffffffff810e6b2f\u003e] ? fget_light+0xc2/0x241\n [\u003cffffffff810e416c\u003e] ? do_sys_open+0x104/0x116\n [\u003cffffffff81382d6d\u003e] ? retint_swapgs+0xe/0x13\n [\u003cffffffff810f3ba6\u003e] sys_ioctl+0x47/0x6a\n [\u003cffffffff810021db\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "fcd95807fb61e67d602610e7ff7129ed769e9fee",
      "tree": "19f83180b75184a5b711cc064f4d9c7d8d93713f",
      "parents": [
        "b146a1c9f7f1feeacf840fa1ba197a99593cea15"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Jan 11 16:38:18 2010 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sun Mar 07 18:01:11 2010 +0100"
      },
      "message": "kvm: Change kvm_iommu_map_pages to map large pages\n\nThis patch changes the implementation of of\nkvm_iommu_map_pages to map the pages with the host page size\ninto the io virtual address space.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nAcked-By: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "ab9f4ecbb6d39a18e300a0d10a4968c37404aa76",
      "tree": "1f7fba2feaeca2f6d643437167c7b9036c909c98",
      "parents": [
        "6d3e435e708fa32f99b780caf6c5508a606a513b"
      ],
      "author": {
        "name": "Zhai, Edwin",
        "email": "edwin.zhai@intel.com",
        "time": "Fri Jan 29 14:38:44 2010 +0800"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:36:06 2010 -0300"
      },
      "message": "KVM: enable PCI multiple-segments for pass-through device\n\nEnable optional parameter (default 0) - PCI segment (or domain) besides\nBDF, when assigning PCI device to guest.\n\nSigned-off-by: Zhai Edwin \u003cedwin.zhai@intel.com\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "bc6678a33d9b952981a8e44a4f876c3ad64ca4d8",
      "tree": "e26027179eb0d76f234509145a395dd6e5910074",
      "parents": [
        "3ad26d8139a82b0510b1e0435ee82ae461d33401"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:21 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:44 2010 -0300"
      },
      "message": "KVM: introduce kvm-\u003esrcu and convert kvm_set_memory_region to SRCU update\n\nUse two steps for memslot deletion: mark the slot invalid (which stops\ninstantiation of new shadow pages for that slot, but allows destruction),\nthen instantiate the new empty slot.\n\nAlso simplifies kvm_handle_hva locking.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "3ad26d8139a82b0510b1e0435ee82ae461d33401",
      "tree": "f97e5eabb216086a1faf9e6fe055533e12a08bdb",
      "parents": [
        "506f0d6f9c40ae7d9634acf3c26358810f42c24a"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:20 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:44 2010 -0300"
      },
      "message": "KVM: use gfn_to_pfn_memslot in kvm_iommu_map_pages\n\nSo its possible to iommu map a memslot before making it visible to\nkvm.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "46a26bf55714c1e2f17e34683292a389acb8e601",
      "tree": "3df70225ce6a076d7e4be604a5d72465383043ee",
      "parents": [
        "2044892d4a005a78796c92fd1aef4633be896698"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Dec 23 14:35:16 2009 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Mon Mar 01 12:35:43 2010 -0300"
      },
      "message": "KVM: modify memslots layout in struct kvm\n\nHave a pointer to an allocated region inside struct kvm.\n\n[alex: fix ppc book 3s]\n\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "522c68c4416de3cd3e11a9ff10d58e776a69ae1e",
      "tree": "62940e35988f5e2a52df10276882ec64518ee369",
      "parents": [
        "4b12f0de33a64dfc624b2480f55b674f7fa23ef2"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Mon Apr 27 20:35:43 2009 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 10 11:48:50 2009 +0300"
      },
      "message": "KVM: Enable snooping control for supported hardware\n\nMemory aliases with different memory type is a problem for guest. For the guest\nwithout assigned device, the memory type of guest memory would always been the\nsame as host(WB); but for the assigned device, some part of memory may be used\nas DMA and then set to uncacheable memory type(UC/WC), which would be a conflict of\nhost memory type then be a potential issue.\n\nSnooping control can guarantee the cache correctness of memory go through the\nDMA engine of VT-d.\n\n[avi: fix build on ia64]\n\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "682edb4c01e690c7c7cd772dbd6f4e0fd74dc572",
      "tree": "21e41d8f67f3fc81df9744e91350e76b1787ec3b",
      "parents": [
        "b682b814e3cc340f905c14dff87ce8bdba7c5eba"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Thu Feb 05 18:23:46 2009 +0000"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Feb 15 02:47:39 2009 +0200"
      },
      "message": "KVM: Fix assigned devices circular locking dependency\n\nkvm-\u003eslots_lock is outer to kvm-\u003elock, so take slots_lock\nin kvm_vm_ioctl_assign_device() before taking kvm-\u003elock,\nrather than taking it in kvm_iommu_map_memslots().\n\nCc: stable@kernel.org\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nAcked-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "7398ca79d227f7cd7f2ce23f08624e30081dcb4e",
      "tree": "17cf5890a12e25517462e27b86c375663df7341a",
      "parents": [
        "cdc7b83726297b43deed0455d8732163cc59802a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:37:53 2009 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:37:53 2009 +0100"
      },
      "message": "kvm/iommu: fix compile warning\n\nThis fixes a compile warning about a variable thats maybe used\nuninitialized in the function.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "19de40a8472fa64693eab844911eec277d489f6c",
      "tree": "502a8df560341ad715965ed39db33c720c657066",
      "parents": [
        "1aaf118352b85bb359ce28070bcc478f659a7031"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 14:43:34 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:07 2009 +0100"
      },
      "message": "KVM: change KVM to use IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c4fa3864281c7d88b7262cbc6cbd5c90bb59860e",
      "tree": "21209dceb4d978e24a009b848115d0d8bea0cbcc",
      "parents": [
        "b653574a7d14b663cc812cb20be6a114939ba186"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Nov 26 15:51:19 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:10:09 2009 +0100"
      },
      "message": "KVM: rename vtd.c to iommu.c\n\nImpact: file renamed\n\nThe code in the vtd.c file can be reused for other IOMMUs as well. So\nrename it to make it clear that it handle more than VT-d.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "b653574a7d14b663cc812cb20be6a114939ba186",
      "tree": "1fa1c833bacea5411e1c640180a00848552d7282",
      "parents": [
        "0a920356748df4fb06e86c21c23d2ed6d31d37ad"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Mon Dec 08 23:29:53 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:10:08 2009 +0100"
      },
      "message": "Deassign device in kvm_free_assgined_device\n\nIn kvm_iommu_unmap_memslots(), assigned_dev_head is already empty.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0a920356748df4fb06e86c21c23d2ed6d31d37ad",
      "tree": "545bf8591b48b8f33af3f03f50a536424853a259",
      "parents": [
        "260782bcfdaaa7850f29d6bb2ec6603019168c57"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Tue Dec 02 21:24:23 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:19 2009 +0100"
      },
      "message": "KVM: support device deassignment\n\nSupport device deassignment, it can be used in device hotplug.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "260782bcfdaaa7850f29d6bb2ec6603019168c57",
      "tree": "6f0b72f07ee04ad1210aca861dd4ee8c51846609",
      "parents": [
        "fe40f1e020d0923f5f35ca15f02a206c75a28053"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Tue Dec 02 21:03:39 2008 +0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:02:19 2009 +0100"
      },
      "message": "KVM: use the new intel iommu APIs\n\nintel iommu APIs are updated, use the new APIs.\n\nIn addition, change kvm_iommu_map_guest() to just create the domain, let kvm_iommu_assign_device() assign device.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "371c01b28e4049d1fbf60a9631cdad98f7cae030",
      "tree": "84286c5292b404923d8cf730e06d52a332468da6",
      "parents": [
        "83dbc83a0d7c88c919d769177bd1924a46c9c034"
      ],
      "author": {
        "name": "Zhang xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Thu Sep 11 13:19:32 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:32 2008 +0200"
      },
      "message": "KVM: Device Assignment: Move vtd.c from arch/x86/kvm/ to virt/kvm/\n\nPreparation for kvm/ia64 VT-d support.\n\nSigned-off-by: Zhang xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e5fcfc821a467bd0827635db8fd39ab1213987e5",
      "tree": "c0b4247f84dc8382bd1e5312aa49430499b16615",
      "parents": [
        "e48258009d941891fca35348986b8d280caf31cd"
      ],
      "author": {
        "name": "Weidong Han",
        "email": "weidong.han@intel.com",
        "time": "Thu Sep 25 23:32:02 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:29 2008 +0200"
      },
      "message": "KVM: Device Assignment: Map mmio pages into VT-d page table\n\nAssigned device could DMA to mmio pages, so also need to map mmio pages\ninto VT-d page table.\n\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "62c476c7c7f25a5b245b9902a935636e6316e58c",
      "tree": "6584591c7c345fcbb3c6d437203dc7f4a628573a",
      "parents": [
        "387179464257921eb9aa3d15cc3ff194f6945a7c"
      ],
      "author": {
        "name": "Ben-Ami Yassour",
        "email": "benami@il.ibm.com",
        "time": "Sun Sep 14 03:48:28 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Oct 15 14:25:04 2008 +0200"
      },
      "message": "KVM: Device Assignment with VT-d\n\nBased on a patch by: Kay, Allen M \u003callen.m.kay@intel.com\u003e\n\nThis patch enables PCI device assignment based on VT-d support.\nWhen a device is assigned to the guest, the guest memory is pinned and\nthe mapping is updated in the VT-d IOMMU.\n\n[Amit: Expose KVM_CAP_IOMMU so we can check if an IOMMU is present\nand also control enable/disable from userspace]\n\nSigned-off-by: Kay, Allen M \u003callen.m.kay@intel.com\u003e\nSigned-off-by: Weidong Han \u003cweidong.han@intel.com\u003e\nSigned-off-by: Ben-Ami Yassour \u003cbenami@il.ibm.com\u003e\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\n\nAcked-by: Mark Gross \u003cmgross@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ]
}
