)]}'
{
  "log": [
    {
      "commit": "cf485e566bc4a8098680162e1cc2ac1dfbef8a3c",
      "tree": "89ce628400d628f779b0aedf16b7a033d63de6c5",
      "parents": [
        "28fd6d7f953711fbf67496701be05513052d967d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Jun 09 16:22:48 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:34 2008 +1000"
      },
      "message": "lguest: use cpu capability accessors\n\nTo support my little make-x86-bitops-use-proper-typechecking projectlet.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "15c8b6c1aaaf1c4edd67e2f02e4d8e1bd1a51c0d",
      "tree": "3658f893c2f89ea0be4c6cc08aa11fa54476d0f4",
      "parents": [
        "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 09 09:39:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:38 2008 +0200"
      },
      "message": "on_each_cpu(): kill unused \u0027retry\u0027 parameter\n\nIt\u0027s not even passed on to smp_call_function() anymore, since that\nwas removed. So kill it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "54481cf88bc59923ea30f2ca345a73c60155e901",
      "tree": "1965fad9a3a207a619b5506722208f93788210b8",
      "parents": [
        "ffe6e1da86d21d7855495b5a772c93f050258f6e"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Jun 19 09:41:22 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 13:26:18 2008 +0200"
      },
      "message": "x86: fix NULL pointer deref in __switch_to\n\nI am able to reproduce the oops reported by Simon in __switch_to() with\nlguest.\n\nMy debug showed that there is at least one lguest specific\nissue (which should be present in 2.6.25 and before aswell) and it got\nexposed with a kernel oops with the recent fpu dynamic allocation patches.\n\nIn addition to the previous possible scenario (with fpu_counter), in the\npresence of lguest, it is possible that the cpu\u0027s TS bit it still set and the\nlguest launcher task\u0027s thread_info has TS_USEDFPU still set.\n\nThis is because of the way the lguest launcher handling the guest\u0027s TS bit.\n(look at lguest_set_ts() in lguest_arch_run_guest()). This can result\nin a DNA fault while doing unlazy_fpu() in __switch_to(). This will\nend up causing a DNA fault in the context of new process thats\ngetting context switched in (as opossed to handling DNA fault in the context\nof lguest launcher/helper process).\n\nThis is wrong in both pre and post 2.6.25 kernels. In the recent\n2.6.26-rc series, this is showing up as NULL pointer dereferences or\nsleeping function called from atomic context(__switch_to()), as\nwe free and dynamically allocate the FPU context for the newly\ncreated threads. Older kernels might show some FPU corruption for processes\nrunning inside of lguest.\n\nWith the appended patch, my test system is running for more than 50 mins\nnow. So atleast some of your oops (hopefully all!) should get fixed.\nPlease give it a try. I will spend more time with this fix tomorrow.\n\nReported-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "e95035c61a4c3dae1aa543a5bf5b39846daca061",
      "tree": "f0977e07936253923239ff1f251192607cc873ab",
      "parents": [
        "24af8cb86973dde9bf8df51bef923fda8718bdb5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 31 18:00:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 19:59:44 2008 +1100"
      },
      "message": "lguest: fix mis-merge against hpa\u0027s TSS renaming\n\ndrivers/lguest/x86/core.c: In function ‘copy_in_guest_info’:\ndrivers/lguest/x86/core.c:97: error: ‘struct x86_hw_tss’ has no member named ‘esp1’\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d145c7253c8cb2ed8a75a8839621b0bb8f778820",
      "tree": "fac21920d149a2cddfdfbde65066ff98935a9c57",
      "parents": [
        "44c3b59102e3ecc7a01e9811862633e670595e51",
        "84f12e39c856a8b1ab407f8216ecebaf4204b94d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits)\n  lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL\n  lguest: Use explicit includes rateher than indirect\n  lguest: get rid of lg variable assignments\n  lguest: change gpte_addr header\n  lguest: move changed bitmap to lg_cpu\n  lguest: move last_pages to lg_cpu\n  lguest: change last_guest to last_cpu\n  lguest: change spte_addr header\n  lguest: per-vcpu lguest pgdir management\n  lguest: make pending notifications per-vcpu\n  lguest: makes special fields be per-vcpu\n  lguest: per-vcpu lguest task management\n  lguest: replace lguest_arch with lg_cpu_arch.\n  lguest: make registers per-vcpu\n  lguest: make emulate_insn receive a vcpu struct.\n  lguest: map_switcher_in_guest() per-vcpu\n  lguest: per-vcpu interrupt processing.\n  lguest: per-vcpu lguest timers\n  lguest: make hypercalls use the vcpu struct\n  lguest: make write() operation smp aware\n  ...\n\nManual conflict resolved (maybe even correctly, who knows) in\ndrivers/lguest/x86/core.c\n"
    },
    {
      "commit": "faca62273b602ab482fb7d3d940dbf41ef08b00e",
      "tree": "913fb1c565a2b719b00ae4b745c38cc9b0ebf279",
      "parents": [
        "25149b62d3e6a3e737af39bd4a0b4e97de0811b7"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:31:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:02 2008 +0100"
      },
      "message": "x86: use generic register name in the thread and tss structures\n\nThis changes size-specific register names (eip/rip, esp/rsp, etc.) to\ngeneric names in the thread and tss structures.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "c40a9f4719d36841a2d7ff4fe866dce7bfb454b7",
      "tree": "01f6041dd2ef5add1a673e528abc45c2b4570141",
      "parents": [
        "2092aa277b0adfb8f4f47ab8a9ee00aff0ca7ed6"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jan 17 19:11:20 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:15 2008 +1100"
      },
      "message": "lguest: change last_guest to last_cpu\n\nin our model, a guest does not run in a cpu anymore: a virtual cpu\ndoes. So we change last_guest to last_cpu\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": "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": "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": "a3863f68b0d7fe2073c0f4efe534ec87a685c4fa",
      "tree": "e9fa7b67b7687f3f882e44654bd758671f7accb5",
      "parents": [
        "0c78441cf4dd66f66e23dc085f0cc1e3e8669b96"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Jan 07 11:05:31 2008 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:10 2008 +1100"
      },
      "message": "lguest: make emulate_insn receive a vcpu struct.\n\nemulate_insn() needs to know about current eip, which will be,\nin the future, a per-vcpu thing. So in this patch, the function\nprototype is modified to 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": "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": "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": "86ef5c9a8edd78e6bf92879f32329d89b2d55b5a",
      "tree": "7bf46885326a6fdbb0c3596855408e9a5634dd3a",
      "parents": [
        "d221938c049f4845da13c8593132595a6b9222a8"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()\n\nReplace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use\nget_online_cpus and put_online_cpus instead as it highlights the\nrefcount semantics in these operations.\n\nThe new API guarantees protection against the cpu-hotplug operation, but\nit doesn\u0027t guarantee serialized access to any of the local data\nstructures. Hence the changes needs to be reviewed.\n\nIn case of pseries_add_processor/pseries_remove_processor, use\ncpu_maps_update_begin()/cpu_maps_update_done() as we\u0027re modifying the\ncpu_present_map there.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "25c47bb35355c1e1b2ae325b49441b2c8b201ece",
      "tree": "b716ffc014c32fa5f7ba391ad44ee330bdaf72b2",
      "parents": [
        "db24e8c2ef7eceb46818a8c22fc38dea733fe159"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:53 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:53 2007 +1000"
      },
      "message": "lguest: use defines from x86 headers instead of magic numbers\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": "0ca49ca946409f87a8cd0b14d5acb6dea58de6f3",
      "tree": "5f5927f1b0bf46998f4132d3628ae4c51e5ccf5a",
      "parents": [
        "0a8a69dd77ddbd4513b21363021ecde7e1025502"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:20:02 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Remove old lguest bus and drivers.\n\nThis gets rid of the lguest bus, drivers and DMA mechanism, to make\nway for a generic virtio mechanism.\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": "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": "4614a3a3b638dfd7a67d0237944f6a76331af61d",
      "tree": "8ec25721127eb899b97e46551b1644644ca698ac",
      "parents": [
        "625efab1cd3d4da4634dfe26df6b4005385397e2"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:29 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Reorder guest saved regs to match hyperall order\n\nMove eax next to ebx/ecx/edx in struct lguest_regs on i386, so they\nwill be located together and allow it to map directly to a struct\nhcall_ring entry (which will be renamed struct hcall_args as in a\nsubsequent patch).\n\nThis is in preparation for making the code hcall code architecture\nindependent.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\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": "1f4e1de4f23e158abf976a76e1d0fce6e39b532a",
      "tree": "273ed888c82023888c5de00b6a36cd885ff47859",
      "parents": [
        "34b8867a034364ca33d0adb3a1c5b9982903c719"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:25 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:50 2007 +1000"
      },
      "message": "Rename switcher.S to x86/switcher_32.S\n\nlguest uses a \"switcher\" shim mapped high to bounce between host and\nguest.  As lguest becomes less i386-centric, we separate this code\ninto a subdir.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    }
  ]
}
