)]}'
{
  "log": [
    {
      "commit": "9004acc70e8c49c50c4c7b652f906f1e0ed5709d",
      "tree": "de504d87cc727b4ecab5718522ce94890f349149",
      "parents": [
        "31e8960b35975ed235d283d6fb95d0e28dffded0"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Jan 08 18:13:27 2008 +0100"
      },
      "committer": {
        "name": "Jaroslav Kysela",
        "email": "perex@perex.cz",
        "time": "Thu Jan 31 17:29:48 2008 +0100"
      },
      "message": "[ALSA] Remove sound/driver.h\n\nThis header file exists only for some hacks to adapt alsa-driver\ntree.  It\u0027s useless for building in the kernel.  Let\u0027s move a few\nlines in it to sound/core.h and remove it.\nWith this patch, sound/driver.h isn\u0027t removed but has just a single\ncompile warning to include it.  This should be really killed in\nfuture.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Jaroslav Kysela \u003cperex@perex.cz\u003e\n"
    },
    {
      "commit": "8af03e782cae1e0a0f530ddd22301cdd12cf9dc0",
      "tree": "c4af13a38bd3cc1a811a37f2358491f171052070",
      "parents": [
        "6232665040f9a23fafd9d94d4ae8d5a2dc850f65",
        "99e139126ab2e84be67969650f92eb37c12ab5cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 13:37:27 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 13:37:27 2008 +1100"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits)\n  [POWERPC] Cell IOMMU fixed mapping support\n  [POWERPC] Split out the ioid fetching/checking logic\n  [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows\n  [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup()\n  [POWERPC] Split cell_iommu_setup_hardware() into two parts\n  [POWERPC] Split out the logic that allocates struct iommus\n  [POWERPC] Allocate the hash table under 1G on cell\n  [POWERPC] Add set_dma_ops() to match get_dma_ops()\n  [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format.\n  [POWERPC] 85xx: Only invalidate TLB0 and TLB1\n  [POWERPC] 83xx: Fix typo in mpc837x compatible entries\n  [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall\n  [POWERPC] 83xx: rework platform Kconfig\n  [POWERPC] 85xx: rework platform Kconfig\n  [POWERPC] 86xx: Remove unused IRQ defines\n  [POWERPC] QE: Explicitly set address-cells and size cells for muram\n  [POWERPC] Convert StorCenter DTS file to /dts-v1/ format.\n  [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format.\n  [PPC] Remove 85xx from arch/ppc\n  [PPC] Remove 83xx from arch/ppc\n  ...\n"
    },
    {
      "commit": "94ed294c20ef07fffa40817c68155fba35dd67f1",
      "tree": "672cb304bd6440e681daeff2d04f753dc43dd2e4",
      "parents": [
        "5bdeae46be6dfe9efa44a548bd622af325f4bdb4",
        "384170da9384b7bb3650c0c9b9d17ba0f7bde4ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 11:40:18 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 11:40:18 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (26 commits)\n  firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins\n  firewire: fw-sbp2: increase login orb reply timeout, fix \"failed to login\"\n  firewire: replace subtraction with bitwise and\n  firewire: fw-core: react on bus resets while the config ROM is being fetched\n  firewire: enforce access order between generation and node ID, fix \"giving up on config rom\"\n  firewire: fw-cdev: use device generation, not card generation\n  firewire: fw-sbp2: use device generation, not card generation\n  firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection)\n  firewire: fw-sbp2: skip unnecessary logout\n  firewire vs. ieee1394: clarify MAINTAINERS\n  firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors\n  firewire: fw-ohci: CycleTooLong interrupt management\n  firewire: Fix extraction of source node id\n  firewire: fw-ohci: Bug fixes for packet-per-buffer support\n  firewire: fw-ohci: Fix for dualbuffer three-or-more buffers\n  firewire: fw-sbp2: remove unused misleading macro\n  firewire: fw-sbp2: prepare for s/g chaining\n  firewire: fw-sbp2: refactor workq and kref handling\n  ieee1394: ohci1394: don\u0027t schedule IT tasklets on IR events\n  ieee1394: sbp2: raise default transfer size limit\n  ...\n"
    },
    {
      "commit": "bd45ac0c5daae35e7c71138172e63df5cf644cf6",
      "tree": "5eb5a599bf6a9d7a8a34e802db932aa9e9555de4",
      "parents": [
        "4eece4ccf997c0e6d8fdad3d842e37b16b8d705f",
        "5bdeae46be6dfe9efa44a548bd622af325f4bdb4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 11:25:51 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 11:25:51 2008 +1100"
      },
      "message": "Merge branch \u0027linux-2.6\u0027\n"
    },
    {
      "commit": "4eece4ccf997c0e6d8fdad3d842e37b16b8d705f",
      "tree": "b8ddfaa3401a6af36ab06829b1b0c31e0ff2fb38",
      "parents": [
        "cda13dd164f91df79ba797ab84848352b03de115",
        "4fb4c5582475452d3bf7c5072ef2d15ee06f7723"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 10:50:17 2008 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Jan 31 10:50:17 2008 +1100"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.secretlab.ca/git/linux-2.6-mpc52xx\n"
    },
    {
      "commit": "5bdeae46be6dfe9efa44a548bd622af325f4bdb4",
      "tree": "ae9d2dd31a35c70d9928498cc8271230838f030c",
      "parents": [
        "d145c7253c8cb2ed8a75a8839621b0bb8f778820",
        "1ceea8243aa917ac7fc5a4a6585dea4789f7c20f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:36:35 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:36:35 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends\n"
    },
    {
      "commit": "d145c7253c8cb2ed8a75a8839621b0bb8f778820",
      "tree": "fac21920d149a2cddfdfbde65066ff98935a9c57",
      "parents": [
        "44c3b59102e3ecc7a01e9811862633e670595e51",
        "84f12e39c856a8b1ab407f8216ecebaf4204b94d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits)\n  lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL\n  lguest: Use explicit includes rateher than indirect\n  lguest: get rid of lg variable assignments\n  lguest: change gpte_addr header\n  lguest: move changed bitmap to lg_cpu\n  lguest: move last_pages to lg_cpu\n  lguest: change last_guest to last_cpu\n  lguest: change spte_addr header\n  lguest: per-vcpu lguest pgdir management\n  lguest: make pending notifications per-vcpu\n  lguest: makes special fields be per-vcpu\n  lguest: per-vcpu lguest task management\n  lguest: replace lguest_arch with lg_cpu_arch.\n  lguest: make registers per-vcpu\n  lguest: make emulate_insn receive a vcpu struct.\n  lguest: map_switcher_in_guest() per-vcpu\n  lguest: per-vcpu interrupt processing.\n  lguest: per-vcpu lguest timers\n  lguest: make hypercalls use the vcpu struct\n  lguest: make write() operation smp aware\n  ...\n\nManual conflict resolved (maybe even correctly, who knows) in\ndrivers/lguest/x86/core.c\n"
    },
    {
      "commit": "3b470ac43fcd9848fa65e58e54875ad75be61cec",
      "tree": "eb067e163380d8a9e77a6df44f69dd4b935dd060",
      "parents": [
        "2c57ee6f924c95e4dce61ed4776fb3f62e1b9f92",
        "c847c853a5c562bac940c544748525d038167275"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:31:37 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:31:37 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  PPC: Fix powerpc vio_find_name to not use devices_subsys\n  Driver core: add bus_find_device_by_name function\n  Module: check to see if we have a built in module with the same name\n  x86: fix runtime error in arch/x86/kernel/cpu/mcheck/mce_amd_64.c\n  Driver core: Fix up build when CONFIG_BLOCK\u003dN\n"
    },
    {
      "commit": "2c57ee6f924c95e4dce61ed4776fb3f62e1b9f92",
      "tree": "b9d92e52e8c0ee68a0f5012b470c6146a9f0b65a",
      "parents": [
        "f389e9fcecdec4c4cb890ad28ea30a87a579ec3e",
        "2f52d58c92d971bf421f461ad06eb93fb4f34981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:30:10 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:30:10 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (249 commits)\n  KVM: Move apic timer migration away from critical section\n  KVM: Put kvm_para.h include outside __KERNEL__\n  KVM: Fix unbounded preemption latency\n  KVM: Initialize the mmu caches only after verifying cpu support\n  KVM: MMU: Fix dirty page setting for pages removed from rmap\n  KVM: Portability: Move kvm_fpu to asm-x86/kvm.h\n  KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD\n  KVM: MMU: Merge shadow level check in FNAME(fetch)\n  KVM: MMU: Move kvm_free_some_pages() into critical section\n  KVM: MMU: Switch to mmu spinlock\n  KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte()\n  KVM: Add kvm_read_guest_atomic()\n  KVM: MMU: Concurrent guest walkers\n  KVM: Disable vapic support on Intel machines with FlexPriority\n  KVM: Accelerated apic support\n  KVM: local APIC TPR access reporting facility\n  KVM: Print data for unimplemented wrmsr\n  KVM: MMU: Add cache miss statistic\n  KVM: MMU: Coalesce remote tlb flushes\n  KVM: Expose ioapic to ia64 save/restore APIs\n  ...\n"
    },
    {
      "commit": "2419505acc479d2f1feed94d195b0554a64269a4",
      "tree": "b704f4745dc728ac2402a5407f2052e1949b381e",
      "parents": [
        "caf03feb61bc47dda6dca69a2abb1f5d57dc681e",
        "203a512f0976e8ba85df36d76b40af6c80239121"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:28:49 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:28:49 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (21 commits)\n  [SCSI] Revert \"[SCSI] aacraid: fib context lock for management ioctls\"\n  [SCSI] bsg: copy the cmd_type field to the subordinate request for bidi\n  [SCSI] handle scsi_init_queue failure properly\n  [SCSI] destroy scsi_bidi_sdb_cache in scsi_exit_queue\n  [SCSI] scsi_debug: add XDWRITEREAD_10 support\n  [SCSI] scsi_debug: add bidi data transfer support\n  [SCSI] scsi_debug: add get_data_transfer_info helper function\n  [SCSI] remove use_sg_chaining\n  [SCSI] bidirectional: fix up for the new blk_end_request code\n  [SCSI] bidirectional command support\n  [SCSI] implement scsi_data_buffer\n  [SCSI] tgt: use scsi_init_io instead of scsi_alloc_sgtable\n  [SCSI] aic7xxx: fix warnings with CONFIG_PM disabled\n  [SCSI] aic79xx: fix warnings with CONFIG_PM disabled\n  [SCSI] aic7xxx: fix ahc_done check SCB_ACTIVE for tagged transactions\n  [SCSI] sgiwd93: use cached memory access to make driver work on IP28\n  [SCSI] zfcp: fix sense_buffer access bug\n  [SCSI] ncr53c8xx: fix sense_buffer access bug\n  [SCSI] aic79xx: fix sense_buffer access bug\n  [SCSI] hptiop: fix sense_buffer access bug\n  ...\n"
    },
    {
      "commit": "a63ca8f65dd38519144d727c16e1a38342a474b8",
      "tree": "3031e95e0be0c34b249435a627e777514fed277b",
      "parents": [
        "dd430ca20c40ecccd6954a7efd13d4398f507728"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Jan 30 11:51:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:28:20 2008 +1100"
      },
      "message": "docbook: fix drivers/base/class warning\n\nFix kernel-doc empty line warning:\nWarning(linux-2.6.24-git8//drivers/base/class.c:866): bad line:\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "384170da9384b7bb3650c0c9b9d17ba0f7bde4ff",
      "tree": "93d92b0d68a37a8b7785b0da5f7f477df851f2ef",
      "parents": [
        "a4c379c1979fbc417099cd22ba16735bc3625bbf"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Fri Jan 25 23:31:12 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:29 2008 +0100"
      },
      "message": "firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins\n\nTo be more compliant with section 7.4.8 of the SBP-2 specification,\nuse the mgt_ORB_timeout specified in the SBP-2 device\u0027s config rom\nfor login ORB attempts (though with some sanity checks). A happy\nside-effect is that certain device and controller combinations that\nsometimes take more than 20 seconds to get synced up (like my laptop\nwith just about any SBP-2 device) now function more reliably.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (silenced sparse)\n"
    },
    {
      "commit": "a4c379c1979fbc417099cd22ba16735bc3625bbf",
      "tree": "e77b9dfbb1339d4867f62eeebc4798c0edd6e8f6",
      "parents": [
        "8f9f963e5d9853dbc5fa5091f15ae64f423d3d89"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Sat Jan 19 13:15:05 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: fw-sbp2: increase login orb reply timeout, fix \"failed to login\"\n\nIncrease (and rename) the login orb reply timeout value to 20s\nto match that of the old firewire stack. 2s simply didn\u0027t give\nmany devices enough time to spin up and reply.\n\nFixes inability to recognize some devices.\nFailure mode was \"orb reply timed out\"/\"failed to login\".\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e (style, comments, changelog)\n"
    },
    {
      "commit": "8f9f963e5d9853dbc5fa5091f15ae64f423d3d89",
      "tree": "7b12f078f358d88e846e9e6e8e9b271d1bcb3db5",
      "parents": [
        "f8d2dc39389d6ccc0def290dc4b7eb71d68645a2"
      ],
      "author": {
        "name": "Jarod Wilson",
        "email": "jwilson@redhat.com",
        "time": "Wed Jan 23 16:05:45 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: replace subtraction with bitwise and\n\nReplace an unnecessary subtraction with a bitwise AND when determining the\nvalue of ext_tcode in fw_fill_transaction() to save a cpu cycle or two in a\nsomewhat critical path.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "f8d2dc39389d6ccc0def290dc4b7eb71d68645a2",
      "tree": "7576ee70223a9ad550b8dd7dbad339d9f6b03052",
      "parents": [
        "b5d2a5e04e6a26cb3f77af8cbc31e74c361d706c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 25 17:53:49 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:28 2008 +0100"
      },
      "message": "firewire: fw-core: react on bus resets while the config ROM is being fetched\n\nread_rom() obtained a fresh new fw_device.generation for each read\ntransaction.  Hence it was able to continue reading in the middle of the\nROM even if a bus reset happened.  However the device may have modified\nthe ROM during the reset.  We would end up with a corrupt fetched ROM\nimage then.\n\nAlthough all of this is quite unlikely, it is not impossible.\nTherefore we now restart reading the ROM if the bus generation changed.\n\nNote, the memory barrier in read_rom() is still necessary according to\ntests by Jarod Wilson, despite of the -\u003egeneration access being moved up\nin the call chain.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nThis is essentially what I\u0027ve been beating on locally, and I\u0027ve yet to hit\nanother config rom read failure with it.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "b5d2a5e04e6a26cb3f77af8cbc31e74c361d706c",
      "tree": "cfc3b2dc141f643bcf6ef065cca802340b335799",
      "parents": [
        "cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Jan 25 18:57:41 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:27 2008 +0100"
      },
      "message": "firewire: enforce access order between generation and node ID, fix \"giving up on config rom\"\n\nfw_device.node_id and fw_device.generation are accessed without mutexes.\nWe have to ensure that all readers will get to see node_id updates\nbefore generation updates.\n\nFixes an inability to recognize devices after \"giving up on config rom\",\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d429950\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nReviewed by Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e.\n\nVerified to fix \u0027giving up on config rom\u0027 issues on multiple system and\ndrive combinations that were previously affected.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\n"
    },
    {
      "commit": "cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc",
      "tree": "7b6afe0a4d4236a6c22acf5b724979c30d158090",
      "parents": [
        "5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 24 01:53:51 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:27 2008 +0100"
      },
      "message": "firewire: fw-cdev: use device generation, not card generation\n\nWe have to use the fw_device.generation here, not the fw_card.generation,\nbecause the generation must never be newer than the node ID when we emit\na transaction.  This cannot be guaranteed with fw_card.generation.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nVerified in concert with subsequent memory barriers patch to fix \u0027giving\nup on config rom\u0027 issues on multiple system and drive combinations that\nwere previously affected.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a",
      "tree": "f74aad717dc774991e866400179c90064e6eaa0d",
      "parents": [
        "14dc992aa782f8759c6d117d4322db62f62600ce"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Jan 24 01:53:19 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: use device generation, not card generation\n\nThere was a small window where a login or reconnect job could use an\nalready updated card generation with an outdated node ID.  We have to\nuse the fw_device.generation here, not the fw_card.generation, because\nthe generation must never be newer than the node ID when we emit a\ntransaction.  This cannot be guaranteed with fw_card.generation.\n\nFurthermore, the target\u0027s and initiator\u0027s node IDs can be obtained from\nfw_device and fw_card.  Dereferencing their underlying topology objects\nis not necessary.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n\nVerified in concert with subsequent memory barriers patch to fix \u0027giving\nup on config rom\u0027 issues on multiple system and drive combinations that\nwere previously affected.\n\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "14dc992aa782f8759c6d117d4322db62f62600ce",
      "tree": "5f29e0420fd3a310ee86c4222bfa79c70f4d06ae",
      "parents": [
        "4dccd020d7ca5e673d7804cc4ff80fbf58d8a37e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 20 01:25:31 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection)\n\nAsk the target to grant 4 seconds instead of the standard and minimum of\n1 second window after bus reset for reconnection.  This accelerates\nreconnection if there are more than one targets on the bus:  If a login\nand inquiry to one target blocks the fw-sbp2 workqueue for more than 1s\nafter bus reset, we now still can reconnect to the other target.\n\nBefore that, fw-sbp2\u0027s reconnect attempts would be rejected with \"error\nstatus: 0:9\" (function rejected), and fw-sbp2 would finally re-login.\nAll those futile reconnect attemps cost extra time until the target\nwhich needs re-login is ready for I/O again.\n\nThe reconnect timeout field in the login ORB doesn\u0027t have to be honored\nby the target though.  I found that we could get up to\n  - allegedly 32768s from an old OXFW911 firmware\n  - 256s from LSI bridges\n  - 4s from OXUF922 and OXFW912 bridges,\n  - 2s from TI bridges,\n  - only the standard 1s from Initio and Prolific bridges and from\n    Apple OpenFirmware in target mode.\n\nWe just try to get 4 seconds which already covers the case of a few\nHDDs on the same bus quite nicely.\n\nA minor drawback occurs in the following (rare and impractical) border\ncase:\n  - two initiators are there, initiator 1 holds an exclusive login to\n    a target,\n  - initiator 1 goes off the bus,\n  - target refuses login attempts from initiator 2 until reconnect_hold\n    seconds after bus reset.\n\nAn alternative approach to the issue at hand would be to parallelize\nfw-sbp2\u0027s reconnect and login work.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "4dccd020d7ca5e673d7804cc4ff80fbf58d8a37e",
      "tree": "d9d1c5a6c218b8d8aeb35ce7c0a3848298d8c490",
      "parents": [
        "f148e20cef696e30a370d4f7cb9aeb46273fdd6e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jan 20 01:24:26 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:26 2008 +0100"
      },
      "message": "firewire: fw-sbp2: skip unnecessary logout\n\nDon\u0027t attempt to send a logout ORB if the target was already unplugged\nor had its link switched off.  If two targets are attached, this\nenhances the chance to quickly reconnect to the remaining target when\none target is plugged out.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n"
    },
    {
      "commit": "fe5ca63430d640c3a922e5d7c6dd411ab6a2e077",
      "tree": "7124dc3af55c7b66da44449fdab56a93a0e10403",
      "parents": [
        "bb9f2206b60ace29e49a057fbd9be86d79d86200"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Sun Jan 06 17:21:41 2008 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors\n\nPreviously, the fw-ohci driver used fixed-length buffers for storing\ndescriptors for isochronous receive DMA programs.  If an application\n(such as libdc1394) generated a DMA program that was too large, fw-ohci\nwould reach the limit of its fixed-sized buffer and return an error to\nuserspace.\n\nThis patch replaces the fixed-length ring-buffer with a linked-list of\npage-sized buffers.  Additional buffers can be dynamically allocated and\nappended to the list when necessary.  For a particular context, buffers\nare kept around after use and reused as necessary, so there is no\nallocation taking place after the DMA program is generated for the first\ntime.\n\nIn addition, the buffers it uses are coherent for DMA so there is no\nsyncing required before and after writes.  This syncing wasn\u0027t properly\ndone in the previous version of the code.\n\n-\n\nThis is the fourth version of my patch that replaces a fixed-length\nbuffer for DMA descriptors with a dynamically allocated linked-list of\nbuffers.\n\nAs we discovered with the last attempt, new context programs are\nsometimes queued from interrupt context, making it unacceptable to call\ntasklet_disable() from context_get_descriptors().\n\nThis version of the patch uses ohci-\u003elock for all locking needs instead\nof tasklet_disable/enable.  There is a new requirement that\ncontext_get_descriptors() be called while holding ohci-\u003elock.  It was\nalready held for the AT context, so adding the requirement for the iso\ncontext did not seem particularly onerous.  In addition, this has the\nside benefit of allowing iso queue to be safely called from concurrent\nuser-space threads, which previously was not safe.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nSigned-off-by: Jarod Wilson \u003cjwilson@redhat.com\u003e\n\n-\n\nFixes the following issues:\n  - Isochronous reception stopped prematurely if an application used a\n    larger buffer.  (Reproduced with coriander.)\n  - Isochronous reception stopped after one or a few frames on VT630x\n    in OHCI 1.0 mode.  (Fixes reception in coriander, but dvgrab still\n    doesn\u0027t work with these chips.)\n\nPatch update: struct member alignment, whitespace nits\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bb9f2206b60ace29e49a057fbd9be86d79d86200",
      "tree": "588dcd6a1b8ae1c3fecbf2d6c210c7f7d8bfc820",
      "parents": [
        "478b233eda81bfe41307512b8336fd688c6553e0"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 22 22:14:52 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: fw-ohci: CycleTooLong interrupt management\n\nThe firewire-ohci driver so far lacked the ability to resume cycle\nmaster duty after that condition happened, as added to ohci1394 in Linux\n2.6.18 by commit 57fdb58fa5a140bdd52cf4c4ffc30df73676f0a5.  This ports\nthis patch to fw-ohci.\n\nThe \"cycle too long\" condition has been seen in practice\n  - with IIDC cameras if a mode with packets too large for a speed is\n    chosen,\n  - sporadically when capturing DV on a VIA VT6306 card with ohci1394/\n    ieee1394/ raw1394/ dvgrab 2.\n    https://bugzilla.redhat.com/show_bug.cgi?id\u003d415841#c7\n(This does not fix Fedora bug 415841.)\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "478b233eda81bfe41307512b8336fd688c6553e0",
      "tree": "3c6b6802c79ffa1a981028d4adece60e27aa2c36",
      "parents": [
        "bcee893c6cba88badd292b636f33a8677c0dd962"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Fri Dec 21 23:02:15 2007 +0530"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:24 2008 +0100"
      },
      "message": "firewire: Fix extraction of source node id\n\nFix extraction of the source node id from the packet header.\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "bcee893c6cba88badd292b636f33a8677c0dd962",
      "tree": "f315048cf38e30d016d0ea50aa06989327b2f235",
      "parents": [
        "0642b6577f1d455ed99e2da4a4d9216a866d2449"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Wed Dec 19 15:26:38 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:23 2008 +0100"
      },
      "message": "firewire: fw-ohci: Bug fixes for packet-per-buffer support\n\nThis patch corrects a number of bugs in the current OHCI 1.0\npacket-per-buffer support:\n\n1. Correctly deal with payloads that cross a page boundary.  The\nprevious version would not split the descriptor at such a boundary,\npotentially corrupting unrelated memory.\n\n2. Allow user-space to specify multiple packets per struct\nfw_cdev_iso_packet in the same way that dual-buffer allows.  This is\nsignaled by header_length being a multiple of header_size.  This\nmultiple determines the number of packets.  The payload size allocated\nper packet is determined by dividing the total payload size by the\nnumber of packets.\n\n3. Make sync support work properly for packet-per-buffer.\n\nI have tested this patch with libdc1394 by forcing my OHCI 1.1\ncontroller to use the packet-per-buffer support instead of dual-buffer.\n\nI would greatly appreciate testing by those who have a DV devices and\nother types of iso streamers to make sure I didn\u0027t cause any\nregressions.\n\nStefan, with this patch, I\u0027m hoping that libdc1394 will work with all\nyour OHCI 1.0 controllers now.\n\nThe one bit of future work that remains for packet-per-buffer support is\nthe automatic compaction of short payloads that I discussed with\nKristian.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "0642b6577f1d455ed99e2da4a4d9216a866d2449",
      "tree": "35ae292471403cfe0f1a6ef9dc4c7d24b16ff340",
      "parents": [
        "4b11ea96a08a0f97a16edba55a615354c6d846b5"
      ],
      "author": {
        "name": "David Moore",
        "email": "dcm@MIT.EDU",
        "time": "Wed Dec 19 03:09:18 2007 -0500"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:23 2008 +0100"
      },
      "message": "firewire: fw-ohci: Fix for dualbuffer three-or-more buffers\n\nThis patch fixes the problem where different OHCI 1.1 controllers behave\ndifferently when a received iso packet straddles three or more buffers\nwhen using the dual-buffer receive mode.  Two changes are made in order\nto handle this situation:\n\n1. The packet sync DMA descriptor is given a non-zero header length and\nnon-zero payload length.  This is because zero-payload descriptors are\nnot discussed in the OHCI 1.1 specs and their behavior is thus\nundefined.  Instead we use a header size just large enough for a single\nheader and a payload length of 4 bytes for this first descriptor.\n\n2. As we process received packets in the context\u0027s tasklet, read the\npacket length out of the headers.  Keep track of the running total of\nthe packet length as \"excess_bytes\", so we can ignore any descriptors\nwhere no packet starts or ends.  These descriptors may not have had\ntheir first_res_count or second_res_count fields updated by the\ncontroller so we cannot rely on those values.\n\nThe main drawback of this patch is that the excess_bytes value might get\n\"out of sync\" with the packet descriptors if something strange happens\nto the DMA program.  I\u0027m not if such a thing could ever happen, but I\nappreciate any suggestions in making it more robust.\n\nAlso, the packet-per-buffer support may need a similar fix to deal with\nissue 1, but I haven\u0027t done any work on that yet.\n\nStefan, I\u0027m hoping that with this patch, all your OHCI 1.1 controllers\nwill work properly with an unmodified version of libdc1394.\n\nSigned-off-by: David Moore \u003cdcm@acm.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4b11ea96a08a0f97a16edba55a615354c6d846b5",
      "tree": "110366f1241ae8cc023653d1e9b0cd2cf0a3f900",
      "parents": [
        "b7811da2d94d8e1f77015ec9afa4575ddc9981a4"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 17:32:11 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:22 2008 +0100"
      },
      "message": "firewire: fw-sbp2: remove unused misleading macro\n\nSBP2_MAX_SECTORS is nowhere used in fw-sbp2.\nIt merely got copied over from sbp2 where it played a role in the past.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "b7811da2d94d8e1f77015ec9afa4575ddc9981a4",
      "tree": "4f748f80416635303fbe9d82e19aa65d7777e847",
      "parents": [
        "285838eb22ef0db77b464da70b7352cdbfffc939"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 15 21:10:50 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:22 2008 +0100"
      },
      "message": "firewire: fw-sbp2: prepare for s/g chaining\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "285838eb22ef0db77b464da70b7352cdbfffc939",
      "tree": "c346c7bbc284622bbf76e9f30f05a65ad8859067",
      "parents": [
        "85c5798b09e9248f29edbc42f10b99842661e85c"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Nov 07 01:12:51 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "firewire: fw-sbp2: refactor workq and kref handling\n\nThis somewhat reduces the size of firewire-sbp2.ko.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "85c5798b09e9248f29edbc42f10b99842661e85c",
      "tree": "061993f037fc6122fae5efe5729613e15f9eba76",
      "parents": [
        "4e6343a10b6afb5b036db35c4a0f0aa1333232e1"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 20:53:13 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "ieee1394: ohci1394: don\u0027t schedule IT tasklets on IR events\n\nBug noted by Pieter Palmers:  Isochronous transmit tasklets were\nscheduled on isochronous receive events, in addition to the proper\nisochronous receive tasklets.\n\nhttp://marc.info/?l\u003dlinux1394-devel\u0026m\u003d119783196222802\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4e6343a10b6afb5b036db35c4a0f0aa1333232e1",
      "tree": "3c519551bad718cc1006d570e43a2f51a6befd1d",
      "parents": [
        "3e75b493fbfad5d70831a2f7267c7cd8b8fec71f"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Dec 16 17:31:26 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:21 2008 +0100"
      },
      "message": "ieee1394: sbp2: raise default transfer size limit\n\nThis patch speeds up sbp2 a little bit --- but more importantly, it\nbrings the behavior of sbp2 and fw-sbp2 closer to each other.  Like\nfw-sbp2, sbp2 now does not limit the size of single transfers to 255\nsectors anymore, unless told so by a blacklist flag or by module load\nparameters.\n\nOnly very old bridge chips have been known to need the 255 sectors\nlimit, and we have got one such chip in our hardwired blacklist.  There\ncertainly is a danger that more bridges need that limit; but I prefer to\nhave this issue present in both fw-sbp2 and sbp2 rather than just one of\nthem.\n\nAn OXUF922 with 400GB 7200RPM disk on an S400 controller is sped up by\nthis patch from 22.9 to 23.5 MB/s according to hdparm.  The same effect\ncould be achieved before by setting a higher max_sectors module\nparameter.  On buses which use 1394b beta mode, sbp2 and fw-sbp2 will\nnow achieve virtually the same bandwidth.  Fw-sbp2 only remains faster\non 1394a buses due to fw-core\u0027s gap count optimization.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "3e75b493fbfad5d70831a2f7267c7cd8b8fec71f",
      "tree": "665b57a7f7a1b95aa96cf53d7b1354712ed41e3c",
      "parents": [
        "c7ea990f87f9fbe6a7183c03f7993b3360454834"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 15 14:11:41 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:20 2008 +0100"
      },
      "message": "ieee1394: remove unused code\n\nThe code has been in \"#if 0 - #endif\" since Linux 2.6.12.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "c7ea990f87f9fbe6a7183c03f7993b3360454834",
      "tree": "ed8af5fe802271b174aed630d79ea949c0684574",
      "parents": [
        "61db81214bcef33a41325bdc436fb515b697fcdb"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Dec 15 14:04:42 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:20 2008 +0100"
      },
      "message": "ieee1394: small cleanup after \"nopage\"\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "61db81214bcef33a41325bdc436fb515b697fcdb",
      "tree": "2fe5ccd927df30c1d9253a2ee2db159e943bb621",
      "parents": [
        "a5c52df8bce65971b8db95149ebc1c5f1026af45"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 05 18:15:53 2007 +1100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: nopage\n\nConvert ieee1394 from nopage to fault.\nRemove redundant vma range checks (correct resource range check is retained).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "a5c52df8bce65971b8db95149ebc1c5f1026af45",
      "tree": "ef56b74bf69976a72f0b1eb4c388e0be5411955f",
      "parents": [
        "825f1df545ab0289185373b0eaf06fb0b3487422"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 17:48:10 2007 -0800"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "825f1df545ab0289185373b0eaf06fb0b3487422",
      "tree": "5cca3e02c0abe05dbca680a2cbe645ab9bd2d2d2",
      "parents": [
        "8c4ac0949f7779cd4cc8c618f1b07e6113682010"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Nov 04 14:59:24 2007 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:19 2008 +0100"
      },
      "message": "ieee1394: sbp2: s/g list access cosmetics\n\nReplace sg-\u003elength by sg_dma_len(sg).  Rename a variable for shorter\nline lengths and eliminate some superfluous local variables.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8c4ac0949f7779cd4cc8c618f1b07e6113682010",
      "tree": "be26b46bbe05f551d3ea0fdff2ae79edd7791dff",
      "parents": [
        "dd430ca20c40ecccd6954a7efd13d4398f507728"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Tue Jan 15 21:11:28 2008 +0100"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Jan 30 22:22:18 2008 +0100"
      },
      "message": "ieee1394: sbp2: prepare for s/g chaining\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "203a512f0976e8ba85df36d76b40af6c80239121",
      "tree": "3954b548aec9c2748e06f97ad9dd7af105260141",
      "parents": [
        "40f620286dd08e29c995ca631f45e8d03f4fe1be"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 29 16:17:15 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:26 2008 -0600"
      },
      "message": "[SCSI] Revert \"[SCSI] aacraid: fib context lock for management ioctls\"\n\nThis reverts commit a119ee8ee3045bf559d4cf02d72b112f3de2a15b.\n\nAdaptec found this was causing system lockups.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3d9dd6eef888658d26ebea0cc24d15d2a93ab015",
      "tree": "f3882779400f1ac10469e3f76ea544408712c1b2",
      "parents": [
        "b172b6e99e948b6abb180082cfeb8f9b1450ebff"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Fri Jan 25 23:25:14 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:25 2008 -0600"
      },
      "message": "[SCSI] handle scsi_init_queue failure properly\n\nscsi_init_queue is expected to clean up allocated things when it\nfails.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b172b6e99e948b6abb180082cfeb8f9b1450ebff",
      "tree": "bef3daf89b0ff8124ad3db6660ea9acf0e22c466",
      "parents": [
        "c639d14e2f70d086842d37fb8e4f5ab9bd56af2e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Fri Jan 25 23:25:13 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:25 2008 -0600"
      },
      "message": "[SCSI] destroy scsi_bidi_sdb_cache in scsi_exit_queue\n\nNeeds to call kmem_cache_destroy for scsi_bidi_sdb_cache in\nscsi_exit_queue.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c639d14e2f70d086842d37fb8e4f5ab9bd56af2e",
      "tree": "7f6bd8106b7fc983d54ecb9f3cfd0e746f7fe884",
      "parents": [
        "072d0bb3ce3507ac6e101ca8ce0b94c5777c62ed"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Jan 23 01:32:01 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:25 2008 -0600"
      },
      "message": "[SCSI] scsi_debug: add XDWRITEREAD_10 support\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "072d0bb3ce3507ac6e101ca8ce0b94c5777c62ed",
      "tree": "a14ccd8aa0ec666c1217536791cc0a4828ad2997",
      "parents": [
        "3de9f944797177e405dcab05f12560a497c019bb"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Jan 23 01:32:00 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:24 2008 -0600"
      },
      "message": "[SCSI] scsi_debug: add bidi data transfer support\n\nThis enables fill_from_dev_buffer and fetch_to_dev_buffer to handle\nbidi commands.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3de9f944797177e405dcab05f12560a497c019bb",
      "tree": "f3c4f4608cd0889055b9e660aa8960c6fbdb8bdb",
      "parents": [
        "d3f46f39b7092594b498abc12f0c73b0b9913bde"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Jan 23 01:31:59 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:24 2008 -0600"
      },
      "message": "[SCSI] scsi_debug: add get_data_transfer_info helper function\n\nThis adds get_data_transfer_info helper function that get lha and\nsectors for READ_* and WRITE_* commands (and XDWRITEREAD_10 later).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d3f46f39b7092594b498abc12f0c73b0b9913bde",
      "tree": "6d595bdecbdd41a958e05e425664209f5d71ecf1",
      "parents": [
        "b8de16318410f6f8611a879678a531237e4aadc9"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 15 11:11:46 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:02 2008 -0600"
      },
      "message": "[SCSI] remove use_sg_chaining\n\nWith the sg table code, every SCSI driver is now either chain capable\nor broken (or has sg_tablesize set so chaining is never activated), so\nthere\u0027s no need to have a check in the host template.\n\nAlso tidy up the code by moving the scatterlist size defines into the\nSCSI includes and permit the last entry of the scatterlist pools not\nto be a power of two.\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "b8de16318410f6f8611a879678a531237e4aadc9",
      "tree": "3451b3bb3ccd95d17ebe246d455a90a5d4fb172b",
      "parents": [
        "6f9a35e2dafa0f855ab051c11bdbf739745ff6f5"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Fri Jan 18 12:02:15 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:41 2008 -0600"
      },
      "message": "[SCSI] bidirectional: fix up for the new blk_end_request code\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "6f9a35e2dafa0f855ab051c11bdbf739745ff6f5",
      "tree": "5ca273c98b61a4d329653ef30faa2c0414eccd2b",
      "parents": [
        "30b0c37b27485a9cb897bfe3824f6f517b8c80d6"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 13 13:50:53 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:41 2008 -0600"
      },
      "message": "[SCSI] bidirectional command support\n\nAt the block level bidi request uses req-\u003enext_rq pointer for a second\nbidi_read request.\nAt Scsi-midlayer a second scsi_data_buffer structure is used for the\nbidi_read part. This bidi scsi_data_buffer is put on\nrequest-\u003enext_rq-\u003especial. Struct scsi_cmnd is not changed.\n\n- Define scsi_bidi_cmnd() to return true if it is a bidi request and a\n  second sgtable was allocated.\n\n- Define scsi_in()/scsi_out() to return the in or out scsi_data_buffer\n  from this command This API is to isolate users from the mechanics of\n  bidi.\n\n- Define scsi_end_bidi_request() to do what scsi_end_request() does but\n  for a bidi request. This is necessary because bidi commands are a bit\n  tricky here. (See comments in body)\n\n- scsi_release_buffers() will also release the bidi_read scsi_data_buffer\n\n- scsi_io_completion() on bidi commands will now call\n  scsi_end_bidi_request() and return.\n\n- The previous work done in scsi_init_io() is now done in a new\n  scsi_init_sgtable() (which is 99% identical to old scsi_init_io())\n  The new scsi_init_io() will call the above twice if needed also for\n  the bidi_read command. Only at this point is a command bidi.\n\n- In scsi_error.c at scsi_eh_prep/restore_cmnd() make sure bidi-lld is not\n  confused by a get-sense command that looks like bidi. This is done\n  by puting NULL at request-\u003enext_rq, and restoring.\n\n[jejb: update to sg_table and resolve conflicts\nalso update to blk-end-request and resolve conflicts]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "30b0c37b27485a9cb897bfe3824f6f517b8c80d6",
      "tree": "22643da8e175ff7badf2413dc8c84b2e99613a6f",
      "parents": [
        "bb52d82f45df3a2661d88befba7c79a7db8be496"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 13 13:47:40 2007 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] implement scsi_data_buffer\n\nIn preparation for bidi we abstract all IO members of scsi_cmnd,\nthat will need to duplicate, into a substructure.\n\n- Group all IO members of scsi_cmnd into a scsi_data_buffer\n  structure.\n- Adjust accessors to new members.\n- scsi_{alloc,free}_sgtable receive a scsi_data_buffer instead of\n  scsi_cmnd. And work on it.\n- Adjust scsi_init_io() and  scsi_release_buffers() for above\n  change.\n- Fix other parts of scsi_lib/scsi.c to members migration. Use\n  accessors where appropriate.\n\n- fix Documentation about scsi_cmnd in scsi_host.h\n\n- scsi_error.c\n  * Changed needed members of struct scsi_eh_save.\n  * Careful considerations in scsi_eh_prep/restore_cmnd.\n\n- sd.c and sr.c\n  * sd and sr would adjust IO size to align on device\u0027s block\n    size so code needs to change once we move to scsi_data_buff\n    implementation.\n  * Convert code to use scsi_for_each_sg\n  * Use data accessors where appropriate.\n\n- tgt: convert libsrp to use scsi_data_buffer\n\n- isd200: This driver still bangs on scsi_cmnd IO members,\n  so need changing\n\n[jejb: rebased on top of sg_table patches fixed up conflicts\nand used the synergy to eliminate use_sg and sg_count]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "bb52d82f45df3a2661d88befba7c79a7db8be496",
      "tree": "875af65ede88fe724fb350e43000fe99262fec9f",
      "parents": [
        "03e7925d0737d99086acee6263424dafa34e45ae"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 13 16:14:27 2007 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] tgt: use scsi_init_io instead of scsi_alloc_sgtable\n\nIf we export scsi_init_io()/scsi_release_buffers() instead of\nscsi_{alloc,free}_sgtable() from scsi_lib than tgt code is much more\ninsulated from scsi_lib changes. As a bonus it will also gain bidi\ncapability when it comes.\n\n[jejb: rebase on to sg_table and fix up rejections]\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "03e7925d0737d99086acee6263424dafa34e45ae",
      "tree": "94aafd02a7372c55acbd37029c24f7f8d15a75fd",
      "parents": [
        "67eb63364ede1a16ea60b4de0dca64ca35868082"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 00:08:19 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] aic7xxx: fix warnings with CONFIG_PM disabled\n\n  CC [M]  drivers/scsi/aic7xxx/aic7xxx_osm_pci.o\ndrivers/scsi/aic7xxx/aic7xxx_osm_pci.c:148: warning: \u0027ahc_linux_pci_dev_suspend\u0027 defined but not used\ndrivers/scsi/aic7xxx/aic7xxx_osm_pci.c:166: warning: \u0027ahc_linux_pci_dev_resume\u0027 defined but not used\n\nThis moves aic7xxx_pci_driver struct, removes some forward declarations,\nand adds some ifdef CONFIG_PM.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "67eb63364ede1a16ea60b4de0dca64ca35868082",
      "tree": "6b62d9a9ed3a01b13bc3100e16725b7b1faabb09",
      "parents": [
        "969ceffb6696ac361db9dbc33c83f855dbdb1528"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 00:08:18 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:40 2008 -0600"
      },
      "message": "[SCSI] aic79xx: fix warnings with CONFIG_PM disabled\n\n  CC [M]  drivers/scsi/aic7xxx/aic79xx_osm_pci.o\ndrivers/scsi/aic7xxx/aic79xx_osm_pci.c:101: warning: \u0027ahd_linux_pci_dev_suspend\u0027 defined but not used\ndrivers/scsi/aic7xxx/aic79xx_osm_pci.c:121: warning: \u0027ahd_linux_pci_dev_resume\u0027 defined but not used\n\nThis moves aic79xx_pci_driver struct, removes some forward\ndeclarations, and adds some ifdef CONFIG_PM.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "969ceffb6696ac361db9dbc33c83f855dbdb1528",
      "tree": "b542507aa954eef1311b94f7b43ea31c23c10f1e",
      "parents": [
        "2adbfa333ad2c365bd27f3cf21ae464501d9619d"
      ],
      "author": {
        "name": "David Milburn",
        "email": "dmilburn@redhat.com",
        "time": "Fri Jan 25 12:16:18 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:39 2008 -0600"
      },
      "message": "[SCSI] aic7xxx: fix ahc_done check SCB_ACTIVE for tagged transactions\n\nThe driver only needs to check the SCB_ACTIVE flag if the SCB is not\nin the untagged queue.\n\nIf the driver is in error recovery, you may end panic\u0027ing on a TUR\nthat is in the untagged queue.\n\nAttempting to queue an ABORT message\nCDB: 0x0 0x0 0x0 0x0 0x0 0x0\nSCB 3 done\u0027d twice\n\nThis patch is included in Adaptec\u0027s 6.3.11 driver on their website.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2adbfa333ad2c365bd27f3cf21ae464501d9619d",
      "tree": "dcc55d2c5b1d18edbde355a8e7f8e401ccc5037c",
      "parents": [
        "9d058ecfd444d247b7448e0ef44647514d91a4f2"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Sun Jan 27 00:25:53 2008 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:39 2008 -0600"
      },
      "message": "[SCSI] sgiwd93: use cached memory access to make driver work on IP28\n\nSGI IP28 machines would need special treatment (enable adding addtional\nwait states) when accessing memory uncached. To avoid this pain I\nchanged the driver to use only cached access to memory.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9d058ecfd444d247b7448e0ef44647514d91a4f2",
      "tree": "0095e213d843f5713ed29060ba60e11027111331",
      "parents": [
        "149d6bafc4f19784798cf5154bd1f5ff7e407194"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 12:41:50 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:39 2008 -0600"
      },
      "message": "[SCSI] zfcp: fix sense_buffer access bug\n\nThe commit de25deb18016f66dcdede165d07654559bb332bc changed\nscsi_cmnd.sense_buffer from a static array to a dynamically allocated\nbuffer. We can\u0027t access to sense_buffer in \u0027\u0026cmd-\u003esense_buffer\u0027 way.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "149d6bafc4f19784798cf5154bd1f5ff7e407194",
      "tree": "6c1cadb45495f937e52b59a4b98a74892949d9bb",
      "parents": [
        "c1c9ce52c8674a981af5104e16f3d63f76521563"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 12:41:51 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:39 2008 -0600"
      },
      "message": "[SCSI] ncr53c8xx: fix sense_buffer access bug\n\nThe commit de25deb18016f66dcdede165d07654559bb332bc changed\nscsi_cmnd.sense_buffer from a static array to a dynamically allocated\nbuffer. We can\u0027t access to sense_buffer in \u0027\u0026cmd-\u003esense_buffer\u0027 way.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c1c9ce52c8674a981af5104e16f3d63f76521563",
      "tree": "70fb19c024cf6fea4148892644e9bc9acb15ec36",
      "parents": [
        "c372f4a82fa3d98e2641664ed79e48dddef48097"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 12:41:09 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:39 2008 -0600"
      },
      "message": "[SCSI] aic79xx: fix sense_buffer access bug\n\nThe commit de25deb18016f66dcdede165d07654559bb332bc changed\nscsi_cmnd.sense_buffer from a static array to a dynamically allocated\nbuffer. We can\u0027t access to sense_buffer in \u0027\u0026cmd-\u003esense_buffer\u0027 way.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c372f4a82fa3d98e2641664ed79e48dddef48097",
      "tree": "573361646599b728f2e1c01dfc0be5eef0e96a33",
      "parents": [
        "de15c2017ccbc88c43403a52dd90376d577ef637"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jan 27 10:22:26 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:38 2008 -0600"
      },
      "message": "[SCSI] hptiop: fix sense_buffer access bug\n\n\u0026cmnd-\u003esense_buffer now zeroes the wrong thing.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "de15c2017ccbc88c43403a52dd90376d577ef637",
      "tree": "07f10cbee9f2a245fae1c17b6396498f8596d1ec",
      "parents": [
        "dd430ca20c40ecccd6954a7efd13d4398f507728"
      ],
      "author": {
        "name": "Nathan Lynch",
        "email": "ntl@pobox.com",
        "time": "Sat Jan 26 16:07:30 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:03:38 2008 -0600"
      },
      "message": "[SCSI] sym53c8xx: fix bad memset argument in sym_set_cam_result_error\n\nOn a big powerpc box I got the following oops with 2.6.24-git2:\n\nsym0: \u003c1010-66\u003e rev 0x1 at pci 0000:d0:01.0 irq 215\nsym0: No NVRAM, ID 7, Fast-80, LVD, parity checking\nsym0: SCSI BUS has been reset.\nscsi0 : sym-2.2.3\n target0:0:8: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)\nscsi 0:0:8:0: Direct-Access     IBM      ST318305LC       C509 PQ: 0\nANSI: 3\n target0:0:8: tagged command queuing enabled, command queue depth 16.\n target0:0:8: Beginning Domain Validation\n target0:0:8: asynchronous\n target0:0:8: wide asynchronous\n target0:0:8: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31)\n target0:0:8: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31)\nUnable to handle kernel paging request for data at address 0x00000000\nFaulting instruction address: 0xc000000000038460\ncpu 0x25: Vector: 300 (Data Access) at [c00000000f567840]\n    pc: c000000000038460: .memcpy+0x60/0x280\n    lr: d000000000050280: .sym_set_cam_result_error+0xfc/0x1e0 [sym53c8xx]\n    sp: c00000000f567ac0\n   msr: 8000000000009032\n   dar: 0\n dsisr: 42000000\n  current \u003d 0xc000006d1e0af0a0\n  paca    \u003d 0xc0000000004afc00\n    pid   \u003d 0, comm \u003d swapper\nenter ? for help\n[link register   ] d000000000050280\n.sym_set_cam_result_error+0xfc/0x1e0 [sym53c8xx]\n[c00000000f567ac0] c00000000f567b80 (unreliable)\n[c00000000f567b80] d0000000000552b8 .sym_complete_error+0x12c/0x1bc [sym53c8xx]\n[c00000000f567c20] d0000000000561a4 .sym_int_sir+0xaa4/0x1718 [sym53c8xx]\n[c00000000f567d00] d000000000057e8c .sym_interrupt+0x4e4/0x6ec [sym53c8xx]\n[c00000000f567dc0] d00000000004fdf4 .sym53c8xx_intr+0x6c/0xdc [sym53c8xx]\n[c00000000f567e50] c0000000000a83e0 .handle_IRQ_event+0x7c/0xec\n[c00000000f567ef0] c0000000000aa344 .handle_fasteoi_irq+0x130/0x1f0\n[c00000000f567f90] c00000000002a538 .call_handle_irq+0x1c/0x2c\n[c000004d5e0b3a90] c00000000000c320 .do_IRQ+0x108/0x1d0\n[c000004d5e0b3b20] c000000000004790 hardware_interrupt_entry+0x18/0x1c\n\nThe memset() in sym_set_cam_result_error() would appear to be trashing\nthe scsi_cmnd struct instead of clearing sense_buffer.\n\nSigned-off-by: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0fce5623ba248d3af0d7fb719d5ac367cc9d5192",
      "tree": "b31021dcec46616c2c4f997b2d05d4879619d7e2",
      "parents": [
        "edf884172e9828c6234b254208af04655855038d"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 16 11:13:16 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 18:01:18 2008 +0200"
      },
      "message": "KVM: Move drivers/kvm/* to virt/kvm/\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "edf884172e9828c6234b254208af04655855038d",
      "tree": "f5e5d1eecaed9737eced6ba60d09fe93149751c1",
      "parents": [
        "9584bf2c93f56656dba0de8f6c75b54ca7995143"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 16 11:02:48 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 18:01:18 2008 +0200"
      },
      "message": "KVM: Move arch dependent files to new directory arch/x86/kvm/\n\nThis paves the way for multiple architecture support.  Note that while\nioapic.c could potentially be shared with ia64, it is also moved.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9584bf2c93f56656dba0de8f6c75b54ca7995143",
      "tree": "9aa33ae6c4e11cef1552e6dfe5085460e3baa076",
      "parents": [
        "0711456c0d78335d24e4f92aa40d32c78fd44aa8"
      ],
      "author": {
        "name": "Ryan Harper",
        "email": "ryanh@us.ibm.com",
        "time": "Thu Dec 13 10:21:10 2007 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: VMX: Add printk_ratelimit in vmx_intr_assist\n\nAdd printk_ratelimit check in front of printk.  This prevents spamming\nof the message during 32-bit ubuntu 6.06server install.  Previously, it\nwould hang during the partition formatting stage.\n\nSigned-off-by: Ryan Harper \u003cryanh@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "0711456c0d78335d24e4f92aa40d32c78fd44aa8",
      "tree": "8a83659283c043da69c6987ec89bff5077350778",
      "parents": [
        "bfc6d222bdb1123d12c1193bcd7c755e6617b405"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 10:23:23 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: Move kvm_vm_stat to x86.h\n\nThis patch moves kvm_vm_stat to x86.h, and every arch\ncan define its own kvm_vm_stat in $arch.h\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bfc6d222bdb1123d12c1193bcd7c755e6617b405",
      "tree": "72fb596179845648c3a050669f6f8ab16a834d3b",
      "parents": [
        "d7deeeb02cf73fd98cb71a6a0a5dffab9ef79556"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 10:20:16 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: Move round_robin_prev_vcpu and tss_addr to kvm_arch\n\nThis patches moves two fields round_robin_prev_vcpu and tss to kvm_arch.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d7deeeb02cf73fd98cb71a6a0a5dffab9ef79556",
      "tree": "d1f1d1bf5ae822ddf1d91caf484366ebabf11217",
      "parents": [
        "f05e70ac03a6614af12194a014b338ec5594cb5c"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 10:17:34 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: move vpic and vioapic to kvm_arch\n\nThis patches moves two fields vpid and vioapic to kvm_arch\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f05e70ac03a6614af12194a014b338ec5594cb5c",
      "tree": "1dcaea0f519167ad75c99a2c4e7c46e08050a8fe",
      "parents": [
        "d69fb81f0554fb980e4b1d3db4e44351c2c4a4a2"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 10:01:48 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: Move mmu-related fields to kvm_arch\n\nThis patches moves mmu-related fields to kvm_arch.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d69fb81f0554fb980e4b1d3db4e44351c2c4a4a2",
      "tree": "c2b6f6081ceb31fba9c37401f0cc81afaa3b6d1f",
      "parents": [
        "77b4c255af34e73ea1efd1c3384bbe91361c81e6"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 09:54:20 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: Move memslot aliases to new struct kvm_arch\n\nThis patches create kvm_arch to hold arch-specific kvm fileds\nand moves fields naliases and aliases to kvm_arch.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "77b4c255af34e73ea1efd1c3384bbe91361c81e6",
      "tree": "6e8e41d7489540a17853167de32f12fca4f904d7",
      "parents": [
        "d17fbbf7384d3b639f3c3299b5248ec4c4404556"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 09:49:26 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:10 2008 +0200"
      },
      "message": "KVM: Portability: Move kvm_vcpu_stat to x86.h\n\nThis patches moves kvm_vcpu_stat to x86.h, so every\narch can define its own kvm_vcpu_stat structure.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d17fbbf7384d3b639f3c3299b5248ec4c4404556",
      "tree": "e647268a494a14134c64bf8472541131b26fdfca",
      "parents": [
        "d657a98e3c20537d8b4d44aef51cf4311d96f2b0"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 09:45:31 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:09 2008 +0200"
      },
      "message": "KVM: Portability: Expand the KVM_VCPU_COMM in kvm_vcpu structure.\n\nThis patches removes KVM_COMM macro, original it is hold\nkvm_vcpu common fields.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d657a98e3c20537d8b4d44aef51cf4311d96f2b0",
      "tree": "cf1e1e2e3c0d05617ab6baf5c017987708a55d41",
      "parents": [
        "1d737c8a68736db36e0aa502ace9da240704c5ae"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 09:41:22 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:09 2008 +0200"
      },
      "message": "KVM: Portability: Move kvm_vcpu definition back to kvm.h\n\nThis patches moves kvm_vcpu definition to kvm.h, and finally\nkvm.h includes x86.h.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1d737c8a68736db36e0aa502ace9da240704c5ae",
      "tree": "fb3bd80ccd7d0068563791d1ef0db24f035f71f8",
      "parents": [
        "ad312c7c79f781c822e37effe41307503a2bb85b"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Fri Dec 14 09:35:10 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:09 2008 +0200"
      },
      "message": "KVM: Portability: Split mmu-related static inline functions to mmu.h\n\nSince these functions need to know the details of kvm or kvm_vcpu structure,\nit can\u0027t be put in x86.h.  Create mmu.h to hold them.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ad312c7c79f781c822e37effe41307503a2bb85b",
      "tree": "d979bfb70e76ada58b79b456c61a0507a8f0847d",
      "parents": [
        "682c59a3f3f211ed555b17144f2d82eb8286a1db"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Thu Dec 13 23:50:52 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:58:09 2008 +0200"
      },
      "message": "KVM: Portability: Introduce kvm_vcpu_arch\n\nMove all the architecture-specific fields in kvm_vcpu into a new struct\nkvm_vcpu_arch.\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "682c59a3f3f211ed555b17144f2d82eb8286a1db",
      "tree": "939bb2644ec6d556d27e82ecfb0cdf8ec9e7378a",
      "parents": [
        "2bacc55c7c3c61e356aef06b9a319b4cee90b519"
      ],
      "author": {
        "name": "Zhang Xiantao",
        "email": "xiantao.zhang@intel.com",
        "time": "Tue Dec 11 20:36:00 2007 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:22 2008 +0200"
      },
      "message": "KVM: Portability: Move kvm{pic,ioapic} accesors to x86 specific code\n\nSigned-off-by: Zhang Xiantao \u003cxiantao.zhang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2bacc55c7c3c61e356aef06b9a319b4cee90b519",
      "tree": "8a1860bbcfe62970353b71260887449c334f5477",
      "parents": [
        "62b9abaaf8423a3a38b938831b3b8431a6607ad8"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Wed Dec 12 10:46:12 2007 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:22 2008 +0200"
      },
      "message": "KVM: MMU: emulated cmpxchg8b should be atomic on i386\n\nEmulate cmpxchg8b atomically on i386. This is required to avoid a guest\npte walker from seeing a splitted write.\n\n[avi: make it compile]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "62b9abaaf8423a3a38b938831b3b8431a6607ad8",
      "tree": "1518309462bb5d730b09f2d595f47998514fe37c",
      "parents": [
        "722f6ecbcf3e53809236b36e6dfd9042924a2d51"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 11 15:36:57 2007 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:22 2008 +0200"
      },
      "message": "KVM: SVM: support writing 0 to K8 performance counter control registers\n\nThis lets SVM ignore writes of the value 0 to the performance counter control\nregisters.  Thus enabling them will still fail in the guest, but a write of 0\nwhich keeps them disabled is accepted.  This is required to boot Windows\nVista 64bit.\n\n[avi: avoid fall-thru in switch statement]\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": "722f6ecbcf3e53809236b36e6dfd9042924a2d51",
      "tree": "a6ae05e5edd99244c88ccab9131f06ab132b96ed",
      "parents": [
        "7819026eefee53eaaac3fdce1a2f157c7ea943fe"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 12 12:37:24 2007 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: LAPIC: minor debugging compile fix\n\nThis patch fixes a compile error of the LAPIC code with APIC debugging enabled.\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": "7819026eefee53eaaac3fdce1a2f157c7ea943fe",
      "tree": "e5ee690406a8ebe381ce5d712f010a5a0c706c4c",
      "parents": [
        "1d075434149c38d457c30d1f11d9c39210b0bb79"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Tue Dec 11 19:12:27 2007 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: MMU: Fix SMP shadow instantiation race\n\nThere is a race where VCPU0 is shadowing a pagetable entry while VCPU1\nis updating it, which results in a stale shadow copy.\n\nFix that by comparing the contents of the cached guest pte with the\ncurrent guest pte after write-protecting the guest pagetable.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1d075434149c38d457c30d1f11d9c39210b0bb79",
      "tree": "bb824281fe4c5b07877adbaa4793b8b4038b37d0",
      "parents": [
        "e833240f3c1b0b415efb14eaa102718769d5f063"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Dec 06 21:02:25 2007 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: SVM: Exit to userspace if write to cr8 and not using in-kernel apic\n\nWith this patch KVM on SVM will exit to userspace if the guest writes to CR8\nand the in-kernel APIC is disabled.\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": "e833240f3c1b0b415efb14eaa102718769d5f063",
      "tree": "a2482ca91665ce0e761131d971bb418c5e8e365c",
      "parents": [
        "bc750ba860d978fcaac1e0db28774b1f38ae8193"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 18:43:00 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: MMU: Use mmu_set_spte() for real-mode shadows\n\nIn addition to removing some duplicated code, this also handles the unlikely\ncase of real-mode code updating a guest page table.  This can happen when\none vcpu (in real mode) touches a second vcpu\u0027s (in protected mode) page\ntables, or if a vcpu switches to real mode, touches page tables, and switches\nback.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bc750ba860d978fcaac1e0db28774b1f38ae8193",
      "tree": "e359e63b65e1798e4876e04cd52d0ce95f7f893f",
      "parents": [
        "1c4f1fd6d5692614e8dc75ee53f7be590f1e878b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 18:39:41 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: MMU: Adjust mmu_set_spte() debug code for gpte removal\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1c4f1fd6d5692614e8dc75ee53f7be590f1e878b",
      "tree": "8b3c8f468923537dbd87c39995661e704c4f2b80",
      "parents": [
        "2fbf4cf13f777e1f61ee692fe67d16bddd747700"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 17:40:31 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: MMU: Move set_pte() into guest paging mode independent code\n\nAs set_pte() no longer references either a gpte or the guest walker, we can\nmove it out of paging mode dependent code (which compiles twice and is\ngenerally nasty).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2fbf4cf13f777e1f61ee692fe67d16bddd747700",
      "tree": "34f724ed2a3d77f18e503c055931f072cf47917d",
      "parents": [
        "e3f955042219a595b1c3208e12c20860f23f72fb"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 17:33:46 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:21 2008 +0200"
      },
      "message": "KVM: MMU: Remove walker argument to set_pte()\n\nUnused.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e3f955042219a595b1c3208e12c20860f23f72fb",
      "tree": "f6ff71fa2026625bc0223ecb04ffaff67cb91008",
      "parents": [
        "b4ab019ce71efe30790b5aaa396549a16bb20608"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 17:32:30 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: Pass pte dirty flag to set_pte() instead of calculating it on-site\n\nThis allows us to remove its dependency on pt_element_t.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b4ab019ce71efe30790b5aaa396549a16bb20608",
      "tree": "f502e79d39cce0af0514d6f03fe09aa2d9ceed43",
      "parents": [
        "41074d07c78b086b18fc2af590caef05dbcca568"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 17:27:52 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: No need to pick up nx bit from guest pte\n\nWe already set it according to cumulative access permissions.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "41074d07c78b086b18fc2af590caef05dbcca568",
      "tree": "1e07a3d17d718d61bbb45e427c7e7980f2b7ad2e",
      "parents": [
        "bedbe4ee86195dcd899577828714cc1413beb571"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 17:00:02 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: Fix inherited permissions for emulated guest pte updates\n\nWhen we emulate a guest pte write, we fail to apply the correct inherited\npermissions from the parent ptes.  Now that we store inherited permissions\nin the shadow page, we can use that to update the pte permissions correctly.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "bedbe4ee86195dcd899577828714cc1413beb571",
      "tree": "3dfd5ae82837d4dacdabd8efd8a498cb5c4bcb9b",
      "parents": [
        "8d87a03aea43535a92efbb180e0ceac94d4bb5db"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 16:52:56 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: Move pte access calculation into a helper function\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "8d87a03aea43535a92efbb180e0ceac94d4bb5db",
      "tree": "109fc349fbf4010155eab1393fa71c3a7029a110",
      "parents": [
        "fe135d2ceb3d7dc08151b3cbad96565d02cc8676"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 16:37:36 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: Set nx bit correctly on shadow ptes\n\nWhile the page table walker correctly generates a guest page fault\nif a guest tries to execute a non-executable page, the shadow code does\nnot mark it non-executable.  This means that if a guest accesses an nx\npage first with a read access, then subsequent code fetch accesses will\nsucceed.\n\nFix by setting the nx bit on shadow ptes.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "fe135d2ceb3d7dc08151b3cbad96565d02cc8676",
      "tree": "7dec07ec0a32a53f003551802cb73c4ce3373527",
      "parents": [
        "b3e4e63fd9ee8cd5d9047b89e0d463d5c48ee5b5"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Dec 09 16:15:46 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:20 2008 +0200"
      },
      "message": "KVM: MMU: Simplify calculation of pte access\n\nThe nx bit is awkwardly placed in the 63rd bit position; furthermore it\nhas a reversed meaning compared to the other bits, which means we can\u0027t use\na bitwise and to calculate compounded access masks.\n\nSo, we simplify things by creating a new 3-bit exec/write/user access word,\nand doing all calculations in that.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b3e4e63fd9ee8cd5d9047b89e0d463d5c48ee5b5",
      "tree": "a7e1cd372a26b36d9fc4d6a7a12523e07f7a9f5e",
      "parents": [
        "80a8119ca3f021037b8513d39dbb0ffd1af86b20"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Fri Dec 07 07:56:58 2007 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: MMU: Use cmpxchg for pte updates on walk_addr()\n\nIn preparation for multi-threaded guest pte walking, use cmpxchg()\nwhen updating guest pte\u0027s. This guarantees that the assignment of the\ndirty bit can\u0027t be lost if two CPU\u0027s are faulting the same address\nsimultaneously.\n\n[avi: fix kunmap_atomic() parameters]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "80a8119ca3f021037b8513d39dbb0ffd1af86b20",
      "tree": "38928e7b3fbd21ad4508bce11fb35899babf7774",
      "parents": [
        "6e3d5dfbad4d8c29bdf8ed160f91f955f0efc12b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Dec 06 19:50:00 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: SVM: Trap access to the cr8 register\n\nLater we may be able to use the virtual tpr feature, but for now,\njust trap it.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6e3d5dfbad4d8c29bdf8ed160f91f955f0efc12b",
      "tree": "914da0fb65504385c1e9e93728517585cea1f780",
      "parents": [
        "152ff9be2ed11e76ed3014b94eacdd6bc9275518"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Dec 06 18:14:14 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: x86 emulator: Fix stack instructions on 64-bit mode\n\nStack instructions are always 64-bit on 64-bit mode; many of the\nemulated stack instructions did not take that into account.  Fix by\nadding a \u0027Stack\u0027 bitflag and setting the operand size appropriately\nduring the decode stage (except for \u0027push r/m\u0027, which is in a group\nwith a few other instructions, so it gets its own treatment).\n\nThis fixes random crashes on Vista x64.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "152ff9be2ed11e76ed3014b94eacdd6bc9275518",
      "tree": "9c5c561bddb17e3195ee51b559184bd6fa636884",
      "parents": [
        "e5314067f6a77688a3d36548e7618430ce4a6236"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "jroedel@lemmy.amd.com",
        "time": "Thu Dec 06 15:46:52 2007 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: SVM: Emulate read/write access to cr8\n\nThis patch adds code to emulate the access to the cr8 register to the x86\ninstruction emulator in kvm.  This is needed on svm, where there is no\nhardware decode for control register access.\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": "e5314067f6a77688a3d36548e7618430ce4a6236",
      "tree": "a03623c7ae33403d7e4de0deeb581367bef67ae3",
      "parents": [
        "e934c9c1c8742872a53efb84966d9c1d7b8c8e24"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Dec 06 16:32:45 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: VMX: Avoid exit when setting cr8 if the local apic is in the kernel\n\nWith apic in userspace, we must exit to userspace after a cr8 write in order\nto update the tpr.  But if the apic is in the kernel, the exit is unnecessary.\n\nNoticed by Joerg Roedel.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e934c9c1c8742872a53efb84966d9c1d7b8c8e24",
      "tree": "37292af0e1f065b74e9eaf016653df798bb136b0",
      "parents": [
        "7ee5d940f5064a7a4f0e53a8ffe755bc26a8b0f1"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Dec 06 16:15:02 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:19 2008 +0200"
      },
      "message": "KVM: x86 emulator: fix eflags preparation for emulation\n\nWe prepare eflags for the emulated instruction, then clobber it with an \u0027andl\u0027.\nFix by popping eflags as the last thing in the sequence.\n\nPatch taken from Xen (16143:959b4b92b6bf)\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7ee5d940f5064a7a4f0e53a8ffe755bc26a8b0f1",
      "tree": "d14454d9254e90f77c5e7dc55b4adc21ae593e2f",
      "parents": [
        "c1a5d4f990ce034bcb19aebbb910c07019e60f6b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Nov 25 15:22:50 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: Use generalized exception queue for injecting #UD\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c1a5d4f990ce034bcb19aebbb910c07019e60f6b",
      "tree": "23aeb993f99c0b9523486c0dcbedb61247352a45",
      "parents": [
        "c3c91fee5195ba5176a6da5ddc2a2822243eb79f"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Nov 25 14:12:03 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: Replace #GP injection by the generalized exception queue\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "c3c91fee5195ba5176a6da5ddc2a2822243eb79f",
      "tree": "1fcccd77e5705d5f885bbb24ecb08bd93cf71c63",
      "parents": [
        "298101da2f507c13eaf179ee4507a7c0fe3e7b06"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Nov 25 14:04:58 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: Replace page fault injection by the generalized exception queue\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "298101da2f507c13eaf179ee4507a7c0fe3e7b06",
      "tree": "2c0808964e5bc04812f0379b945fb187aaf901eb",
      "parents": [
        "4bf8ed8dd2781a5e7603a83f8ee1d4f5aa04ebc4"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Nov 25 13:41:11 2007 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: Generalize exception injection mechanism\n\nInstead of each subarch doing its own thing, add an API for queuing an\ninjection, and manage failed exception injection centerally (i.e., if\nan inject failed due to a shadow page fault, we need to requeue it).\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4bf8ed8dd2781a5e7603a83f8ee1d4f5aa04ebc4",
      "tree": "f3bb9e9268c8349e322d1d8943c50ebf7b6782f9",
      "parents": [
        "e4a533a416936753882060bf743222576713fde8"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Tue Dec 04 13:42:16 2007 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: MMU: Remove unused prev_shadow_ent variable from fetch()\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e4a533a416936753882060bf743222576713fde8",
      "tree": "40c9a571ac54c77d52d0cb4ee6cfb95f13f1f418",
      "parents": [
        "53e0aa7b65ec0d66e34e4d356a641c725cc2e519"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Wed Dec 05 18:15:52 2007 +1100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:18 2008 +0200"
      },
      "message": "KVM: Convert KVM from -\u003enopage() to -\u003efault()\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: kvm-devel@lists.sourceforge.net\nCc: avi@qumranet.com\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "53e0aa7b65ec0d66e34e4d356a641c725cc2e519",
      "tree": "3964471dba10c506407370aefacdfce2cab3086f",
      "parents": [
        "e01a1b570f66ad318239517adbcc2cbe368d0a46"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Dec 03 16:15:26 2007 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Portability: Create kvm_arch_vcpu_runnable() function\n\nThis abstracts the detail of x86 hlt and INIT modes into a function.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e01a1b570f66ad318239517adbcc2cbe368d0a46",
      "tree": "2400a276ef5db5087319a9ab92b3917243071db0",
      "parents": [
        "e2174021cfa535dbcaef02dc6f2897019c30731d"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Dec 03 15:30:25 2007 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Portability: Stop including x86-specific headers in kvm_main.c\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e2174021cfa535dbcaef02dc6f2897019c30731d",
      "tree": "8f3713033be0b0d3c7c398e0e343c271d2d6b8dc",
      "parents": [
        "d77a39d982431ef9efc7e7a1690cee2ce252b95e"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Mon Dec 03 15:30:24 2007 -0600"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Wed Jan 30 17:53:17 2008 +0200"
      },
      "message": "KVM: Portability: Move IO device definitions to its own header file\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    }
  ],
  "next": "d77a39d982431ef9efc7e7a1690cee2ce252b95e"
}
