)]}'
{
  "log": [
    {
      "commit": "74b2553f1d13e60fb27063204bd5b6908a6f8494",
      "tree": "cd35e82d16cf190ccd95362478a598314de639ce",
      "parents": [
        "d1c856e0f1a4c946c6329cff126548ef4288735f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 19 11:20:42 2007 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 19 11:20:42 2007 +1100"
      },
      "message": "virtio: fix module/device unloading\n\nThe virtio code never hooked through the -\u003eremove callback.  Although\nnoone supports device removal at the moment, this code is already\nneeded for module unloading.\n\nThis of course also revealed bugs in virtio_blk, virtio_net and lguest\nunloading paths.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "42b36cc0ce717deeb10030141a43dede763a3ebe",
      "tree": "b2dc48b4f16c5dc59461ad24b027d631edda1da4",
      "parents": [
        "1200e646ae238afc536be70257290eb33fb6e364"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 12 13:39:18 2007 +1100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 12 13:59:40 2007 +1100"
      },
      "message": "virtio: Force use of power-of-two for descriptor ring sizes\n\nThe virtio descriptor rings of size N-1 were nicely set up to be\naligned to an N-byte boundary.  But as Anthony Liguori points out, the\nfree-running indices used by virtio require that the sizes be a power\nof 2, otherwise we get problems on wrap (demonstrated with lguest).\n\nSo we replace the clever \"2^n-1\" scheme with a simple \"align to page\nboundary\" scheme: this means that all virtio rings take at least two\npages, but it\u0027s safer than guessing cache alignment.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1bc4953ed44454c7f53d0b609445d1534981ee75",
      "tree": "05f67206d6978261ad2569d3a0030f0299331191",
      "parents": [
        "4d125de3a5d130054df2285e542c1491d214d3e8"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Nov 07 15:49:24 2007 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 12 13:59:09 2007 +1100"
      },
      "message": "virtio: Fix used_idx wrap-around\n\nThe more_used() function compares the vq-\u003evring.used-\u003eidx with last_used_idx.\nSince vq-\u003evring.used-\u003eidx is a 16-bit integer, and last_used_idx is an\nunsigned int, this results in unpredictable behavior when vq-\u003evring.used-\u003eidx\nwraps around.\n\nThis patch corrects this by changing last_used_idx to the correct type.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0a8a69dd77ddbd4513b21363021ecde7e1025502",
      "tree": "ed6d8f0756835390b4c0d9a172422f2e42a65523",
      "parents": [
        "b01d9f2863349b0e041b90c3c86a998ee0fed2b0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:40 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Virtio helper routines for a descriptor ringbuffer implementation\n\nThese helper routines supply most of the virtqueue_ops for hypervisors\nwhich want to use a ring for virtio.  Unlike the previous lguest\nimplementation:\n\n1) The rings are variable sized (2^n-1 elements).\n2) They have an unfortunate limit of 65535 bytes per sg element.\n3) The page numbers are always 64 bit (PAE anyone?)\n4) They no longer place used[] on a separate page, just a separate\n   cacheline.\n5) We do a modulo on a variable.  We could be tricky if we cared.\n6) Interrupts and notifies are suppressed using flags within the rings.\n\nUsers need only get the ring pages and provide a notify hook (KVM\nwants the guest to allocate the rings, lguest does it sanely).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dor Laor \u003cdor.laor@qumranet.com\u003e\n"
    },
    {
      "commit": "b01d9f2863349b0e041b90c3c86a998ee0fed2b0",
      "tree": "8789a06631a0ee502c58388d12c230eb4a2059b2",
      "parents": [
        "31610434bc3523c0b01a10917a1185096a03c4c8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:39 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Module autoprobing support for virtio drivers.\n\nThis adds the logic to convert the virtio ids into module aliases, and\nincludes a modalias entry in sysfs and the env var to make probing work.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ec3d41c4db4c21164332826ea8d812f94f2f6886",
      "tree": "9b947e900745cfcc4df7409c6ba5583428964215",
      "parents": [
        "47436aa4ad054c1c7c8231618e86ebd9305308dc"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:36 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:54 2007 +1000"
      },
      "message": "Virtio interface\n\nThis attempts to implement a \"virtual I/O\" layer which should allow\ncommon drivers to be efficiently used across most virtual I/O\nmechanisms.  It will no-doubt need further enhancement.\n\nThe virtio drivers add buffers to virtio queues; as the buffers are consumed\nthe driver \"interrupt\" callbacks are invoked.\n\nThere is also a generic implementation of config space which drivers can query\nto get setup information from the host.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dor Laor \u003cdor.laor@qumranet.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    }
  ]
}
