)]}'
{
  "log": [
    {
      "commit": "2f333bcb4edd8daef99dabe4e7df8277af73cff1",
      "tree": "c984466e7756e0910bf470a094558b52bd10df33",
      "parents": [
        "9f81128591ca1e9907f2e7a7b195e33232167d60"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:37 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:27 2008 +0300"
      },
      "message": "KVM: MMU: hypercall based pte updates and TLB flushes\n\nHypercall based pte updates are faster than faults, and also allow use\nof the lazy MMU mode to batch operations.\n\nDon\u0027t report the feature if two dimensional paging is enabled.\n\n[avi:\n - one mmu_op hypercall instead of one per op\n - allow 64-bit gpa on hypercall\n - don\u0027t pass host errors (-ENOMEM) to guest]\n\n[akpm: warning fix on i386]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f81128591ca1e9907f2e7a7b195e33232167d60",
      "tree": "2abca5f4181f3bc0570bab60d85b473a595f1285",
      "parents": [
        "0cf1bfd2737f41e59f974a61eab11af206d2042a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 02 14:06:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:26 2008 +0300"
      },
      "message": "KVM: Provide unlocked version of emulator_write_phys()\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0cf1bfd2737f41e59f974a61eab11af206d2042a",
      "tree": "4edd67efa000f4cb94ef834daa21ac07c2016989",
      "parents": [
        "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:25 2008 +0300"
      },
      "message": "x86: KVM guest: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc",
      "tree": "dfa62426cf55dfb2fad66e924eab34e9840bff12",
      "parents": [
        "308b0f239e8d6754b8b903d279e5b5b987e257ac"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:24 2008 +0300"
      },
      "message": "KVM: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "308b0f239e8d6754b8b903d279e5b5b987e257ac",
      "tree": "7d5787dd227874b89d1e5935080aa903dc7f1875",
      "parents": [
        "e0f63cb9277b64850854aee301762beeeb463473"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Mar 13 10:22:26 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:23 2008 +0300"
      },
      "message": "KVM: Add reset support for in kernel PIT\n\nSeparate the reset part and prepare for reset support.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e0f63cb9277b64850854aee301762beeeb463473",
      "tree": "ae10bac92ee6cc1a658b479a311fac67ebd3524c",
      "parents": [
        "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Tue Mar 04 00:50:59 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:22 2008 +0300"
      },
      "message": "KVM: Add save/restore supporting of in kernel PIT\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a",
      "tree": "37a89d5c10869a9ada59df75b49d685708661434",
      "parents": [
        "4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Jan 28 05:10:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:21 2008 +0300"
      },
      "message": "KVM: In kernel PIT model\n\nThe patch moves the PIT model from userspace to kernel, and increases\nthe timer accuracy greatly.\n\n[marcelo: make last_injected_time per-guest]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-and-Acked-by: Alex Davis \u003calex14641@yahoo.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd",
      "tree": "d078b35ea7744f3dc3c2549ad5ef01073dd99e96",
      "parents": [
        "019960ae9933161c2809fa4ee608ba30d9639fd2"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Mar 05 09:33:44 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: Remove pointless desc_ptr #ifdef\n\nThe desc_struct changes left an unnecessary #ifdef; remove it.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "019960ae9933161c2809fa4ee608ba30d9639fd2",
      "tree": "c4ded864dfd339a2c64451220d0866eba854b63c",
      "parents": [
        "b8688d51bbe4872fbcec751e04369606082ac610"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Mar 04 10:44:51 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: VMX: Don\u0027t adjust tsc offset forward\n\nMost Intel hosts have a stable tsc, and playing with the offset only\nreduces accuracy.  By limiting tsc offset adjustment only to forward updates,\nwe effectively disable tsc offset adjustment on these hosts.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b8688d51bbe4872fbcec751e04369606082ac610",
      "tree": "a48191f442d49530265dc92e98fc4877d2e286f7",
      "parents": [
        "71c4dfafc0932d92cc99c7e839d25174b0ce10a1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Mar 03 12:59:56 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: replace remaining __FUNCTION__ occurances\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "71c4dfafc0932d92cc99c7e839d25174b0ce10a1",
      "tree": "991320ed3bce4cc2665721454c7f10a69fb98b1a",
      "parents": [
        "3e4bb3ac9e0ada5df5f6729648d403ea9f071d10"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Feb 26 16:49:16 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:27 2008 +0300"
      },
      "message": "KVM: detect if VCPU triple faults\n\nIn the current inject_page_fault path KVM only checks if there is another PF\npending and injects a DF then. But it has to check for a pending DF too to\ndetect a shutdown condition in the VCPU.  If this is not detected the VCPU goes\nto a PF -\u003e DF -\u003e PF loop when it should triple fault. This patch detects this\ncondition and handles it with an KVM_SHUTDOWN exit to userspace.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3e4bb3ac9e0ada5df5f6729648d403ea9f071d10",
      "tree": "3178508a16ef6455908d07be2135ae27c19a8c6c",
      "parents": [
        "2d3ad1f40c841bd3e97d30d423eea53915d085dc"
      ],
      "author": {
        "name": "Xiantao Zhang",
        "email": "xiantao.zhang@intel.com",
        "time": "Mon Feb 25 18:52:20 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:26 2008 +0300"
      },
      "message": "KVM: Use kzalloc to avoid allocating kvm_regs from kernel stack\n\nSince the size of kvm_regs is too big to allocate from kernel stack on ia64,\nuse kzalloc to allocate it.\n\nSigned-off-by: Xiantao Zhang \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2d3ad1f40c841bd3e97d30d423eea53915d085dc",
      "tree": "39f4a5a7814cc306d002366e1af922d32b7713c5",
      "parents": [
        "05da45583de9b383dc81dd695fe248431d6c9f2b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Feb 24 11:20:43 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:26 2008 +0300"
      },
      "message": "KVM: Prefix control register accessors with kvm_ to avoid namespace pollution\n\nNames like \u0027set_cr3()\u0027 look dangerously close to affecting the host.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "05da45583de9b383dc81dd695fe248431d6c9f2b",
      "tree": "a76d699e60aca4f775d5f67254214654235e2e17",
      "parents": [
        "2e53d63acba75795aa226febd140f67c58c6a353"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Feb 23 11:44:30 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: large page support\n\nCreate large pages mappings if the guest PTE\u0027s are marked as such and\nthe underlying memory is hugetlbfs backed.  If the largepage contains\nwrite-protected pages, a large pte is not used.\n\nGives a consistent 2% improvement for data copies on ram mounted\nfilesystem, without NPT/EPT.\n\nAnthony measures a 4% improvement on 4-way kernbench, with NPT.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e53d63acba75795aa226febd140f67c58c6a353",
      "tree": "be4ad4e5b28c737053af78a950d270a657e9f628",
      "parents": [
        "847f0ad8cbfa70c1af6948025836dfbd9ed6da1e"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Feb 20 14:47:24 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: ignore zapped root pagetables\n\nMark zapped root pagetables as invalid and ignore such pages during lookup.\n\nThis is a problem with the cr3-target feature, where a zapped root table fools\nthe faulting code into creating a read-only mapping. The result is a lockup\nif the instruction can\u0027t be emulated.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "847f0ad8cbfa70c1af6948025836dfbd9ed6da1e",
      "tree": "d3e1f91b460648189922cbb27b6a9571beb312cf",
      "parents": [
        "14af3f3c56103d8c3bb173c255ef5d89fb0c9350"
      ],
      "author": {
        "name": "Alexander Graf",
        "email": "alex@csgraf.de",
        "time": "Thu Feb 21 12:11:01 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: Implement dummy values for MSR_PERF_STATUS\n\nDarwin relies on this and ceases to work without.\n\nSigned-off-by: Alexander Graf \u003calex@csgraf.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "14af3f3c56103d8c3bb173c255ef5d89fb0c9350",
      "tree": "aee57781bbd073a123b8191ace0261f339dc06ee",
      "parents": [
        "4866d5e3d59c7831c7fa117c246a39165817db0d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:25:50 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: sparse fixes for kvm/x86.c\n\nIn two case statements, use the ever popular \u0027i\u0027 instead of index:\narch/x86/kvm/x86.c:1063:7: warning: symbol \u0027index\u0027 shadows an earlier one\narch/x86/kvm/x86.c:1000:9: originally declared here\narch/x86/kvm/x86.c:1079:7: warning: symbol \u0027index\u0027 shadows an earlier one\narch/x86/kvm/x86.c:1000:9: originally declared here\n\nMake it static.\narch/x86/kvm/x86.c:1945:24: warning: symbol \u0027emulate_ops\u0027 was not declared. Should it be static?\n\nDrop the return statements.\narch/x86/kvm/x86.c:2878:2: warning: returning void-valued expression\narch/x86/kvm/x86.c:2944:2: warning: returning void-valued expression\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4866d5e3d59c7831c7fa117c246a39165817db0d",
      "tree": "60210932670ba91014d8059a3ce3f3706f5a716c",
      "parents": [
        "77cd337f2246ae72915538383e8f5a6b7ffb363d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:32:02 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: SVM: make iopm_base static\n\nFixes sparse warning as well.\narch/x86/kvm/svm.c:69:15: warning: symbol \u0027iopm_base\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "77cd337f2246ae72915538383e8f5a6b7ffb363d",
      "tree": "c810a1dba3ca581854fb4c790d6c39270a3c4443",
      "parents": [
        "f11c3a8d84d7bf091bf963edd7104dd4ba6416c3"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 10:43:11 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix sparse warnings in x86_emulate.c\n\nNesting __emulate_2op_nobyte inside__emulate_2op produces many shadowed\nvariable warnings on the internal variable _tmp used by both macros.\n\nChange the outer macro to use __tmp.\n\nAvoids a sparse warning like the following at every call site of __emulate_2op\narch/x86/kvm/x86_emulate.c:1091:3: warning: symbol \u0027_tmp\u0027 shadows an earlier one\narch/x86/kvm/x86_emulate.c:1091:3: originally declared here\n[18 more warnings suppressed]\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f11c3a8d84d7bf091bf963edd7104dd4ba6416c3",
      "tree": "e297b6cee55b06c8ec40fe00998deef7cfe4a7ce",
      "parents": [
        "a5f61300c489e334ddf99781a13a7f8d4b580781"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Thu Feb 21 01:00:30 2008 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: Add stat counter for hypercalls\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a5f61300c489e334ddf99781a13a7f8d4b580781",
      "tree": "54d9587f08ddfc847aebfdff17cb4d6e9ec25ad7",
      "parents": [
        "ef2979bd98dac86ea6a4cd9bdd6820a466108017"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 17:57:21 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: Use x86\u0027s segment descriptor struct instead of private definition\n\nThe x86 desc_struct unification allows us to remove segment_descriptor.h.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ef2979bd98dac86ea6a4cd9bdd6820a466108017",
      "tree": "5c5fb4ab189cce45148c8d73086b39f88f486f36",
      "parents": [
        "a988b910ef816ed57e1cecbec14e98e906453f91"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 12:04:47 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Increase the number of user memory slots per vm\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a988b910ef816ed57e1cecbec14e98e906453f91",
      "tree": "ff76b7c516db08bb5adafd87d895f53356144d0d",
      "parents": [
        "edbe6c325da48e707a3b31310c5ff5783cf6c0be"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 11:59:20 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Add API for determining the number of supported memory slots\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "edbe6c325da48e707a3b31310c5ff5783cf6c0be",
      "tree": "397e11e558da67fc025e5ab7a6ff5d2628d94af1",
      "parents": [
        "f725230af9ea03f6cc6f4a90e87aa428df46ec19"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 11:56:51 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Increase vcpu count to 16\n\nWith NPT support, scalability is much improved.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f725230af9ea03f6cc6f4a90e87aa428df46ec19",
      "tree": "dcbeae15414805505a71b25c0ee989d698522ea4",
      "parents": [
        "7a95727567f0991751c2db774a110b4f8080de7f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Feb 20 11:53:16 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: Add API to retrieve the number of supported vcpus per vm\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7a95727567f0991751c2db774a110b4f8080de7f",
      "tree": "dc2cc8725cbc8cd8ed8d79bffc68a6e01ed99736",
      "parents": [
        "e4706772ea46e57cf69a7140c40063a21884c8e0"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 07:40:41 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:23 2008 +0300"
      },
      "message": "KVM: x86 emulator: make register_address_increment and JMP_REL static inlines\n\nChange jmp_rel() to a function as well.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e4706772ea46e57cf69a7140c40063a21884c8e0",
      "tree": "a8de3773d511d2b989c2e4c033dd4faaac3defa6",
      "parents": [
        "ddcb2885e2902ebfc422eccd763b02c5ee22d68b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Feb 19 07:40:38 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: x86 emulator: make register_address, address_mask static inlines\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ddcb2885e2902ebfc422eccd763b02c5ee22d68b",
      "tree": "22acf0af546e312713cfe9516e41fb51f27ba521",
      "parents": [
        "790c73f6289a204f858ffdcbe4a2b38e91657ec6"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Feb 18 11:12:48 2008 -0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: x86 emulator: add ad_mask static inline\n\nReplaces open-coded mask calculation in macros.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "790c73f6289a204f858ffdcbe4a2b38e91657ec6",
      "tree": "3d6b146538b11e45a713bb4fa1b44af4509ca27f",
      "parents": [
        "18068523d3a0b41fcee5b53cdb437a0ab4d65e4b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Feb 15 17:52:48 2008 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "x86: KVM guest: paravirtualized clocksource\n\nThis is the guest part of kvm clock implementation\nIt does not do tsc-only timing, as tsc can have deltas\nbetween cpus, and it did not seem worthy to me to keep\nadjusting them.\n\nWe do use it, however, for fine-grained adjustment.\n\nOther than that, time comes from the host.\n\n[randy dunlap: add missing include]\n[randy dunlap: disallow on Voyager or Visual WS]\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "18068523d3a0b41fcee5b53cdb437a0ab4d65e4b",
      "tree": "cbedbd4371cb57c34728137988a7433ae736d79a",
      "parents": [
        "24e09cbf480a72f9c952af4ca77b159503dca44b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Feb 15 17:52:47 2008 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: paravirtualized clocksource: host part\n\nThis is the host part of kvm clocksource implementation. As it does\nnot include clockevents, it is a fairly simple implementation. We\nonly have to register a per-vcpu area, and start writing to it periodically.\n\nThe area is binary compatible with xen, as we use the same shadow_info\nstructure.\n\n[marcelo: fix bad_page on MSR_KVM_SYSTEM_TIME]\n[avi: save full value of the msr, even if enable bit is clear]\n[avi: clear previous value of time_page]\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "24e09cbf480a72f9c952af4ca77b159503dca44b",
      "tree": "f1f321963c620d26172f8fd0878374d9598c0ad0",
      "parents": [
        "f65c229c3e7743c6654c16b9ec6248466b5eef21"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:47 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: enable LBR virtualization\n\nThis patch implements the Last Branch Record Virtualization (LBRV) feature of\nthe AMD Barcelona and Phenom processors into the kvm-amd module. It will only\nbe enabled if the guest enables last branch recording in the DEBUG_CTL MSR. So\nthere is no increased world switch overhead when the guest doesn\u0027t use these\nMSRs.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f65c229c3e7743c6654c16b9ec6248466b5eef21",
      "tree": "0326e1e3e7a407c8271d2ae5427c300e6e741a39",
      "parents": [
        "e6101a96c9efb74c98bba6322d4c5ea89e47e0fe"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:46 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: allocate the MSR permission map per VCPU\n\nThis patch changes the kvm-amd module to allocate the SVM MSR permission map\nper VCPU instead of a global map for all VCPUs. With this we have more\nflexibility allowing specific guests to access virtualized MSRs. This is\nrequired for LBR virtualization.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e6101a96c9efb74c98bba6322d4c5ea89e47e0fe",
      "tree": "904d422bed1443ec0dabf4d22b99bd73551d110d",
      "parents": [
        "2e11384c2c6f1ce662b1e5b05ba49b216a052f2a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Feb 13 18:58:45 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: let init_vmcb() take struct vcpu_svm as parameter\n\nChange the parameter of the init_vmcb() function in the kvm-amd module from\nstruct vmcb to struct vcpu_svm.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Markus Rechberger \u003cmarkus.rechberger@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e11384c2c6f1ce662b1e5b05ba49b216a052f2a",
      "tree": "694fecbf8caf6fc1618bfa0920cc5dc7e1c72c5b",
      "parents": [
        "709ddebf81cb40e3c36c6109a7892e8b93a09464"
      ],
      "author": {
        "name": "Ryan Harper",
        "email": "ryanh@us.ibm.com",
        "time": "Mon Feb 11 10:26:38 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: VMX: fix typo in VMX header define\n\nLooking at Intel Volume 3b, page 148, table 20-11 and noticed\nthat the field name is \u0027Deliver\u0027 not \u0027Deliever\u0027.  Attached patch changes\nthe define name and its user in vmx.c\n\nSigned-off-by: Ryan Harper \u003cryanh@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "709ddebf81cb40e3c36c6109a7892e8b93a09464",
      "tree": "e7b275fde77ed005c60182e093875c13656ec43a",
      "parents": [
        "fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:45 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:21 2008 +0300"
      },
      "message": "KVM: SVM: add support for Nested Paging\n\nThis patch contains the SVM architecture dependent changes for KVM to enable\nsupport for the Nested Paging feature of AMD Barcelona and Phenom processors.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00",
      "tree": "d24d0f67fde02b87263ebfe8c3bde2d0ff3d67e4",
      "parents": [
        "cc4b6871e771e76dc1de06adb8aed261a1c66be8"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:44 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: MMU: add TDP support to the KVM MMU\n\nThis patch contains the changes to the KVM MMU necessary for support of the\nNested Paging feature in AMD Barcelona and Phenom Processors.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cc4b6871e771e76dc1de06adb8aed261a1c66be8",
      "tree": "e64b3524153846180a2a481fe1e412d3cfc6d3fd",
      "parents": [
        "4d9976bbdc09e08b69fc12fee2042c3528187b32"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:43 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: export the load_pdptrs() function to modules\n\nThe load_pdptrs() function is required in the SVM module for NPT support.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4d9976bbdc09e08b69fc12fee2042c3528187b32",
      "tree": "908e6d3b59a3854d9a3db88b4d47817fee9b8517",
      "parents": [
        "1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:42 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: MMU: make the __nonpaging_map function generic\n\nThe mapping function for the nonpaging case in the softmmu does basically the\nsame as required for Nested Paging. Make this function generic so it can be\nused for both.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd",
      "tree": "2af29e610ce7c7196798cc5f580f7282f902df2a",
      "parents": [
        "6c7dac72d5c7dc0e09512dce865398167be9a8f7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:41 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: export information about NPT to generic x86 code\n\nThe generic x86 code has to know if the specific implementation uses Nested\nPaging. In the generic code Nested Paging is called Two Dimensional Paging\n(TDP) to avoid confusion with (future) TDP implementations of other vendors.\nThis patch exports the availability of TDP to the generic x86 code.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6c7dac72d5c7dc0e09512dce865398167be9a8f7",
      "tree": "2c10ebc4871ce0a688f139dbb4c6e81a45cc4286",
      "parents": [
        "e3da3acdb32c1804a5c853feebcc037b7434076f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:40 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: add module parameter to disable Nested Paging\n\nTo disable the use of the Nested Paging feature even if it is available in\nhardware this patch adds a module parameter. Nested Paging can be disabled by\npassing npt\u003d0 to the kvm_amd module.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e3da3acdb32c1804a5c853feebcc037b7434076f",
      "tree": "b0dec2b3e0abfbef09f3688397250048f6a0ebe2",
      "parents": [
        "33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:39 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: add detection of Nested Paging feature\n\nLet SVM detect if the Nested Paging feature is available on the hardware.\nDisable it to keep this patch series bisectable.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af",
      "tree": "3f7d915c6146d6e490da9577f0e5e3923b34510b",
      "parents": [
        "9457a712a2f464c4b21bb7f78998775c69673a0c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:38 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: SVM: move feature detection to hardware setup code\n\nBy moving the SVM feature detection from the each_cpu code to the hardware\nsetup code it runs only once. As an additional advance the feature check is now\navailable earlier in the module setup process.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9457a712a2f464c4b21bb7f78998775c69673a0c",
      "tree": "29297b37bb28b1a6255f75da6a5f745fcf3af589",
      "parents": [
        "9f62e19a1107466b9e9501e23a9dd5acb81fdca1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:40 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: allow access to EFER in 32bit KVM\n\nThis patch makes the EFER register accessible on a 32bit KVM host. This is\nnecessary to boot 32 bit PAE guests under SVM.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f62e19a1107466b9e9501e23a9dd5acb81fdca1",
      "tree": "bb99f0372f4ac48a1d341ce340a422abe0c4d9aa",
      "parents": [
        "50a37eb4e05efaa7bac6a948fd4db1a48c728b99"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:39 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: VMX: unifdef the EFER specific code\n\nTo allow access to the EFER register in 32bit KVM the EFER specific code has to\nbe exported to the x86 generic code. This patch does this in a backwards\ncompatible manner.\n\n[avi: add check for EFER-less hosts]\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "50a37eb4e05efaa7bac6a948fd4db1a48c728b99",
      "tree": "34195810be002db84cfafb9ed706d48bb6752d52",
      "parents": [
        "f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:38 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: align valid EFER bits with the features of the host system\n\nThis patch aligns the bits the guest can set in the EFER register with the\nfeatures in the host processor. Currently it lets EFER.NX disabled if the\nprocessor does not support it and enables EFER.LME and EFER.LMA only for KVM on\n64 bit hosts.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3",
      "tree": "db27a5a3cff2e60497ec60194a9f754372bf01e1",
      "parents": [
        "0aac03f07b37da96e00371e66973d5ffaae578a4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:37 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: make EFER_RESERVED_BITS configurable for architecture code\n\nThis patch give the SVM and VMX implementations the ability to add some bits\nthe guest can set in its EFER register.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0aac03f07b37da96e00371e66973d5ffaae578a4",
      "tree": "f744219287c43ea0ff356cd84baa206a43fd903f",
      "parents": [
        "31bb117eb48f2629e030ca547ca89a1c34150183"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Wed Jan 30 19:57:35 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: Disable pagefaults during copy_from_user_inatomic()\n\nWith CONFIG_PREEMPT\u003dn, this is needed in order to disable the fault-in\ncode from sleeping.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "31bb117eb48f2629e030ca547ca89a1c34150183",
      "tree": "9923c209e353dfac4843ae067eaade9f3154ced3",
      "parents": [
        "2384d2b32640839a4d4d260ca7c5aa4edbf68d91"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Jan 28 17:42:34 2008 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: Use CONFIG_PREEMPT_NOTIFIERS around struct preempt_notifier\n\nThis allows kvm_host.h to be #included even when struct preempt_notifier is\nundefined. This is needed to build ppc asm-offsets.h.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2384d2b32640839a4d4d260ca7c5aa4edbf68d91",
      "tree": "812ba0ea30b2fd59553bc7064b13cc107f276e6b",
      "parents": [
        "adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Jan 17 15:14:33 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: VMX: Enable Virtual Processor Identification (VPID)\n\nTo allow TLB entries to be retained across VM entry and VM exit, the VMM\ncan now identify distinct address spaces through a new virtual-processor ID\n(VPID) field of the VMCS.\n\n[avi: drop vpid_sync_all()]\n[avi: add \"cc\" to asm constraints]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38",
      "tree": "033c1e021019242d9a47594993cbfaecd62ab540",
      "parents": [
        "d196e343361c229496adeda42335856da9d057de"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jan 24 15:13:08 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: Limit vcpu mmap size to one page on non-x86\n\nThe second page is only needed on archs that support pio.\n\nNoted by Carsten Otte.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d196e343361c229496adeda42335856da9d057de",
      "tree": "167f9f75636769efdc9fa9dd32883b5c780a4c12",
      "parents": [
        "1d6ad2073e5354912291277c606a57fd37330f04"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jan 24 11:44:11 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: MMU: Decouple mmio from shadow page tables\n\nCurrently an mmio guest pte is encoded in the shadow pagetable as a\nnot-present trapping pte, with the SHADOW_IO_MARK bit set.  However\nnothing is ever done with this information, so maintaining it is a\nuseless complication.\n\nThis patch moves the check for mmio to before shadow ptes are instantiated,\nso the shadow code is never invoked for ptes that reference mmio.  The code\nis simpler, and with future work, can be made to handle mmio concurrently.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1d6ad2073e5354912291277c606a57fd37330f04",
      "tree": "cdd755cff23797f15cdc9474c0eef1a7179b8273",
      "parents": [
        "09566765efd034feba45611f9d0ae9a702f8bb1d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 23 22:26:09 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:16 2008 +0300"
      },
      "message": "KVM: x86 emulator: group decoding for group 1 instructions\n\nOpcodes 0x80-0x83\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "09566765efd034feba45611f9d0ae9a702f8bb1d",
      "tree": "3abe1b831ed5dc62bfdb6e06987f65180aad271e",
      "parents": [
        "5c5027425ec23ded452879ee5d0775a9a90fb9bf"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 23 18:14:23 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: Only x86 has pio\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5c5027425ec23ded452879ee5d0775a9a90fb9bf",
      "tree": "7284914cb8d2a4a6e87b81b677d827c0735c7b10",
      "parents": [
        "d95058a1a7170ae2af2939cbdab0ff5d5e005238"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 22 20:46:14 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d95058a1a7170ae2af2939cbdab0ff5d5e005238",
      "tree": "c50fa7fbb4fce139c8921d085209ead86338eaaf",
      "parents": [
        "fd60754e4ffa992586346dd56451723b4c096626"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 13:36:50 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: x86 emulator: add group 7 decoding\n\nThis adds group decoding for opcode 0x0f 0x01 (group 7).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fd60754e4ffa992586346dd56451723b4c096626",
      "tree": "0d03253f9d5b564f0f2da916a753f51870dbda92",
      "parents": [
        "7d858a19efe5844a98e060931570359b70dea6d1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 13:12:26 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:15 2008 +0300"
      },
      "message": "KVM: x86 emulator: Group decoding for groups 4 and 5\n\nAdd group decoding support for opcode 0xfe (group 4) and 0xff (group 5).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7d858a19efe5844a98e060931570359b70dea6d1",
      "tree": "62ee800fb0f1a8a976ab47b015717b34636f3275",
      "parents": [
        "43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 12:58:04 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: Group decoding for group 3\n\nThis adds group decoding support for opcodes 0xf6, 0xf7 (group 3).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819",
      "tree": "a5a868abf0ce93aeb7e5916c60f5d3775ab061ee",
      "parents": [
        "e09d082c03e137015bc0a17ca77e4b9dca08a5d7"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 12:46:50 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: group decoding for group 1A\n\nThis adds group decode support for opcode 0x8f.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e09d082c03e137015bc0a17ca77e4b9dca08a5d7",
      "tree": "bde45c9b0015445a777f1a20a88048721d9387e3",
      "parents": [
        "1ae0a13def678876b9acfb5ac1e2cf7d5d45a60d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Jan 18 12:38:59 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: add support for group decoding\n\nCertain x86 instructions use bits 3:5 of the byte following the opcode as an\nopcode extension, with the decode sometimes depending on bits 6:7 as well.\nAdd support for this in the main decoding table rather than an ad-hock\nadaptation per opcode.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1ae0a13def678876b9acfb5ac1e2cf7d5d45a60d",
      "tree": "6127e3b33d325cf88053f38a9c9d5cea1be3b65d",
      "parents": [
        "489f1d6526ab68ca1842398fa3ae95c597fe3d32"
      ],
      "author": {
        "name": "Dong, Eddie",
        "email": "eddie.dong@intel.com",
        "time": "Mon Jan 07 13:20:25 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: MMU: Simplify hash table indexing\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "489f1d6526ab68ca1842398fa3ae95c597fe3d32",
      "tree": "ce86e117d8bc74c410ad8168928c036497a93eb8",
      "parents": [
        "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48"
      ],
      "author": {
        "name": "Dong, Eddie",
        "email": "eddie.dong@intel.com",
        "time": "Mon Jan 07 11:14:20 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:13 2008 +0300"
      },
      "message": "KVM: MMU: Update shadow ptes on partial guest pte writes\n\nA guest partial guest pte write will leave shadow_trap_nonpresent_pte\nin spte, which generates a vmexit at the next guest access through that pte.\n\nThis patch improves this by reading the full guest pte in advance and thus\nbeing able to update the spte and eliminate the vmexit.\n\nThis helps pae guests which use two 32-bit writes to set a single 64-bit pte.\n\n[truncation fix by Eric]\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48",
      "tree": "4cabbf33e11e3a71b64394b24fe70453f41cefe8",
      "parents": [
        "e3505dd50caf54e6f81f897cb347441409974a15",
        "c2b91e2eec9678dbda274e906cc32ea8f711da3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:04:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:04:32 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3:\n  x86_64/mm: check and print vmemmap allocation continuous\n  x86_64: fix setup_node_bootmem to support big mem excluding with memmap\n  x86_64: make reserve_bootmem_generic() use new reserve_bootmem()\n  mm: allow reserve_bootmem() cross nodes\n  mm: offset align in alloc_bootmem()\n  mm: fix alloc_bootmem_core to use fast searching for all nodes\n  mm: make mem_map allocation continuous\n"
    },
    {
      "commit": "e3505dd50caf54e6f81f897cb347441409974a15",
      "tree": "3519b3e61d040f6c6874e5199ca640b3868f2407",
      "parents": [
        "9b79ed952bd7344d40152f8a560ad8a0d93f3886",
        "f5093913c0b5b93e3ccafd39d056e76557169ced"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:03:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:03:54 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:\n  kbuild: scripts/Makefile.modpost typo fix\n  kbuild: soften MODULE_LICENSE check\n"
    },
    {
      "commit": "c2b91e2eec9678dbda274e906cc32ea8f711da3b",
      "tree": "fd9e9799078c65c8282ca3a996e6c3bd9e94fa4c",
      "parents": [
        "1a27fc0a42162964d758e9d36d2d1b49c082a67c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel.send@gmail.com",
        "time": "Sat Apr 12 01:19:24 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:09 2008 +0200"
      },
      "message": "x86_64/mm: check and print vmemmap allocation continuous\n\nOn big systems with lots of memory, don\u0027t print out too much during\nbootup, and make it easy to find if it is continuous.\n\non 256G 8 sockets system will get\n [ffffe20000000000-ffffe20002bfffff] PMD -\u003e [ffff810001400000-ffff810003ffffff] on node 0\n[ffffe2001c700000-ffffe2001c7fffff] potential offnode page_structs\n [ffffe20002c00000-ffffe2001c7fffff] PMD -\u003e [ffff81000c000000-ffff8100255fffff] on node 0\n[ffffe20038700000-ffffe200387fffff] potential offnode page_structs\n [ffffe2001c800000-ffffe200387fffff] PMD -\u003e [ffff810820200000-ffff81083c1fffff] on node 1\n [ffffe20040000000-ffffe2007fffffff] PUD -\u003effff811027a00000 on node 2\n [ffffe20038800000-ffffe2003fffffff] PMD -\u003e [ffff811020200000-ffff8110279fffff] on node 2\n[ffffe20054700000-ffffe200547fffff] potential offnode page_structs\n [ffffe20040000000-ffffe200547fffff] PMD -\u003e [ffff811027c00000-ffff81103c3fffff] on node 2\n[ffffe20070700000-ffffe200707fffff] potential offnode page_structs\n [ffffe20054800000-ffffe200707fffff] PMD -\u003e [ffff811820200000-ffff81183c1fffff] on node 3\n [ffffe20080000000-ffffe200bfffffff] PUD -\u003effff81202fa00000 on node 4\n [ffffe20070800000-ffffe2007fffffff] PMD -\u003e [ffff812020200000-ffff81202f9fffff] on node 4\n[ffffe2008c700000-ffffe2008c7fffff] potential offnode page_structs\n [ffffe20080000000-ffffe2008c7fffff] PMD -\u003e [ffff81202fc00000-ffff81203c3fffff] on node 4\n[ffffe200a8700000-ffffe200a87fffff] potential offnode page_structs\n [ffffe2008c800000-ffffe200a87fffff] PMD -\u003e [ffff812820200000-ffff81283c1fffff] on node 5\n [ffffe200c0000000-ffffe200ffffffff] PUD -\u003effff813037a00000 on node 6\n [ffffe200a8800000-ffffe200bfffffff] PMD -\u003e [ffff813020200000-ffff8130379fffff] on node 6\n[ffffe200c4700000-ffffe200c47fffff] potential offnode page_structs\n [ffffe200c0000000-ffffe200c47fffff] PMD -\u003e [ffff813037c00000-ffff81303c3fffff] on node 6\n [ffffe200c4800000-ffffe200e07fffff] PMD -\u003e [ffff813820200000-ffff81383c1fffff] on node 7\n\ninstead of a very long print out...\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1a27fc0a42162964d758e9d36d2d1b49c082a67c",
      "tree": "b94c4864edd0869d8ab7b25b9c3942a14bb6f9db",
      "parents": [
        "8b3cd09ed23049fcb02479c6286744b36324ac9d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:52:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "x86_64: fix setup_node_bootmem to support big mem excluding with memmap\n\ntypical case: four sockets system, every node has 4g ram, and we are using:\n\n\tmemmap\u003d10g$4g\n\nto mask out memory on node1 and node2\n\nwhen numa is enabled, early_node_mem is used to get node_data and node_bootmap.\n\nif it can not get memory from the same node with find_e820_area(), it will\nuse alloc_bootmem to get buff from previous nodes.\n\nso check it and print out some info about it.\n\nneed to move early_res_to_bootmem into every setup_node_bootmem.\nand it takes range that node has. otherwise alloc_bootmem could return addr\nthat reserved early.\n\ndepends on \"mm: make reserve_bootmem can crossed the nodes\".\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b3cd09ed23049fcb02479c6286744b36324ac9d",
      "tree": "cc775b442750533d9854466a8da58088349b5d5b",
      "parents": [
        "a5645a61b3b7e7d7de15e1a642ead600150ce94d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:50:21 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "x86_64: make reserve_bootmem_generic() use new reserve_bootmem()\n\n\"mm: make reserve_bootmem can crossed the nodes\" provides new\nreserve_bootmem(), let reserve_bootmem_generic() use that.\n\nreserve_bootmem_generic() is used to reserve initramdisk, so this way\nwe can make sure even when bootloader or kexec load ranges cross the\nnode memory boundaries, reserve_bootmem still works.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5645a61b3b7e7d7de15e1a642ead600150ce94d",
      "tree": "76fad06bc64a00b71821a9df63c474ea5341eab2",
      "parents": [
        "9a2dc04cf070ee98e014a172695782ff42015fc4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:49:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "mm: allow reserve_bootmem() cross nodes\n\nsplit reserve_bootmem_core() into two functions, one which checks\nconflicts, and one which sets the bits.\n\nand make reserve_bootmem to loop bdata_list to cross the nodes.\n\nuser could be crashkernel and ramdisk..., in case the range provided\nby those externalities crosses the nodes.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a2dc04cf070ee98e014a172695782ff42015fc4",
      "tree": "3a068d5e6625a931f2cf3f7a7133e6f194c962c2",
      "parents": [
        "ad09315cad17458e51c7f1f8b371cb942c54b955"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:44:48 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "mm: offset align in alloc_bootmem()\n\nneed offset alignment when node_boot_start\u0027s alignment is less than\nthe alignment required.\n\nuse local node_boot_start to match alignment - so don\u0027t add extra operation\nin search loop.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad09315cad17458e51c7f1f8b371cb942c54b955",
      "tree": "5838f3a78b7697c0d0a7d2ae88b8424226a92067",
      "parents": [
        "e123dd3f0ec1664576456ea1ea045591a0a95f0c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Mar 10 23:23:42 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:07 2008 +0200"
      },
      "message": "mm: fix alloc_bootmem_core to use fast searching for all nodes\n\nMake the nodes other than node 0 use bdata-\u003elast_success for fast\nsearch too.\n\nWe need to use __alloc_bootmem_core() for vmemmap allocation for other\nnodes when numa and sparsemem/vmemmap are enabled.\n\nAlso, make fail_block path increase i with incr only after ALIGN\nto avoid extra increase when size is larger than align.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e123dd3f0ec1664576456ea1ea045591a0a95f0c",
      "tree": "b73895fd0750749a1b0d85599ca02da4a920c9c0",
      "parents": [
        "539a5fe22620a1665cce504167953a71a43232ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sun Apr 13 11:51:06 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:07 2008 +0200"
      },
      "message": "mm: make mem_map allocation continuous\n\nvmemmap allocation currently has this layout:\n\n [ffffe20000000000-ffffe200001fffff] PMD -\u003effff810001400000 on node 0\n [ffffe20000200000-ffffe200003fffff] PMD -\u003effff810001800000 on node 0\n [ffffe20000400000-ffffe200005fffff] PMD -\u003effff810001c00000 on node 0\n [ffffe20000600000-ffffe200007fffff] PMD -\u003effff810002000000 on node 0\n [ffffe20000800000-ffffe200009fffff] PMD -\u003effff810002400000 on node 0\n...\n\nnote that there is a 2M hole between them - not optimal.\n\nthe root cause is that usemap (24 bytes) will be allocated after every 2M\nmem_map, and it will push next vmemmap (2M) to the next (2M) alignment.\n\nsolution: try to allocate the mem_map continously.\n\nafter the patch, we get:\n\n [ffffe20000000000-ffffe200001fffff] PMD -\u003effff810001400000 on node 0\n [ffffe20000200000-ffffe200003fffff] PMD -\u003effff810001600000 on node 0\n [ffffe20000400000-ffffe200005fffff] PMD -\u003effff810001800000 on node 0\n [ffffe20000600000-ffffe200007fffff] PMD -\u003effff810001a00000 on node 0\n [ffffe20000800000-ffffe200009fffff] PMD -\u003effff810001c00000 on node 0\n...\n\nwhich is the ideal layout.\n\nand usemap will share a page because of they are allocated continuously too:\n\nsparse_early_usemap_alloc: usemap \u003d ffff810024e00000 size \u003d 24\nsparse_early_usemap_alloc: usemap \u003d ffff810024e00080 size \u003d 24\nsparse_early_usemap_alloc: usemap \u003d ffff810024e00100 size \u003d 24\nsparse_early_usemap_alloc: usemap \u003d ffff810024e00180 size \u003d 24\n...\n\nso we make the bootmem allocation more compact and use less memory\nfor usemap \u003d\u003e mission accomplished ;-)\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b79ed952bd7344d40152f8a560ad8a0d93f3886",
      "tree": "0cdf72321a9eeb2a766b7b98d5a87ad3d46ad620",
      "parents": [
        "a52b0d25a722e84da999005b75f972aa4824253c",
        "19870def587554c4055df3e74a21508e3647fb7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:46:11 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3:\n  x86, bitops: select the generic bitmap search functions\n  x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only\n  x86: finalize bitops unification\n  x86, UML: remove x86-specific implementations of find_first_bit\n  x86: optimize find_first_bit for small bitmaps\n  x86: switch 64-bit to generic find_first_bit\n  x86: generic versions of find_first_(zero_)bit, convert i386\n  bitops: use __fls for fls64 on 64-bit archs\n  generic: implement __fls on all 64-bit archs\n  generic: introduce a generic __fls implementation\n  x86: merge the simple bitops and move them to bitops.h\n  x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps\n  x86, uml: fix uml with generic find_next_bit for x86\n  x86: change x86 to use generic find_next_bit\n  uml: Kconfig cleanup\n  uml: fix build error\n"
    },
    {
      "commit": "a52b0d25a722e84da999005b75f972aa4824253c",
      "tree": "4a3a48305f744e6bde2e3fd663a4473dd712049c",
      "parents": [
        "539a5fe22620a1665cce504167953a71a43232ad",
        "f37afdaca711838b50ecd89b9c15fc745270d77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:44:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:44:19 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (46 commits)\n  ide: constify struct ide_dma_ops\n  ide: add struct ide_dma_ops (take 3)\n  ide: add IDE_HFLAG_SERIALIZE_DMA host flag\n  sl82c105: check bridge revision in sl82c105_init_one()\n  au1xxx-ide: use -\u003einit_dma method\n  palm_bk3710: use -\u003einit_dma method\n  sgiioc4: use -\u003einit_dma method\n  icside: use -\u003einit_dma method\n  ide-pmac: use -\u003einit_dma method\n  ide: do complete DMA setup in -\u003einit_dma method (take 2)\n  au1xxx-ide: fix MWDMA support\n  ide: cleanup ide_setup_dma()\n  ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma()\n  ide: export ide_allocate_dma_engine()\n  ide: move ide_setup_dma() call out from -\u003einit_dma method\n  alim15x3: skip DMA initialization completely on revs \u003c 0x20\n  pdc202xx_old: remove init_dma_pdc202xx()\n  ide: don\u0027t display \"BIOS\" settings in ide_setup_dma()\n  ide: remove -\u003ecds field from ide_hwif_t (take 2)\n  ide: remove ide_dma_iobase()\n  ...\n"
    },
    {
      "commit": "539a5fe22620a1665cce504167953a71a43232ad",
      "tree": "3ca071a19e8ef86beffb0b754e794f3d277a1cf8",
      "parents": [
        "0124cecfc85a6664b1ad5f1d28cf0ab8df66fc42",
        "fb884381273669fad034538e6cb186678407cf22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:29:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:29:41 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam:\n  x86, boot: Document for linked list of struct setup_data\n  x86, boot: export linked list of struct setup_data via debugfs\n  x86, boot: add linked list of struct setup_data\n  x86, boot: add free_early to early reservation machanism\n"
    },
    {
      "commit": "f37afdaca711838b50ecd89b9c15fc745270d77c",
      "tree": "0580bdac04d7d9ef0cc9f4dc2350ea38141980b5",
      "parents": [
        "5e37bdc081a980dd0d669e6387bcf15ca9666f81"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "message": "ide: constify struct ide_dma_ops\n\n* Export ide_dma_exec_cmd() and __ide_dma_test_irq().\n\n* Constify struct ide_dma_ops.\n\n* Always set hwif-\u003edma_ops to \u0026sff_dma_ops in ide_setup_dma()\n  (it is later overriden by ide_init_port() if needed) and drop\n  \u0027const struct ide_port_info *d\u0027 argument.\n\nWhile at it:\n\n* Rename __ide_dma_test_irq() to ide_dma_test_irq().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5e37bdc081a980dd0d669e6387bcf15ca9666f81",
      "tree": "d842166c3bd23fbf3dfba0ccaa0f9ed5cc3096db",
      "parents": [
        "1fd1890594bd355a4217f5658a34763e77decee3"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "message": "ide: add struct ide_dma_ops (take 3)\n\nAdd struct ide_dma_ops and convert core code + drivers to use it.\n\nWhile at it:\n\n* Drop \"ide_\" prefix from -\u003eide_dma_end and -\u003eide_dma_test_irq methods.\n\n* Drop \"ide_\" \"infixes\" from DMA methods.\n\n* au1xxx-ide.c:\n  - use auide_dma_{test_irq,end}() directly in auide_dma_timeout()\n\n* pdc202xx_old.c:\n  - drop \"old_\" \"infixes\" from DMA methods\n\n* siimage.c:\n  - add siimage_dma_test_irq() helper\n  - print SATA warning in siimage_init_one()\n\n* Remove no longer needed -\u003einit_hwif implementations.\n\nv2:\n* Changes based on review from Sergei:\n  - s/siimage_ide_dma_test_irq/siimage_dma_test_irq/\n  - s/drive-\u003ehwif/hwif/ in idefloppy_pc_intr().\n  - fix patch description w.r.t. au1xxx-ide changes\n  - fix au1xxx-ide build\n  - fix naming for cmd64*_dma_ops\n  - drop \"ide_\" and \"old_\" infixes\n  - s/hpt3xxx_dma_ops/hpt37x_dma_ops/\n  - s/hpt370x_dma_ops/hpt370_dma_ops/\n  - use correct DMA ops for HPT302/N, HPT371/N and HPT374\n  - s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/\n\nv3:\n* Two bugs slipped in v2 (noticed by Sergei):\n  - use correct DMA ops for HPT374 (for real this time)\n  - handle HPT370/HPT370A properly\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1fd1890594bd355a4217f5658a34763e77decee3",
      "tree": "ee8bd668648a9d3db01a7c99d73eee7453efe98b",
      "parents": [
        "6c61064162e6a9965a062b445c6bd6c8ed019183"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:24 2008 +0200"
      },
      "message": "ide: add IDE_HFLAG_SERIALIZE_DMA host flag\n\n* Add IDE_HFLAG_SERIALIZE_DMA host flag to serialize ports\n  if DMA is available and handle it in ide_init_port().\n\n* Convert sl82c105 host driver to use this new flag.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6c61064162e6a9965a062b445c6bd6c8ed019183",
      "tree": "e849c9974c746c6956375d83ce24d35b490fd97e",
      "parents": [
        "8552865935538127d2603110b3d36dba2b4e8eff"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "message": "sl82c105: check bridge revision in sl82c105_init_one()\n\n* Make sl82c105_bridge_revision() return \u0027u8\u0027 instead of \u0027unsigned long\u0027.\n\n* Check bridge revision in sl82c105_init_one().\n\nWhile at:\n\n* Use proper KERN_ level for printk().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8552865935538127d2603110b3d36dba2b4e8eff",
      "tree": "511d10093d8cffe4834a80fa96ff7946675fe756",
      "parents": [
        "b552a2c1dd01ab2380ea9429899591aa743f02e7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "message": "au1xxx-ide: use -\u003einit_dma method\n\n* Pass \u0027ide_hwif_t *hwif\u0027 instead of \u0027_auide_hwif *auide\u0027 to\n  auide_ddma_init().\n\n* Add \u0027const struct ide_port_info *d\u0027 argument to auide_ddma_init().\n\n* Convert the driver to use -\u003einit_dma method.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b552a2c1dd01ab2380ea9429899591aa743f02e7",
      "tree": "e80670e032c1f69ed62b40b753625ec634e97efb",
      "parents": [
        "04216fa1befbf8c737b7bf3bcc636009723f40d9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "message": "palm_bk3710: use -\u003einit_dma method\n\n* Move DMA setup to palm_bk3710_init_dma().\n\n* Convert the driver to use -\u003einit_dma method.\n\nCc: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "04216fa1befbf8c737b7bf3bcc636009723f40d9",
      "tree": "6cbde56381a48623927259019839ebe8cb40cb25",
      "parents": [
        "91432f48094db32579776bd0a9d8432b16dc0a09"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "message": "sgiioc4: use -\u003einit_dma method\n\n* Move dma_base check from sgiioc4_ide_setup_pci_device()\n  to ide_dma_sgiioc4().\n\n* Replace ide_dma_sgiioc4() \u0027unsigned long dma_base\u0027 argument\n  by \u0027const struct ide_port_info *d\u0027.\n\n* Move hwif-\u003eINB setup from ide_init_sgiioc4() to\n  sgiioc4_ide_setup_pci_device().\n\n* Move ide_init_sgiioc4() call from sgiioc4_ide_setup_pci_device()\n  to ide_dma_sgiioc4().\n\n* Convert the driver to use -\u003einit_dma method.\n\nCc: Jeremy Higdon \u003cjeremy@sgi.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "91432f48094db32579776bd0a9d8432b16dc0a09",
      "tree": "fe9767b5b7e0069db3447231a634954c04e4bb0c",
      "parents": [
        "0d07192297f664afdee36b330ab4fe52a8e38a6a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:23 2008 +0200"
      },
      "message": "icside: use -\u003einit_dma method\n\n* Add \u0027const struct ide_port_info *d\u0027 argument to icside_dma_init().\n\n* Make icside_dma_init() return an error value and add icside_dma_off_init()\n  (-\u003einit_dma implementation for case when DMA cannot be enabled).\n\n* Convert the driver to use -\u003einit_dma method.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0d07192297f664afdee36b330ab4fe52a8e38a6a",
      "tree": "1f2934176abbc1ee7895235f723cb2aa007ef7ad",
      "parents": [
        "b123f56e04c7c112f754f948198d1ea5a80e649d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "message": "ide-pmac: use -\u003einit_dma method\n\n* Move pmif-\u003edma_regs check from pmac_ide_setup_device() to\n  pmac_ide_init_dma().\n\n* Get \u0027pmif\u0027 from \u0027hwif-\u003ehwif_data\u0027 in pmac_ide_init_dma() and replace\n  \u0027pmac_ide_hwif_t *pmif\u0027 argument by \u0027const struct ide_port_info *d\u0027.\n\n* Add pmac_ide_init_dma() implementation for CONFIG_BLK_DEV_IDEDMA_PMAC\u003dn\n  case and convert the driver to use -\u003einit_dma method.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b123f56e04c7c112f754f948198d1ea5a80e649d",
      "tree": "c58e83e954159d7755aa7f04d433e4c7e25dc330",
      "parents": [
        "f629b38beddf2ff8bc3fda1754bbd6cc7d3acc03"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "message": "ide: do complete DMA setup in -\u003einit_dma method (take 2)\n\n* Make ide_hwif_setup_dma() return an error value.\n\n* Pass \u0027const struct ide_port_info *d\u0027 instead of \u0027unsigned long dmabase\u0027\n  to -\u003einit_dma method and make it return an error value.\n\n* Rename ide_get_or_set_dma_base() to ide_pci_dma_base(),\n  change ordering of its arguments and then export it.\n\n* Export ide_pci_set_master().\n\n* Do complete DMA setup inside -\u003einit_dma method and update -\u003einit_dma\n  users accordingly.\n\n* Sanitize code for DMA setup in ide_init_port().\n\nv2:\n* Fix for CONFIG_BLK_DEV_IDEDMA_PCI\u003dn configs\n  (from Jiri Slaby \u003cjirislaby@gmail.com\u003e):\n\n  Fix following compiler warning by returning EINVAL:\n\n  In file included from ANYTHING-INCLUDING-IDE.H:45:\n  include/linux/ide.h: In function ‘ide_hwif_setup_dma’:\n  include/linux/ide.h:1022: warning: no return statement in function returning non-void\n\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f629b38beddf2ff8bc3fda1754bbd6cc7d3acc03",
      "tree": "0e5c4b222c2df6aa4fab5dd1bf5bc2e936a47979",
      "parents": [
        "63158d5c217e2e62665ae9b10d203bd7da817108"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:22 2008 +0200"
      },
      "message": "au1xxx-ide: fix MWDMA support\n\nAlways use \"fast\" MWDMA support and remove dma_{black,white}_list\n(they were based on completely bogus -\u003eide_dma_check implementation\nwhich didn\u0027t set neither the host controller timings nor the device\nfor the desired transfer mode).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "63158d5c217e2e62665ae9b10d203bd7da817108",
      "tree": "dc98e5f2b66d26f6aeb8405e8c47ea49ea784f1a",
      "parents": [
        "d54452fbf84500eff77a55a2061f4669441d2cc3"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "ide: cleanup ide_setup_dma()\n\n* There is no need to call ide_release_dma_engine().\n\n* Move the code up to (and including) ide_allocate_dma_engine()\n  call to the callers of ide_setup_dma().\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d54452fbf84500eff77a55a2061f4669441d2cc3",
      "tree": "3bc697e9360a915703aed4e579ff85bd43e014d9",
      "parents": [
        "b8e73fba60414e161d8fd2429b6fb268e34502e2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma()\n\nFactor out setting PCI bus-mastering from ide_hwif_setup_dma()\nto ide_pci_set_master() helper.\n\nWhile at it:\n\n* don\u0027t read PCI Command register if not necessary\n\n* use PCI device name instead of hwif-\u003ename\n\n* cleanup ide_hwif_setup_dma() a bit\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b8e73fba60414e161d8fd2429b6fb268e34502e2",
      "tree": "f426376c826ff1a8979a36eb6b5bde1addb7d719",
      "parents": [
        "23658f8af3dbba53ae9796e4c37c2fdd0272662e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "ide: export ide_allocate_dma_engine()\n\nExport ide_allocate_dma_engine() and use it in trm290 host driver.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "23658f8af3dbba53ae9796e4c37c2fdd0272662e",
      "tree": "32b7efcd41555308709b80866611a35866debc92",
      "parents": [
        "6d36b95fe2cc5655e96da42eaf19f1aa341c6856"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "ide: move ide_setup_dma() call out from -\u003einit_dma method\n\nThere should be no functional changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6d36b95fe2cc5655e96da42eaf19f1aa341c6856",
      "tree": "62dad8dee924cd31bbb7386674e3160947f8274d",
      "parents": [
        "73369d2a15cfe7dceae89a9e70e3d442e4c21576"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "alim15x3: skip DMA initialization completely on revs \u003c 0x20\n\nSkip DMA initialization completely on revs \u003c 0x20 by setting IDE_HFLAG_NO_DMA\nhost flag and resetting DMA host masks in alim15x3_init_one() (currently\nide_hwif_setup_dma() will try to obtain DMA base and setup PCI bus-mastering\nbut init_dma_ali15x3() will fail).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "73369d2a15cfe7dceae89a9e70e3d442e4c21576",
      "tree": "cad879775a4cd202a688e8bc18192ae032a4b9e6",
      "parents": [
        "8d9f9a76ea09911f4aaf0d9e852fd25335080f53"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:21 2008 +0200"
      },
      "message": "pdc202xx_old: remove init_dma_pdc202xx()\n\nDo PDC202xx specific DMA initialization in init_chipset_pdc202xx()\nand remove no longer needed init_dma_pdc202xx().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8d9f9a76ea09911f4aaf0d9e852fd25335080f53",
      "tree": "00c8cda9398e6274607caaeb26cd06e1e44dffed",
      "parents": [
        "5e59c236846df444860ffc8b852117f9ff65c101"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide: don\u0027t display \"BIOS\" settings in ide_setup_dma()\n\nNowadays BIOS info is not very useful and only confuses users since:\n\n- IDE always tries to use DMA\n\n- BIOS info may not be accurate with modular IDE/libata\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5e59c236846df444860ffc8b852117f9ff65c101",
      "tree": "187ce0b44b80e52e26a963196b1ab017764d3f2c",
      "parents": [
        "0a79acd40d1ee8b6bf217a519eee422ed7e6da6b"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide: remove -\u003ecds field from ide_hwif_t (take 2)\n\n* Use hwif-\u003ename instead of cds-\u003ename in ide_allocate_dma_engine().\n\n* Use pci_name(dev) instead of cds-\u003ename in init_dma_pdc202xx().\n\n* Remove no longer needed -\u003ecds field from ide_hwif_t.\n\nv2:\n\n* scc_pata.c also needs to be updated now (noticed by Stephen Rothwell).\n\nThere should be no functional changes caused by this patch.\n\nCc: Kou Ishizaki \u003ckou.ishizaki@toshiba.co.jp\u003e\nCc: Akira Iguchi \u003cakira2.iguchi@toshiba.co.jp\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0a79acd40d1ee8b6bf217a519eee422ed7e6da6b",
      "tree": "8efca991bfb10ca0be98c60ad9e50454b1589425",
      "parents": [
        "21a3387ddd9eedcf6d4f47e591ffa90128b9f560"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide: remove ide_dma_iobase()\n\n* ide_mapped_mmio_dma() and ide_iomio_dma() are called only by\n  ide_dma_iobase() so inline them there.\n\n* ide_dma_iobase() is called only by ide_setup_dma() so inline\n  it there.\n\n* Setup hwif-\u003eextra_base also if hwif-\u003emmio flag is set.\n\nThere should be no functional changes casued by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "21a3387ddd9eedcf6d4f47e591ffa90128b9f560",
      "tree": "b1078598c6e93e1c232312a366f60f1e1d29eeb6",
      "parents": [
        "eb63963a55f039f049d0dd1121f91f332af6ecc9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide: remove -\u003eextra field from struct ide_port_info\n\nAlways setup hwif-\u003eextra_base in ide_iomio_dma() and remove\nno longer needed -\u003eextra field from struct ide_port_info.\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "eb63963a55f039f049d0dd1121f91f332af6ecc9",
      "tree": "42de9fdf101a1e45a60d43253057bc7435aef60d",
      "parents": [
        "c4b22f816b8ee316cff06df3880f8341e1251211"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\n[bart: fix checkpatch.pl errors in ide-lib.c and ppc/mpc8xx.c while at it]\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c4b22f816b8ee316cff06df3880f8341e1251211",
      "tree": "f4a3df58450b2c7bf7707efe14694f23af115a66",
      "parents": [
        "3dd89a9b2af37d8e3efd785e20b12b785e50e48f"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:20 2008 +0200"
      },
      "message": "ide-tape: remove idetape_pipeline_active()\n\nThis function was simply a wrapper for a test_bit() macro so remove it and\nuse the macro instead.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3dd89a9b2af37d8e3efd785e20b12b785e50e48f",
      "tree": "5dd755629cc9c0daaf4114f27a05ddd6d947813a",
      "parents": [
        "5add22241752a3c689bea2a9d0e71c2a5909ed8a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "message": "ide: cleanup setting hwif-\u003emmio flag\n\nIt is no longer needed to set hwif-\u003emmio flag to tell IDE layer to not\nmanage resources so cleanup host drivers that used hwif-\u003emmio flag only\nfor this purpose.\n\nDitto for ide_legacy_init_one().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5add22241752a3c689bea2a9d0e71c2a5909ed8a",
      "tree": "65292ecc97c4fab189bd552a849a15925a96c183",
      "parents": [
        "0d1bad216c43bcee84cc24d1ed003c19134d2645"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "message": "ide: remove ide_hwif_request_regions()\n\nRemove no longer used ide_hwif_request_regions() and hwif_request_region().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0d1bad216c43bcee84cc24d1ed003c19134d2645",
      "tree": "3cdcf7592c4e1a8899cde78beb512bffa21abf77",
      "parents": [
        "7ebe5936c214c656a1625abf9ec3b09e3d1bf34a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "message": "ide: manage resources for PCI devices in ide_pci_enable() (take 3)\n\n* Reserve PCI BARs 0-3 (0-1 for single port controllers) in\n  ide_pci_enable() and remove ide_hwif_request_regions() call\n  from ide_device_add_all() (also cleanup resource management\n  in scc_pata host driver).\n\n* Fix handling of PCI BAR 4 in ide_pci_enable(), then cleanup\n  ide_iomio_dma() (+ init_hwif_trm290() in trm290 host driver)\n  and remove ide_release[_iomio]_dma().\n\nv2:\n* Fixup trm290 host driver.\n\nv3:\n* Because of scc_pata host driver changes we need to call\n  pci_request_selected_regions() also in setup_mmio_scc().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7ebe5936c214c656a1625abf9ec3b09e3d1bf34a",
      "tree": "de41fcb9d0089099f07abc853cad1be9ffe81eb4",
      "parents": [
        "d92f1a2829dbe29c644569a3b64a021e4d90005d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Apr 26 22:25:19 2008 +0200"
      },
      "message": "cmd640: manage I/O resources in driver\n\n* Tell IDE layer to not manage resources by setting hwif-\u003emmio flag.\n\n* Use {request,release}_region() for resources management.\n\n* Use driver name for resources management.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    }
  ],
  "next": "d92f1a2829dbe29c644569a3b64a021e4d90005d"
}
