)]}'
{
  "log": [
    {
      "commit": "a15af1c9ea2750a9ff01e51615c45950bad8221b",
      "tree": "b4167c16c23365d016180b20248c724902e0c954",
      "parents": [
        "239d1fc04ed0b58d638096b12a7f6d50269d30c9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:06 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "x86/paravirt: add pte_flags to just get pte flags\n\nAdd pte_flags() to extract the flags from a pte.  This is a special\ncase of pte_val() which is only guaranteed to return the pte\u0027s flags\ncorrectly; the page number may be corrupted or missing.\n\nThe intent is to allow paravirt implementations to return pte flags\nwithout having to do any translation of the page number (most notably,\nXen).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d3135846f6c1858dbad6ccb780a42e6c98953e6d",
      "tree": "f1800b9b4b435f86c33385bb4a002239547e3879",
      "parents": [
        "5f090dcb4d4fff373ce7165bce4ba5e87534d50a"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:16:32 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:32 2008 -0400"
      },
      "message": "drivers: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.  It\u0027s possible that they rely on it dragging in some\nunrelated header file, but I can\u0027t build all these files, so we\u0027ll have\nfix any build failures as they come up.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "ca94f2bdd1be626361fcfbd474d6b8823ed39f74",
      "tree": "9b7f82ce7c2c20a45e1bfb611153d05ac7af2baf",
      "parents": [
        "382ac6b3fbc0ea6a5697fc6caaf7e7de12fa8b96"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jan 18 23:59:07 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:19 2008 +1100"
      },
      "message": "lguest: Use explicit includes rateher than indirect\n\nexplicitly use ktime.h include\nexplicitly use hrtimer.h include\nexplicitly use sched.h include\n\nThis patch adds headers explicitly to lguest sources file,\nto avoid depending on them being included somewhere else.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "382ac6b3fbc0ea6a5697fc6caaf7e7de12fa8b96",
      "tree": "bdda012251f29775b2e1201f3b2b3e38c4680f42",
      "parents": [
        "934faab464c6a26ed1a226b6cf7111b35405dde1"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:19:42 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:18 2008 +1100"
      },
      "message": "lguest: get rid of lg variable assignments\n\nWe can save some lines of code by getting rid of\n*lg \u003d cpu... lines of code spread everywhere by now.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ae3749dcd8c31dcfbab14ea28c68a944c93f418f",
      "tree": "bdbbe9207bb7c50e9aeb7afc5b5653b79501c03f",
      "parents": [
        "f34f8c5fea079065671163c37d98328cff31980b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:14:46 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:17 2008 +1100"
      },
      "message": "lguest: move changed bitmap to lg_cpu\n\nevents represented in the \u0027changed\u0027 bitmap are per-cpu, not per-guest.\nmove it to the lg_cpu structure\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f34f8c5fea079065671163c37d98328cff31980b",
      "tree": "73a97cb67c1450b21587cbadde7a7dad6c58d46d",
      "parents": [
        "c40a9f4719d36841a2d7ff4fe866dce7bfb454b7"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:13:26 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:16 2008 +1100"
      },
      "message": "lguest: move last_pages to lg_cpu\n\nin our new model, pages are assigned to a virtual cpu, not to a guest.\nWe move it to the lg_cpu structure.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1713608f280002d9ffc6de89d7de5cf367072d63",
      "tree": "332e7bdbe7ccccad408b309a4dd00b706b04082f",
      "parents": [
        "5e232f4f428c4266ba5cdae9f23ba19a0913dcf9"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:37 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:14 2008 +1100"
      },
      "message": "lguest: per-vcpu lguest pgdir management\n\nthis patch makes the pgdir management per-vcpu. The pgdirs pool\nis still guest-wide (although it\u0027ll probably need to grow when we\nare really executing more vcpus), but the pgdidx index is gone,\nsince it makes no sense anymore. Instead, we use a per-vcpu\nindex.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5e232f4f428c4266ba5cdae9f23ba19a0913dcf9",
      "tree": "591e21cb88959373e495eac7eb8ee2c2865771ae",
      "parents": [
        "4665ac8e28c30c2a015c617c55783c0bf3a49c05"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:36 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:13 2008 +1100"
      },
      "message": "lguest: make pending notifications per-vcpu\n\nthis patch makes the pending_notify field, used to control\npending notifications, per-vcpu, instead of per-guest\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4665ac8e28c30c2a015c617c55783c0bf3a49c05",
      "tree": "15992d7e693126be7f758e694c8a544306576dfd",
      "parents": [
        "66686c2ab08feb721ca4d98285fba64acdf6017f"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:35 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:13 2008 +1100"
      },
      "message": "lguest: makes special fields be per-vcpu\n\nlguest struct have room for some fields, namely, cr2, ts, esp1\nand ss1, that are not really guest-wide, but rather, vcpu-wide.\n\nThis patch puts it in the vcpu struct\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "66686c2ab08feb721ca4d98285fba64acdf6017f",
      "tree": "bae76c0e0dc78809abc83b8f0dc9f84dca702de0",
      "parents": [
        "fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:34 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:12 2008 +1100"
      },
      "message": "lguest: per-vcpu lguest task management\n\nlguest uses tasks to control its running behaviour (like sending\nbreaks, controlling halted state, etc). In a per-vcpu environment,\neach vcpu will have its own underlying task. So this patch\nmakes the infrastructure for that possible\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d",
      "tree": "e9a6df9c9b8cf4077c98198c3f5d3bc6dc991c0f",
      "parents": [
        "a53a35a8b485b9c16b73e5177bddaa4321971199"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:33 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:11 2008 +1100"
      },
      "message": "lguest: replace lguest_arch with lg_cpu_arch.\n\nThe fields found in lguest_arch are not really per-guest,\nbut per-cpu (gdt, idt, etc). So this patch turns lguest_arch\ninto lg_cpu_arch.\n\nIt makes sense to have a per-guest per-arch struct, but this\ncan be addressed later, when the need arrives.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a53a35a8b485b9c16b73e5177bddaa4321971199",
      "tree": "8ed96838cb47d1263f63aba6dd6921b3c811f46c",
      "parents": [
        "a3863f68b0d7fe2073c0f4efe534ec87a685c4fa"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:32 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:11 2008 +1100"
      },
      "message": "lguest: make registers per-vcpu\n\nThis is the most obvious per-vcpu field: registers.\n\nSo this patch moves it from struct lguest to struct vcpu,\nand patch the places in which they are used, accordingly\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0c78441cf4dd66f66e23dc085f0cc1e3e8669b96",
      "tree": "33216420c6300df9a345247dc6e0b669ce5b2198",
      "parents": [
        "177e449dc5bd4cf8dc48d66abee61ddf34b126b9"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:30 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:09 2008 +1100"
      },
      "message": "lguest: map_switcher_in_guest() per-vcpu\n\nThe switcher needs to be mapped per-vcpu, because different vcpus\nwill potentially have different page tables (they don\u0027t have to,\nbecause threads will share the same).\n\nSo our first step is the make the function receive a vcpu struct\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "177e449dc5bd4cf8dc48d66abee61ddf34b126b9",
      "tree": "f0aaea9407971d8f6b9ad4e177a834f1be3aa993",
      "parents": [
        "ad8d8f3bc61ec712dd141e1029ae68c47fadc4a7"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:29 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:09 2008 +1100"
      },
      "message": "lguest: per-vcpu interrupt processing.\n\nThis patch adapts interrupt processing for using the vcpu struct.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ad8d8f3bc61ec712dd141e1029ae68c47fadc4a7",
      "tree": "70bd69e85ef7f159a62f4cd8aa2799d8d542b92c",
      "parents": [
        "73044f05a4ac65f2df42753e9566444b9d2a660f"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:28 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:08 2008 +1100"
      },
      "message": "lguest: per-vcpu lguest timers\n\nHere, I introduce per-vcpu timers. With this, we can have\nlocal expiries, needed for accounting time in smp guests\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "73044f05a4ac65f2df42753e9566444b9d2a660f",
      "tree": "80a3e1d1bda31a769554a8c51f8c189ccec0b9f8",
      "parents": [
        "7ea07a1500f05e06ebf0136763c781244f77a2a1"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:27 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:08 2008 +1100"
      },
      "message": "lguest: make hypercalls use the vcpu struct\n\nthis patch changes do_hcall() and do_async_hcall() interfaces (and obviously their\ncallers) to get a vcpu struct. Again, a vcpu services the hypercall, not the whole\nguest\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d0953d42c3445a120299fac9ad70e672d77898e9",
      "tree": "a631abb2c154bec66cec05508423da705d02f35b",
      "parents": [
        "4dcc53da49c2387078fe8ceb7a420d125e027fc6"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:25 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:06 2008 +1100"
      },
      "message": "lguest: per-cpu run guest\n\nThis patch makes the run_guest() routine use the lg_cpu struct.\nThis is required since in a smp guest environment, there\u0027s no\nmore the notion of \"running the guest\", but rather, it is \"running the vcpu\"\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "badb1e04028e3e029ff9447d4aeb162a84ad68c2",
      "tree": "2de5cc5f3649537fff030e8d2a864ee69d003aee",
      "parents": [
        "ec04b13f67be3c90b38c625f4b8bdfea54c1ff60"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:22 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:04 2008 +1100"
      },
      "message": "lguest: introduce vcpu struct\n\nthis patch introduces a vcpu struct for lguest. In upcoming patches,\nmore and more fields will be moved from the lguest struct to the vcpu\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.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": "197bff630ae586252d24b3595c54f8f9b712610a",
      "tree": "1ec21fd0b688f9a483a8abe82514a24a467d582d",
      "parents": [
        "25c47bb35355c1e1b2ae325b49441b2c8b201ece"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:10:30 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:10:30 2007 +1000"
      },
      "message": "lguest: remove unused \"wake\" element from struct lguest\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "2d37f94a28170ca656438758fca577acb49a7932",
      "tree": "21049219a98d314a2c442293e512b74d879e6270",
      "parents": [
        "56ae43dfe233323683248a5c553bad7160db2fa5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:24 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:56 2007 +1000"
      },
      "message": "generalize lgread_u32/lgwrite_u32.\n\nJes complains that page table code still uses lgread_u32 even though\nit now uses general kernel pte types.  The best thing to do is to\ngeneralize lgread_u32 and lgwrite_u32.\n\nThis means we lose the efficiency of getuser().  We could potentially\nregain it if we used __copy_from_user instead of copy_from_user, but\nI\u0027m not certain that our range check is equivalent to access_ok() on\nall platforms.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jes Sorensen \u003cjes@sgi.com\u003e\n"
    },
    {
      "commit": "15045275c32bf6d15d32c2eca8157be9c0ba6e45",
      "tree": "32ef90c875b22cb1bbb94e38f557a690f1c0c6f8",
      "parents": [
        "0ca49ca946409f87a8cd0b14d5acb6dea58de6f3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:10 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Remove old lguest I/O infrrasructure.\n\nThis patch gets rid of the old lguest host I/O infrastructure and\nreplaces it with a single hypercall \"LHCALL_NOTIFY\" which takes an\naddress.\n\nThe main change is the removal of io.c: that mainly did inter-guest\nI/O, which virtio doesn\u0027t yet support.\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": "c18acd73ffc209def08003a1927473096f66c5ad",
      "tree": "dd8e292ac8ca90b061b7e37ad6947231ced566e3",
      "parents": [
        "ee3db0f2b6053b65f3b70253f5f810d9a3d67b28"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:35 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:53 2007 +1000"
      },
      "message": "Allow guest to specify syscall vector to use.\n\n(Based on Ron Minnich\u0027s LGUEST_PLAN9_SYSCALL patch).\n\nThis patch allows Guests to specify what system call vector they want,\nand we try to reserve it.  We only allow one non-Linux system call\nvector, to try to avoid DoS on the Host.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ee3db0f2b6053b65f3b70253f5f810d9a3d67b28",
      "tree": "cc9b037247b8d8afb75c4d6214428fb0a2dc65f2",
      "parents": [
        "df29f43e650df29456804dabdb2611de914e7c0f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:34 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:53 2007 +1000"
      },
      "message": "Rename \"cr3\" to \"gpgdir\" to avoid x86-specific naming.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "df29f43e650df29456804dabdb2611de914e7c0f",
      "tree": "2f8de4a2f1b7c4141e710123fc86db266f507d83",
      "parents": [
        "47aee45ae3c708ab678e09abfba0efaf6ca0e87a"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "matias.zabaljauregui@cern.ch",
        "time": "Mon Oct 22 11:03:33 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:53 2007 +1000"
      },
      "message": "Pagetables to use normal kernel types\n\nThis is my first step in the migration of page_tables.c to the kernel\ntypes and functions/macros (2.6.23-rc3).  Seems to be working OK.\n\nSigned-off-by: Matias Zabaljauregui \u003cmatias.zabaljauregui@cern.ch\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d612cde060a005c1effb13d0f665448a04ce5f67",
      "tree": "e7d77ba966a7c1dad70433b23e6086a1b5e18159",
      "parents": [
        "511801dc31c095b2bfe3bf5c6a370dbe9b042a70"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:32 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:52 2007 +1000"
      },
      "message": "Move register setup into i386_core.c\n\nMove setup_regs() to lguest_arch_setup_regs() in i386_core.c given\nthat this is very architecture specific.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b410e7b1499c49513cab18275db8a8ab549d9e09",
      "tree": "8a71fa34660f5ccc9d71677137c5ae211a38bbf2",
      "parents": [
        "cc6d4fbcef328acdc9fa7023e69f39f753f72fe1"
      ],
      "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": "Make hypercalls arch-independent.\n\nClean up the hypercall code to make the code in hypercalls.c\narchitecture independent. First process the common hypercalls and\nthen call lguest_arch_do_hcall() if the call hasn\u0027t been handled.\nRename struct hcall_ring to hcall_args.\n\nThis patch requires the previous patch which reorganize the layout of\nstruct lguest_regs on i386 so they match the layout of struct\nhcall_args.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cc6d4fbcef328acdc9fa7023e69f39f753f72fe1",
      "tree": "860672e7da1a3516e36dd40f962552451ef0bcf2",
      "parents": [
        "4614a3a3b638dfd7a67d0237944f6a76331af61d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:30 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:52 2007 +1000"
      },
      "message": "Introduce \"hcall\" pointer to indicate pending hypercall.\n\nCurrently we look at the \"trapnum\" to see if the Guest wants a\nhypercall.  But once the hypercall is done we have to reset trapnum to\na bogus value, otherwise if we exit to userspace and return, we\u0027d run\nthe same hypercall twice (that was a nasty bug to find!).\n\nThis has two main effects:\n\n1) When Jes\u0027s patch changes the hypercall args to be a generic \"struct\n   hcall_args\" we simply change the type of \"lg-\u003ehcall\".  It\u0027s set by\n   arch code, so if it has to copy args or something it can do so, and\n   point \"hcall\" into lg-\u003earch somewhere.\n\n2) Async hypercalls only get run when an actual hypercall is pending.\n   This simplfies the code a little and is a more logical semantic.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "625efab1cd3d4da4634dfe26df6b4005385397e2",
      "tree": "e08cd714edece430ae8a8aef894adfadbccc064a",
      "parents": [
        "56adbe9ddc935600c64635d6a55c260a63c67e4a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:28 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Move i386 part of core.c to x86/core.c.\n\nSeparate i386 architecture specific from core.c and move it to\nx86/core.c and add x86/lguest.h header file to match.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "56adbe9ddc935600c64635d6a55c260a63c67e4a",
      "tree": "061789e573380943f70c20b2d9e8da4042bac0e6",
      "parents": [
        "48245cc0708d49d1d0566b9fa617ad6c5f4c6934"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:28 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Make shadow IDT a complete IDT with 256 entries.\n\nThis simplifies the code a little, in preparation for allowing\nalternate system call vectors in guests (Plan 9 uses 0x40).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "48245cc0708d49d1d0566b9fa617ad6c5f4c6934",
      "tree": "b396fd2d1ab185aab20894570e7e84bd4f656355",
      "parents": [
        "3c6b5bfa3cf3b4057788e08482a468cc3bc00780"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:27 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Remove fixed limit on number of guests, and lguests array.\n\nBack when we had all the Guest state in the switcher, we had a fixed\narray of them.  This is no longer necessary.\n\nIf we switch the network code to using random_ether_addr (46 bits is\nenough to avoid clashes), we can get rid of the concept of \"guest id\"\naltogether.\n\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": "25e82eba3a351cc3b263cae765a8786c827e42af",
      "tree": "b6be16254abe3bd9e0d81a25be5fa3edf08a0e6b",
      "parents": [
        "ee8e7cfe9d330d6f1ce0b9b1620d6df5d9cf6b70"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:19:49 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:47 2007 +1000"
      },
      "message": "Remove binfmts.h include from lg.h\n\nIt wasn\u0027t needed since a very early prototype of lguest.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\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": "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": "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"
    }
  ]
}
