)]}'
{
  "log": [
    {
      "commit": "bbbd2bf00bab467cff7b1f418b2cb24c71291f59",
      "tree": "893578ad97344c822cc21197c66b0c998f21644b",
      "parents": [
        "fdfb870f8e34e77567043b388051df14f7d33482"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Sep 24 21:24:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 25 08:51:04 2007 -0700"
      },
      "message": "fix modules oopsing in lguest guests\n\nThe assembly templates for lguest guest patching are in the .init.text\nsection.  This means that modules get patched with \"cc cc cc cc\" or similar\njunk.\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": "c413fecc763e380ec93dc6faf726e7e735ade04e",
      "tree": "deadc5f49c90dbe41081f2ca472a6b03a105de08",
      "parents": [
        "9863b78a1a82347fa1e727bdca0110151a5c4f10"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Sep 11 17:06:37 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 12:19:46 2007 -0700"
      },
      "message": "lguest: Fix guest crash when CONFIG_X86_USE_3DNOW\u003dy\n\nOne of the very first things lguest_init() does is a memcpy.  On\nAthlon/Duron/K7 or CyrixIII/VIA-C3 or Geode GX/LX, this tries to use\nMMX.\n\nmemcpy -\u003e _mmx_memcpy -\u003e kernel_fpu_begin -\u003e clts -\u003e paravirt_ops.clts\n\nBut we haven\u0027t set paravirt_ops.clts yet, so we do the native version\nand crash.  The simplest solution is to use __memcpy.\n\nThanks to Michael Rasenberger for the bug report.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8057d763ed7a7365dc3402db0aed7c87d8531ecb",
      "tree": "5a04fee7709eeed4babb70296302b1d49e64b37c",
      "parents": [
        "b07d68b5ca4d55a16fab223d63d5fb36f89ff42f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Aug 30 06:35:08 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 30 09:58:22 2007 -0700"
      },
      "message": "Fix lguest page-pinning logic (\"lguest: bad stack page 0xc057a000\")\n\nIf the stack pointer is 0xc057a000, then the first stack page is at\n0xc0579000 (the stack pointer is decremented before use).  Not\ncalculating this correctly caused guests with CONFIG_DEBUG_PAGEALLOC\u003dy\nto be killed with a \"bad stack page\" message: the initial kernel stack\nwas just proceeding the .smp_locks section which\nCONFIG_DEBUG_PAGEALLOC marks read-only when freeing.\n\nThanks to Frederik Deweerdt for the bug report!\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "deec5950479b72eff3130dc6f956a87466ed41c6",
      "tree": "d2a862f5da1a756a32550b1707d47a6bb13bb466",
      "parents": [
        "b377fd3982ad957c796758a90e2988401a884241"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Fri Aug 24 00:03:47 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 23 21:23:33 2007 -0700"
      },
      "message": "lguest should depend on CONFIG_FUTEX\n\nIt uses get_futex_key().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab144f5ec64c42218a555ec1dbde6b60cf2982d6",
      "tree": "e3a4532e1db116e87060c9b18f4cfbf6258fdba3",
      "parents": [
        "d3f3c9346979bfa074c64eac5fc3ed5bba4f40ed"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Aug 10 22:31:03 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:58:13 2007 -0700"
      },
      "message": "i386: Make patching more robust, fix paravirt issue\n\nCommit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177 \"x86: Fix alternatives\nand kprobes to remap write-protected kernel text\" uses code which is\nbeing patched for patching.\n\nIn particular, paravirt_ops does patching in two stages: first it\ncalls paravirt_ops.patch, then it fills any remaining instructions\nwith nop_out().  nop_out calls text_poke() which calls\nlookup_address() which calls pgd_val() (aka paravirt_ops.pgd_val):\nthat call site is one of the places we patch.\n\nIf we always do patching as one single call to text_poke(), we only\nneed make sure we\u0027re not patching the memcpy in text_poke itself.\nThis means the prototype to paravirt_ops.patch needs to change, to\nmarshal the new code into a buffer rather than patching in place as it\ndoes now.  It also means all patching goes through text_poke(), which\nis known to be safe (apply_alternatives is also changed to make a\nsingle patch).\n\nAK: fix compilation on x86-64 (bad rusty!)\nAK: fix boot on x86-64 (sigh)\nAK: merged with other patches\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1a47190a6000d0e75ee4ffa75f3f6b16dd60a0b",
      "tree": "605ecebbdd7fb3d8f507aa74df24bf7da5594148",
      "parents": [
        "cd5bfea278987ebfe60f3ff92a01696b17c4f978"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Fri Aug 10 13:01:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:42 2007 -0700"
      },
      "message": "lguest files should explicitly include asm/paravirt.h\n\nFiles using bits from paravirt.h should explicitly include it rather than\nrelying on it being pulled in by something else.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: 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": "0d027c01cd36b8cff727c78d2e40d334ba9895a8",
      "tree": "21dde51409ab83cbb3ce7200393b3a0acb76388d",
      "parents": [
        "37250097e1b730c30da1790e354c0da65e617043"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Aug 09 20:57:13 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:14:56 2007 -0700"
      },
      "message": "lguest: Fix Malicious Guest GDT Host Crash\n\nIf a Guest makes hypercall which sets a GDT entry to not present, we\ncurrently set any segment registers using that GDT entry to 0.\nUnfortunately, this is not sufficient: there are other ways of\naltering GDT entries which will cause a fault.\n\nThe correct solution to do what Linux does: let them set any GDT value\nthey want and handle the #GP when popping causes a fault.  This has\nthe added benefit of making our Switcher slightly more robust in the\ncase of any other bugs which cause it to fault.\n\nWe kill the Guest if it causes a fault in the Switcher: it\u0027s the\nGuest\u0027s responsibility to make sure it\u0027s not using segments when it\nchanges them.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37250097e1b730c30da1790e354c0da65e617043",
      "tree": "354c1193eb230ecc27eb1a00d555d8c2bc7fd6e9",
      "parents": [
        "88ffc3505988196ef5cfdc0278ad89025c2a7b1a"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Aug 09 20:52:35 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Aug 09 08:14:56 2007 -0700"
      },
      "message": "Fix non-TSC guest clocksource lockup\n\nlguest uses a host-supplied wallclock-based clocksource when the TSC\nis not reliable.  As this is already in nanoseconds, I naively used a\nmultiplier of 1 and a shift of 0.\n\nBut update_wall_time() in its infinite wisdom decides to adjust the\nclock a little (where does it think it\u0027s getting a more accurate time\nfrom?)\n\nIt will happily tweak the multiplier... to 0, then -1.\n\nSo the \"fix\" is to use a shift of 22 like everyone else, and a\nmultiplier of 1 \u003c\u003c 22.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc1ff43b7002b40686f03269b5011d59965737a4",
      "tree": "26ebc91c043f735a7bf7f9e2367fb920ca38ee43",
      "parents": [
        "bac27d35cbbf7c641efcc75b5330df8717d6db65"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Aug 06 10:48:18 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Aug 06 18:21:15 2007 -0700"
      },
      "message": "Enable lguest drivers in Kconfig\n\nLguest drivers need to default to \"Y\" otherwise they\u0027re never selected\nfor new builds.  (We don\u0027t bother prompting, because they\u0027re less than\n4k combined, and implied by selecting lguest support).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05ff09706bacc92ccadde3a74289118789581475",
      "tree": "f18f0a1ff1ac43f9f83fa3ee3508005e83259566",
      "parents": [
        "a6ce22a5f61ba838b43763bf1e5be399f9dee4d0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jul 30 10:25:22 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 17:37:45 2007 -0700"
      },
      "message": "Make lguest compile with CONFIG_BLOCK\u003dn and CONFIG_NET\u003dn\n\nGabriel C reports lguest doesn\u0027t compile with CONFIG_BLOCK\u003dn.  Fix this\nby introducing a config var for the block device, which depends on\nLGUEST \u0026\u0026 BLOCK.  Do the same for the net driver, rather then depending\ngratuitously on CONFIG_NET.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c8dca5d53f95009d4fff00195bf38f277dc4366",
      "tree": "60cc83cf949d6e598e6dc80dc668aebd42c65540",
      "parents": [
        "a8a11f06973fa63ad692a8f97694cb5eeb70b3f3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 27 13:42:52 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 28 19:54:33 2007 -0700"
      },
      "message": "Provide timespec to guests rather than jiffies clock.\n\nA non-periodic clock_event_device and the \"jiffies\" clock don\u0027t mix well:\ntick_handle_periodic() can go into an infinite loop.\n\nCurrently lguest guests use the jiffies clock when the TSC is\nunusable.  Instead, make the Host write the current time into the lguest\npage on every interrupt.  This doesn\u0027t cost much but is more precise\nand at least as accurate as the jiffies clock.  It also gets rid of\nthe GET_WALLCLOCK hypercall.\n\nAlso, delay setting sched_clock until our clock is set up, otherwise\nthe early printk timestamps can go backwards (not harmful, just ugly).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8a11f06973fa63ad692a8f97694cb5eeb70b3f3",
      "tree": "d26b297464d413f7b7d05bc80c76d66743865d2a",
      "parents": [
        "dfbab7540569679a91cf43208eff4ef3f4500a5f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 27 13:35:43 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 28 19:53:36 2007 -0700"
      },
      "message": "Fix lguest bzImage loading with CONFIG_RELOCATABLE\u003dy\n\nJason Yeh sent his crashing .config: bzImages made with\nCONFIG_RELOCATABLE\u003dy put the relocs where the BSS is expected, and we\ncrash with unusual results such as:\n\n\tlguest: unhandled trap 14 at 0xc0122ae1 (0xa9)\n\nRelying on BSS being zero was merely laziness on my part, and\nunfortunately, lguest doesn\u0027t go through the normal startup path (which\ndoes this in asm).\n\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": "f8f0fdcd40449d318f8dc30c1b361b0b7f54134a",
      "tree": "09bdfa13377de602bcd0f363a417a93666115c7e",
      "parents": [
        "bff672e630a015d5b54c8bfb16160b7edc39a57c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation VI: Switcher\n\nDocumentation: The Switcher\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": "bff672e630a015d5b54c8bfb16160b7edc39a57c",
      "tree": "3af06baacb76809234a3e71033d14b7ed769dbd8",
      "parents": [
        "dde797899ac17ebb812b7566044124d785e98dc7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 26 10:41:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:17 2007 -0700"
      },
      "message": "lguest: documentation V: Host\n\nDocumentation: The Host\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": "e2c9784325490c878b7f69aeec1bed98b288bd97",
      "tree": "d474007607c713a30db818107ca0581269f059a2",
      "parents": [
        "b2b47c214f4e85ce3968120d42e8b18eccb4f4e3"
      ],
      "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 III: Drivers\n\nDocumentation: The Drivers\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": "b2b47c214f4e85ce3968120d42e8b18eccb4f4e3",
      "tree": "f77d6898a769b8e0fcb552207e87f273bdc19f09",
      "parents": [
        "f938d2c892db0d80d144253d4a7b7083efdbedeb"
      ],
      "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:17 2007 -0700"
      },
      "message": "lguest: documentation II: Guest\n\nDocumentation: The Guest\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": "18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6",
      "tree": "cb0ff399fb3f368adecf213318e32a499ada6ff9",
      "parents": [
        "93da56efcf8c6a111f0349f6b7651172d4745ca0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 21 04:37:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "clockevents: fix resume logic\n\nWe need to make sure, that the clockevent devices are resumed, before\nthe tick is resumed. The current resume logic does not guarantee this.\n\nAdd CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock\nevent devices before resuming the tick / oneshot functionality.\n\nFixup the existing users.\n\nThanks to Nigel Cunningham for tracking down a long standing thinko,\nwhich affected the jinxed VAIO.\n\n[akpm@linux-foundation.org: xen build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: 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": "9d1ca6f13cfedfd127f3be7e447bd6d922806a65",
      "tree": "fb920888bce49f2bfa8c5a239e2c8c55dd9df7bd",
      "parents": [
        "876be9d89e9c8a007577e6372e331042edf4020b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 20 22:15:01 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 09:05:16 2007 -0700"
      },
      "message": "lguest: override sched_clock\n\nGuests currently use the default scheduler clock: this means they\nalways use jiffies even if TSC is actually available.  It doesn\u0027t make\nany noticeable difference here, but it\u0027s a better thing to do.\n\nAlso remove commented-out asm/sched-clock.h from -mm tree.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "876be9d89e9c8a007577e6372e331042edf4020b",
      "tree": "a6da89d7f91ad5ccd83332b559d6458989889bdd",
      "parents": [
        "e5faff45b381e053c31214713ed783d97f49177b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 20 22:12:56 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 09:05:16 2007 -0700"
      },
      "message": "lguest: trivial: We now have asm/processor-flags.h, so use it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5faff45b381e053c31214713ed783d97f49177b",
      "tree": "0a2b906f9f087b33e4ca9cb892f35f649ab67fb6",
      "parents": [
        "bd6dc742a4b1945861795a66dc27c65365c5f28e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 20 22:11:13 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 09:05:16 2007 -0700"
      },
      "message": "lguest: fix sense if IF flag on interrupt injection\n\nThe sense of the IF bit is backwards in the host interrupt handling.\n\nThis means we always save \"IF\u003d1\" on the stack when injecting an\ninterrupt.  It turns out this is almost always correct (unless the\nguest is taking a page fault in an interrupt due to an unpopulated\nvmalloc mapping), so went unnoticed.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d14bfe77b8246a45670b7158d3a49bfe55662c7",
      "tree": "582782292e590d156a1f126b8b8bf6e0b6341b90",
      "parents": [
        "25cccecce8e29f92eb5a0445bc97ee01ef2da379"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Jul 20 16:10:24 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:24:49 2007 -0700"
      },
      "message": "Fix lguest misannotation\n\n\tIt\u0027s void __user *, not void * __user...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "709e89266b60eff444fc512400321eb02d2474eb",
      "tree": "39df4acd6e6180186db0b7e04c34237ccdca233b",
      "parents": [
        "6db7016d17b235a24e0c1544c202defa47ae7247"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the Makefile and Kconfig\n\nThis is the Kconfig and Makefile to allow lguest to actually be\ncompiled.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7e28ffe6c74416b54345d6004fd0964c115b12c",
      "tree": "844beb4f400d5400098538e0c1e5f12d20a9504a",
      "parents": [
        "07ad157f6e5d228be78acd5cea0291e5d0360398"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the host code\n\nThis is the code for the \"lg.ko\" module, which allows lguest guests to\nbe launched.\n\n[akpm@linux-foundation.org: update for futex-new-private-futexes]\n[akpm@linux-foundation.org: build fix]\n[jmorris@namei.org: lguest: use hrtimers]\n[akpm@linux-foundation.org: x86_64 build fix]\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07ad157f6e5d228be78acd5cea0291e5d0360398",
      "tree": "87180c2d1aa53857f46d1dc293e08c0fbea0608a",
      "parents": [
        "5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 19 01:49:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "lguest: the guest code\n\nlguest is a simple hypervisor for Linux on Linux.  Unlike kvm it doesn\u0027t need\nVT/SVM hardware.  Unlike Xen it\u0027s simply \"modprobe and go\".  Unlike both, it\u0027s\n5000 lines and self-contained.\n\nPerformance is ok, but not great (-30% on kernel compile).  But given its\nhackability, I expect this to improve, along with the paravirt_ops code which\nit supplies a complete example for.  There\u0027s also a 64-bit version being\nworked on and other craziness.\n\nBut most of all, lguest is awesome fun!  Too much of the kernel is a big ball\nof hair.  lguest is simple enough to dive into and hack, plus has some warts\nwhich scream \"fork me!\".\n\nThis patch:\n\nThis is the code and headers required to make an i386 kernel an lguest guest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
