)]}'
{
  "log": [
    {
      "commit": "1dc3e3bcbfe335843ec938bfdddb34d10f4dd278",
      "tree": "8666189f7a285c8e4c6512784dff39971fefa30c",
      "parents": [
        "bf2002967775cbb233876d51ff94e8daa7e77858"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 26 00:19:27 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 26 00:19:28 2008 +1000"
      },
      "message": "lguest: update commentry\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "40c42076ebd362dc69210cccea101ac80b6d4bd4",
      "tree": "01336076f45eb008f00940a5df86b5970b8d92d0",
      "parents": [
        "10fec20ef5eec1c91913baec1225400f0d02df40"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:51 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:52 2008 +1000"
      },
      "message": "lguest: don\u0027t set MAC address for guest unless specified\n\nThis shows up when trying to bridge:\n\ttap0: received packet with  own address as source address\n\nAs Max Krasnyansky points out, there\u0027s no reason to give the guest the\nsame mac address as the TUN device.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\n"
    },
    {
      "commit": "8c79873da0d2bedf4ad6b868c54e426bb0a2fe38",
      "tree": "270efee346b70ae6615dd4796363479c94eca6d9",
      "parents": [
        "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:39 2008 +1000"
      },
      "message": "lguest: turn Waker into a thread, not a process\n\nlguest uses a Waker process to break it out of the kernel (ie.\nactually running the guest) when file descriptor needs attention.\n\nChanging this from a process to a thread somewhat simplifies things:\nit can directly access the fd_set of things to watch.  More\nimportantly, it means that the Waker can see Guest memory correctly,\nso /dev/vring file descriptors will work as anticipated (the\nalternative is to actually mmap MAP_SHARED, but you can\u0027t do that with\n/dev/zero).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3",
      "tree": "2509e74b573bac7560f42cc7ab3640814cf683d7",
      "parents": [
        "398f187d74b89d5ab198fcf9b8d86edbefecec4d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:38 2008 +1000"
      },
      "message": "lguest: Enlarge virtio rings\n\nWith big packets, 128 entries is a little small.\n\nGuest -\u003e Host 1GB TCP:\nBefore: 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\nAfter: 8.01099 seconds xmit 49200 recv 102263 timeout 26014 usec 2118\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "398f187d74b89d5ab198fcf9b8d86edbefecec4d",
      "tree": "7aee6787f46a8db0099f37e9dfea787499ecbcd1",
      "parents": [
        "9254926f85466979ef5f0e16386c294bf0973a90"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Use GSO/IFF_VNET_HDR extensions on tun/tap\n\nGuest -\u003e Host 1GB TCP:\nBefore 20.1974 seconds xmit 214510 recv 5 timeout 214491 usec 278\nAfter 8.43625 seconds xmit 95640 recv 198266 timeout 49771 usec 1252\n\nHost -\u003e Guest 1GB TCP:\nBefore: Seconds 9.98854 xmit 172166 recv 5344 timeout 172157 usec 251\nAfter: Seconds 5.72803 xmit 244322 recv 9919 timeout 244302 usec 156\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9254926f85466979ef5f0e16386c294bf0973a90",
      "tree": "c668e82dd63b50d8aea8b2459a172166880dd4f1",
      "parents": [
        "aa1249840bfc8d62431eed5796bf99887b963ab6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:37 2008 +1000"
      },
      "message": "lguest: Remove \u0027network: no dma buffer!\u0027 warning\n\nThis warning can happen a lot under load, and it should be warnx not\nwarn anwyay.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "aa1249840bfc8d62431eed5796bf99887b963ab6",
      "tree": "35cf6cd82910af52e271c5e78ad47529e6daaed6",
      "parents": [
        "a161883a29bf6100efe7b5346bec274e5023c29c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Adaptive timeout\n\nSince the correct timeout value varies, use a heuristic which adjusts\nthe timeout depending on how many packets we\u0027ve seen.  This gives\nslightly worse results, but doesn\u0027t need tweaking when GSO is\nintroduced.\n\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\nDynamic (278)\t20.1974\t\txmit 214510 recv 5 timeout 214491 usec 278\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a161883a29bf6100efe7b5346bec274e5023c29c",
      "tree": "5d5b65172a64789eada0e3b824564a793033d0ad",
      "parents": [
        "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:36 2008 +1000"
      },
      "message": "lguest: Tell Guest net not to notify us on every packet xmit\n\nvirtio_ring has the ability to suppress notifications.  This prevents\na guest exit for every packet, but we need to set a timer on packet\nreceipt to re-check if there were any remaining packets.\n\nHere are the times for 1G TCP Guest-\u003eHost with different timeout\nsettings (it matters because the TCP window doesn\u0027t grow big enough to\nfill the entire buffer):\n\nTimeout value\tSeconds\t\tXmit/Recv/Timeout\nNone (before)\t25.3784\t\txmit 7750233 recv 1\n2500 usec\t62.5119\t\txmit 207020 recv 2 timeout 207020\n1000 usec\t34.5379\t\txmit 207003 recv 2 timeout 207003\n750 usec\t29.2305\t\txmit 207002 recv 1 timeout 207002\n500 usec\t19.1887\t\txmit 561141 recv 1 timeout 559657\n250 usec\t20.0465\t\txmit 214128 recv 2 timeout 214110\n100 usec\t19.2583\t\txmit 561621 recv 1 timeout 560153\n\n(Note that these values are sensitive to the GSO patches which come\n later, and probably other traffic-related variables, so take with a\n large grain of salt).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5dae785a82c1a8c05b5b4f9709bd9ce658dcf1b6",
      "tree": "e737c655acb7ea53644392263d9dd99aae76aec9",
      "parents": [
        "b5111790fa6695b1502d4f5d389f6b22b9de10c3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: net block unneeded receive queue update notifications\n\nNumber of exits transmitting 10GB Guest-\u003eHost before:\n\tnetwork xmit 7858610 recv 118136\n\nAfter:\n\tnetwork xmit 7750233 recv 1\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b5111790fa6695b1502d4f5d389f6b22b9de10c3",
      "tree": "f937d643aaf845ecd7952055fcb6c4d8b879e040",
      "parents": [
        "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:35 2008 +1000"
      },
      "message": "lguest: wrap last_avail accesses.\n\nTo simplify the transition to when we publish indices in the ring\n(and make shuffling my patch queue easier), wrap them in a lg_last_avail()\nmacro.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "28fd6d7f953711fbf67496701be05513052d967d",
      "tree": "08b3b76e4b0e3440a552facbbef55993be2932e1",
      "parents": [
        "dec6a2be085f046d42eb0bdce95ecb73de526429"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: virtio-rng support\n\nThis is a simple patch to add support for the virtio \"hardware random\ngenerator\" to lguest.  It gets about 1.2 MB/sec reading from /dev/hwrng\nin the guest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "dec6a2be085f046d42eb0bdce95ecb73de526429",
      "tree": "0e2bd1576b32167259bb8d290f134c1b7eb1017a",
      "parents": [
        "34bdaab44dd5dac861b0d23bc29b147b569e5783"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Tue Jul 29 09:58:33 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Support assigning a MAC address\n\nIf you\u0027ve got a nice DHCP configuration which maps MAC\naddresses to specific IP addresses, then you\u0027re going to\nwant to start your guest with one of those MAC addresses.\n\nAlso, in Fedora, we have persistent network interface naming\nbased on the MAC address, so with randomly assigned\naddresses you\u0027re soon going to hit eth13. Who knows what\nwill happen then!\n\nAllow assigning a MAC address to the network interface with\ne.g.\n\n  --tunnet\u003dbridge:eth0:00:FF:95:6B:DA:3D\n\nor:\n\n  --tunnet\u003d192.168.121.1:00:FF:95:6B:DA:3D\n\nwhich is pretty unintelligable, but ...\n\n(includes Rusty\u0027s minor rework)\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34bdaab44dd5dac861b0d23bc29b147b569e5783",
      "tree": "15dfb12a794d9de9341a90af3a5f6358216eaec0",
      "parents": [
        "32c68e5c569fdf016b494ce2fc8eecf59b6881bd"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jun 13 14:04:58 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:33 2008 +1000"
      },
      "message": "lguest: Don\u0027t leak /dev/zero fd\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "32c68e5c569fdf016b494ce2fc8eecf59b6881bd",
      "tree": "c61a79f3c34854a4ce9e6131352e05baec46c7b8",
      "parents": [
        "0a707210aa1b8ac40fe781b2a9d0b203b6ebb921"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:32 2008 +1000"
      },
      "message": "lguest: fix verbose printing of device features.\n\n%02x is more appropriate for bytes than %08x.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "20887611523e749d99cc7d64ff6c97d27529fbae",
      "tree": "a0b74c524c23762133b8b3de8235753760b13071",
      "parents": [
        "b4f68be6c5d507afdcd74f5be3df0b1209cda503"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:46 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:46 2008 +1000"
      },
      "message": "lguest: notify on empty\n\nThis is the lguest implementation of the VIRTIO_F_NOTIFY_ON_EMPTY feature.\nIt is currently only published for network devices, but it is turned on for\neveryone.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a007a751d98fe97142e4724a83a4e31ec66b7532",
      "tree": "ab9d1d844688834875359c600982a3c8ae738014",
      "parents": [
        "9f3f746741d917fe3c6c544c7d319d533176d90b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 02 21:50:53 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 02 21:50:54 2008 +1000"
      },
      "message": "lguest: make Launcher see device status updates\n\nThis brings us closer to Real Life, where we\u0027d examine the device\nfeatures once it\u0027s set the DRIVER_OK status bit.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cb38fa23c17519faf46a76d2f71a8430705fe474",
      "tree": "8a2a4ac0c4d8091cc15216871bc74e98337bfa41",
      "parents": [
        "81473132878f8a1d0c6a78cffa0cf84c8a19c1be"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 02 21:50:45 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 02 21:50:45 2008 +1000"
      },
      "message": "virtio: de-structify virtio_block status byte\n\nRon Minnich points out that a struct containing a char is not always\nsizeof(char); simplest to remove the structure to avoid confusion.\n\nCc: \"ron minnich\" \u003crminnich@gmail.com\u003e\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a6bd8e13034dd7d60b6f14217096efa192d0adc1",
      "tree": "23890908b06eb8357e6ce633d35df1216f5e4213",
      "parents": [
        "e18b094f0faa4889b06a112da17230a10b88c815"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:53 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:54 2008 +1100"
      },
      "message": "lguest: comment documentation update.\n\nTook some cycles to re-read the Lguest Journey end-to-end, fix some\nrot and tighten some phrases.\n\nOnly comments change.  No new jokes, but a couple of recycled old jokes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e18b094f0faa4889b06a112da17230a10b88c815",
      "tree": "a06aa97ac95c45ee6774ddae7b8390af02129f54",
      "parents": [
        "9b7a448e2b23101a776ddf639c9037d47244f7ab"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:52 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:53 2008 +1100"
      },
      "message": "lguest: Don\u0027t need comment terminator before disk section.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9b7a448e2b23101a776ddf639c9037d47244f7ab",
      "tree": "43ad3b84a51a0af1a6b252222946f45b29d999b7",
      "parents": [
        "b488f22d70f1c2451618b9991b9665d2c6b31e2b"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Tue Mar 11 13:36:14 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:52 2008 +1100"
      },
      "message": "lguest: lguest.txt documentation fix\n\nMention the config options for the Virtio drivers and move the Virtualization\nmenu to the toplevel.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b488f22d70f1c2451618b9991b9665d2c6b31e2b",
      "tree": "f2d7d91408edced2ee31744c857ae4e7546f974f",
      "parents": [
        "bd6c26900bae19bd51abedfc9a8a281afbba3a06"
      ],
      "author": {
        "name": "Tim Ansell",
        "email": "mithro@mithis.com",
        "time": "Mon Feb 11 18:13:42 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:52 2008 +1100"
      },
      "message": "lguest: Add puppies which where previously missing.\n\nlguest doesn\u0027t have features, it has puppies!\n\nSigned-off-by: Timothy R Ansell \u003cmithro@mithis.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1ef36fa64e65079de18ff5179a51af58e44d49a6",
      "tree": "3c59c9e4ed6327327191e916051c5f088e7478bf",
      "parents": [
        "4357bd9453b81e0a41db1dec16e06d74256b7560"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Mar 10 16:39:03 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 11 09:35:58 2008 +1100"
      },
      "message": "lguest: Do not append space to guests kernel command line\n\nThe lguest launcher appends a space to the kernel command line (if kernel\narguments are specified on its command line). This space is unneeded. More\nimportantly, this appended space will make Red Hat\u0027s nash script interpreter\n(used in a Fedora style initramfs) add an empty argument to init\u0027s command\nline. This empty argument will make kernel arguments like \"init\u003d/bin/bash\"\nfail (because the shell will try to execute a script with an empty name).\nThis could be considered a bug in nash, but is easily fixed in the lguest\nlauncher too.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6e5aa7efb27aec7e55b6463fa2c8db594c4226fa",
      "tree": "060a955e711ac224136157a5410e88dcdab965af",
      "parents": [
        "b3369c1fb410fddeb38a404316c861395f6d6ae8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:03 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:03 2008 +1100"
      },
      "message": "virtio: reset function\n\nA reset function solves three problems:\n\n1) It allows us to renegotiate features, eg. if we want to upgrade a\n   guest driver without rebooting the guest.\n\n2) It gives us a clean way of shutting down virtqueues: after a reset,\n   we know that the buffers won\u0027t be used by the host, and\n\n3) It helps the guest recover from messed-up drivers.\n\nSo we remove the -\u003eshutdown hook, and the only way we now remove\nfeature bits is via reset.\n\nWe leave it to the driver to do the reset before it deletes queues:\nthe balloon driver, for example, needs to chat to the host in its\nremove function.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "426e3e0af5d2473e67d4256fc1340b7faebd1cc7",
      "tree": "29912e63889e45307f41ef08116ecd895b17e21c",
      "parents": [
        "3309daaad724dd08eb598bf9c12b7bb9daddd706"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:59 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:00 2008 +1100"
      },
      "message": "virtio: clarify NO_NOTIFY flag usage\n\nThe other side (host) can set the NO_NOTIFY flag as an optimization,\nto say \"no need to kick me when you add things\".  Make it clear that\nthis is advisory only; especially that we should always notify when\nthe ring is full.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a586d4f6016f7139d8c26df0e6927131168d3b5b",
      "tree": "1c47e1a6b6b8fb18baa42f32980f29c4ae9cbbdc",
      "parents": [
        "f35d9d8aae08940b7fdd1bb8110619da2ece6b28"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:56 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:57 2008 +1100"
      },
      "message": "virtio: simplify config mechanism.\n\nPreviously we used a type/len pair within the config space, but this\nseems overkill.  We now simply define a structure which represents the\nlayout in the config space: the config space can now only be extended\nat the end.\n\nThe main driver-visible changes:\n1) We indicate what fields are present with an explicit feature bit.\n2) Virtqueues are explicitly numbered, and not in the config space.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e3283fa0cc5c4f9bde52339a40da89297e51b481",
      "tree": "c289c2681d2cedd5ee778a8a754417ab50946d8a",
      "parents": [
        "badb1e04028e3e029ff9447d4aeb162a84ad68c2"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:23 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:05 2008 +1100"
      },
      "message": "lguest: adapt launcher to per-cpuness\n\nThis patch makes uses of pread() and pwrite() in lguest launcher\nto communicate the vcpu id to the lguest driver. The id is kept in\na thread variable, which means we\u0027ll span in the future, vcpus as\nthreads. But right now, only the infrastructure is out there.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ec04b13f67be3c90b38c625f4b8bdfea54c1ff60",
      "tree": "7819de21361fdd65487ef75ea9f2b774e4203f83",
      "parents": [
        "5c55841d16dbf7c759fa6fb2ecc5e615b86d17db"
      ],
      "author": {
        "name": "Balaji Rao",
        "email": "balajirrao@gmail.com",
        "time": "Fri Dec 28 14:26:24 2007 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:04 2008 +1100"
      },
      "message": "lguest: Reboot support\n\nReboot Implemented\n\n(Prevent fd leak, fix style and fix documentation --RR)\n\nSigned-off-by: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2e12a7fb0d79d011ff9e0b09b53ca4438e5604de",
      "tree": "12e57ede14d794601ef98732733c1f7e4c0bbcf3",
      "parents": [
        "459e216429a04779216b61f0fb61938a459fd1ca"
      ],
      "author": {
        "name": "Sheela",
        "email": "sheela.sequeira@gmail.com",
        "time": "Mon Dec 17 16:19:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:16 2007 -0800"
      },
      "message": "Fix lguest documentation\n\nShare net is not supported, Rusty is an \"idiot\" .\n\nSigned-off-by: Sheela Sequeira \u003csheela.sequeira@gmail.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1c856e0f1a4c946c6329cff126548ef4288735f",
      "tree": "e9f6c6754c9937b4a5de26a41b05b7e79cf661fd",
      "parents": [
        "2ffbb8377c7a0713baf6644e285adc27a5654582"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 19 11:20:40 2007 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 19 11:20:41 2007 +1100"
      },
      "message": "lguest: Fix uninitialized members in example launcher\n\nThanks valgrind!\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": "1200e646ae238afc536be70257290eb33fb6e364",
      "tree": "c9efa72365b96fdc4323834b39068442f5caef89",
      "parents": [
        "1bc4953ed44454c7f53d0b609445d1534981ee75"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Thu Nov 08 21:13:44 2007 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 12 13:59:26 2007 +1100"
      },
      "message": "lguest: Fix lguest virtio-blk backend size computation\n\nThis seems like an obvious typo but it\u0027s worked in the past because the virtio\nblk frontend just ignores the length field on completion.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e1e72965ec2c02db99b415cd06c17ea90767e3a4",
      "tree": "94e43aac35bdc33220e64f285b72b3b2b787fd57",
      "parents": [
        "568a17ffce2eeceae0cd9fc37e97cbad12f70278"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "message": "lguest: documentation update\n\nWent through the documentation doing typo and content fixes.  This\npatch contains only comment and whitespace changes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "db24e8c2ef7eceb46818a8c22fc38dea733fe159",
      "tree": "5ad38b8aa9effd7572db57c480747b66f056e493",
      "parents": [
        "c9927c2bf4f45bb85e8b502ab3fb79ad6483c244"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:25 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:25 2007 +1000"
      },
      "message": "lguest: example launcher header cleanup.\n\nNow the kernel headers are clean for userspace export, we don\u0027t need\nto typedef kernel types before including them.  We also don\u0027t need\npci_ids.h (that was from an earlier virtio draft).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "43d33b21a03d3abcc8cbdeb4d52bc4568f822c5e",
      "tree": "0d4962a625b028e84586c645deb4387861865fb6",
      "parents": [
        "5bbf89fc260830f3f58b331d946a16b39ad1ca2d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:29:57 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:57 2007 +1000"
      },
      "message": "Use \"struct boot_params\" in example launcher\n\nNow that the \"struct boot_params\" is userspace accessible, we don\u0027t need\nmagic numbers.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5bbf89fc260830f3f58b331d946a16b39ad1ca2d",
      "tree": "7b5401eefe9239cd84bf843fd8d8e8bcc79f26cd",
      "parents": [
        "814a0e5cdfbd384f4bf7a8443f9c3b885f413d58"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:29:56 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:57 2007 +1000"
      },
      "message": "Loading bzImage directly.\n\nNow arch/i386/boot/compressed/head.S understands the hardware_platform field,\nwe can directly execute bzImages.  No more horrific unpacking code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "814a0e5cdfbd384f4bf7a8443f9c3b885f413d58",
      "tree": "4cb82a6ec1db54ce00fbc3700762cd3dc46a0b4e",
      "parents": [
        "1f5a29022ac66bc90cbe2a2162f56e9cd7b393ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:29:44 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:57 2007 +1000"
      },
      "message": "Revert lguest magic and use hook in head.S\n\nVersion 2.07 of the boot protocol uses 0x23C for the hardware_subarch\nfield, that for lguest is \"1\".  This allows us to use the standard\nboot entry point rather than the \"GenuineLguest\" string hack.\n\nThe standard entry point also clears the BSS and copies the boot parameters\nand commandline for us, saving more code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1f5a29022ac66bc90cbe2a2162f56e9cd7b393ef",
      "tree": "9cc0827eb6417522ce61ea36f26ca1e4415409f2",
      "parents": [
        "2d37f94a28170ca656438758fca577acb49a7932"
      ],
      "author": {
        "name": "Chris Malley",
        "email": "mail@chrismalley.co.uk",
        "time": "Mon Oct 22 11:27:54 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:57 2007 +1000"
      },
      "message": "Update lguest documentation to reflect the new virtual block device name.\n\nSigned-off-by: Chris Malley \u003cmail@chrismalley.co.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "56ae43dfe233323683248a5c553bad7160db2fa5",
      "tree": "27260aff3586bd0373ee6cf4a468dd5962209e88",
      "parents": [
        "17cbca2ba3de990258943d9e5a1788430ca3ad0d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:23 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:56 2007 +1000"
      },
      "message": "Example launcher handle guests not being ready for input\n\nWe currently discard console and network input when the guest has no\ninput buffers.  This patch changes that, so that we simply stop\nlistening to that fd until the guest refills its input buffers.\n\nThis is particularly important because hvc_console without interrupts\ndoes backoff polling and so often lose characters if we discard.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "17cbca2ba3de990258943d9e5a1788430ca3ad0d",
      "tree": "528bc7c927fd4e29832101b6e98672698463bcb2",
      "parents": [
        "19f1537b7b8a9a82665db3ad8210a9d954d13acd"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:22 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:56 2007 +1000"
      },
      "message": "Update example launcher for virtio\n\nImplements virtio-based console, network and block servers.  The block\nserver uses a thread so it\u0027s async, which is an improvement over the\nold synchronous implementation (but a little more complex).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "47436aa4ad054c1c7c8231618e86ebd9305308dc",
      "tree": "a9ba6e0521f9116442144a86e781a3164ec86094",
      "parents": [
        "c18acd73ffc209def08003a1927473096f66c5ad"
      ],
      "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": "Boot with virtual \u003d\u003d physical to get closer to native Linux.\n\n1) This allows us to get alot closer to booting bzImages.\n\n2) It means we don\u0027t have to know page_offset.\n\n3) The Guest needs to modify the boot pagetables to create the\n   PAGE_OFFSET mapping before jumping to C code.\n\n4) guest_pa() walks the page tables rather than using page_offset.\n\n5) We don\u0027t use page_offset to figure out whether to emulate: it was\n   always kinda quesationable, and won\u0027t work for instructions done\n   before remapping (bzImage unpacking in particular).\n\n6) We still want the kernel address for tlb flushing: have the initial\n   hypercall give us that, too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "511801dc31c095b2bfe3bf5c6a370dbe9b042a70",
      "tree": "fcd0f1111e503f33e39660d3aba55ff5b64ebf56",
      "parents": [
        "b410e7b1499c49513cab18275db8a8ab549d9e09"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:31 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:52 2007 +1000"
      },
      "message": "Change example launcher to use unsigned long not u32\n\nApply Clue 2x4 to lguest userland\u003c-\u003ekernel handling code and the\nlguest launcher. Pointers are not to be passed in u32\u0027s!\n\nBasic rule of thumb: Anything passing u32\u0027s back and forth should be\npassing unsigned longs to be portable to 64 bit archs.\n\nFor those who forgotten already, I repeat: NO POINTERS IN u32!\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3c6b5bfa3cf3b4057788e08482a468cc3bc00780",
      "tree": "f0d67890f6f8c9d0840c9b19a483ec06cbf822ef",
      "parents": [
        "6649bb7af6a819b675bfcf22ab704737e905645a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:26 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:50 2007 +1000"
      },
      "message": "Introduce guest mem offset, static link example launcher\n\nIn order to avoid problematic special linking of the Launcher, we give\nthe Host an offset: this means we can use any memory region in the\nLauncher as Guest memory rather than insisting on mmap() at 0.\n\nThe result is quite pleasing: a number of casts are replaced with\nsimple additions.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "6649bb7af6a819b675bfcf22ab704737e905645a",
      "tree": "64e3b9e120ff1bafa074db2f76302230b88ac3f6",
      "parents": [
        "1f4e1de4f23e158abf976a76e1d0fce6e39b532a"
      ],
      "author": {
        "name": "Ronald G. Minnich",
        "email": "rminnich@gmail.com",
        "time": "Tue Aug 28 14:35:59 2007 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:50 2007 +1000"
      },
      "message": "Accept elf files that are valid but have sections that can not be mmap\u0027ed for some reason.\n\nPlan9 kernel binaries don\u0027t neatly align their ELF sections to our\npage boundaries.\n\nSigned-off-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b45d8cb054d7677d75176ae22a584fd84e4650e9",
      "tree": "f9b91a045a6e602ccb3d8a478d2b235701e1c09e",
      "parents": [
        "9653c4aff94e43de5f4ef918d47e00018beb4105"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 10:56:24 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:49 2007 +1000"
      },
      "message": "Make lguest_launcher.h types userspace-friendly\n\nlguest_launcher.h uses \"u32\" not \"__u32\", which sets a bad example.  Fix that,\nand include \u003clinux/types.h\u003e.\n\nThis means we need to use -I on the Launcher build line so types.h is found.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9653c4aff94e43de5f4ef918d47e00018beb4105",
      "tree": "a02ea6c46dbb471c54996c376c8e5c2510133b73",
      "parents": [
        "141341cdae5f1745e3903a6b9732672230b1dd64"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 10:56:23 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:48 2007 +1000"
      },
      "message": "lguest.txt update\n\no Describe the new split configurations\no Highlight code documentation in drivers/lguest/README\no Point out necessity of having a getty on /dev/hvc0\no Remove gratuitous \"m\" in example\no Don\u0027t discuss I/O model here, stick to user documentation.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "babed5c00225f109d6ebea368ad2deea2abcce32",
      "tree": "dbe48e07afdd57834fae74c5a7e40493ffc78019",
      "parents": [
        "25e82eba3a351cc3b263cae765a8786c827e42af"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Oct 22 10:56:21 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:47 2007 +1000"
      },
      "message": "turn err into errx in lguest call sites\n\nThese two callsites should really be errx instead of err, since there is\nno errno associated with them in the moment they are issued.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\n"
    },
    {
      "commit": "ee8e7cfe9d330d6f1ce0b9b1620d6df5d9cf6b70",
      "tree": "a9534bac7060e546c0c3e6ea34d0469d8903bf0e",
      "parents": [
        "9525ca0286afd54a5cd69d9ded741b4df8d0c554"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 10:56:19 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:47 2007 +1000"
      },
      "message": "Make asm-x86/bootparam.h includable from userspace.\n\nTo actually write a bootloader (or, say, the lguest launcher)\ncurrently requires duplication of these structures.  Making them\nincludable from userspace is much nicer.\n\nWe merge the common userspace-required definitions of e820_32/64.h\ninto e820.h for export.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42",
      "tree": "d947a467aa2da3140279617bc4b9b101640d7bf4",
      "parents": [
        "27bd0c955648646abf2a353a8371d28c37bcd982"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "message": "i386/x86_64: move headers to include/asm-x86\n\nMove the headers to include/asm-x86 and fixup the\nheader install make rules\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6a592e8abd2f2394623ce5427cbb4c265495974",
      "tree": "ff5e176b3ee0832978babae80bb13f32c8a77699",
      "parents": [
        "78bd8fbbcd66fc977baa40e7fd838a4461b0f727"
      ],
      "author": {
        "name": "Chris Malley",
        "email": "mail@chrismalley.co.uk",
        "time": "Wed Sep 26 14:19:18 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 26 09:22:04 2007 -0700"
      },
      "message": "lguest example launcher truncates block device file to 0 length on problems\n\nThe function should also use ftruncate64() rather than ftruncate() to prevent\nfiles over 4GB (not uncommon for a root filesystem) being zeroed.\n\nSigned-off-by: Chris Malley \u003cmail@chrismalley.co.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3bcf5e2785aa49f75f36a8d27d601891a7ff12b",
      "tree": "8a79cd195751b325e4972ef1b53ff2cc5a9eb5fe",
      "parents": [
        "0d027c01cd36b8cff727c78d2e40d334ba9895a8"
      ],
      "author": {
        "name": "Ronald G. Minnich",
        "email": "rminnich@gmail.com",
        "time": "Thu Aug 09 21:07:24 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:14:56 2007 -0700"
      },
      "message": "lguest: avoid shared libraries mapped over guest memory\n\nSome versions of ld.so mmap the shared libraries right in over guest\nmemory, so compile lguest statically by default.\n\n[ FC7 maps shared libraries very low, where the launcher maps guest\u0027s\n  physical memory.  Quick fix is to link Launcher static, real fix is\n  for 2.6.24. ]\n\n-static is a simple fix. I expect this problem will be more common than we\nlike, as different distro\u0027s make different \"improvements\" to ld.so\n\nSigned-off-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f56a384e98aa81065038c4e16f39ed989ccae687",
      "tree": "923bcaabd76a88351fe5e61370143350747a90c4",
      "parents": [
        "f8f0fdcd40449d318f8dc30c1b361b0b7f54134a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation VII: FIXMEs\n\nDocumentation: The FIXMEs\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dde797899ac17ebb812b7566044124d785e98dc7",
      "tree": "531ae7fd415d267e49acfedbbf4f03cf86e5eac1",
      "parents": [
        "e2c9784325490c878b7f69aeec1bed98b288bd97"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation IV: Launcher\n\nDocumentation: The Launcher\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f938d2c892db0d80d144253d4a7b7083efdbedeb",
      "tree": "1fbc946a9fb59827001a5d4d5224abe5e624e605",
      "parents": [
        "dfb68689bf3e3d31dc9fb5c2bde5379a4ca9b0ec"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:16 2007 -0700"
      },
      "message": "lguest: documentation I: Preparation\n\nThe netfilter code had very good documentation: the Netfilter Hacking HOWTO.\nNoone ever read it.\n\nSo this time I\u0027m trying something different, using a bit of Knuthiness.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6570c45995a6339597462434a81f358a38941ac4",
      "tree": "e1d963379a71e847f92c447a7ebffeb45bdf1d0f",
      "parents": [
        "6ddb23c78aeef40f549c5ad22a3e8dfa1f8297e0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 23 18:43:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 12:24:59 2007 -0700"
      },
      "message": "link lguest example launcher non-static\n\nS.Caglar Onur points out that many distributions don\u0027t ship a static\nzlib.  Unfortunately the launcher currently maps virtual device memory\nwhere shared libraries want to go.\n\nThe solution is to pre-scan the args to figure out how much memory we\nhave, then allocate devices above that, rather than down from the top\npossible address.  This also turns out to be simpler.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ca47e00690914a9e5e6c734baa37c829a2f2fa1",
      "tree": "928350cf70a685428cc5a9779044aa88c5771af9",
      "parents": [
        "b754416bfe9adac6468e45fba244d77f52048aeb"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:53 2007 -0700"
      },
      "message": "lguest: the documentation, example launcher\n\nA brief document describing how to use lguest.  Because lguest doesn\u0027t have an\nABI we also include an example launcher in the Documentation directory.\n\n[jmorris@namei.org: Fix up nat example in documentation]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Matias Zabaljauregui \u003cmatias.zabaljauregui@cern.ch\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
