)]}'
{
  "log": [
    {
      "commit": "1775826ceec51187aa868406585799b7e76ffa7d",
      "tree": "585b75deeb350a36ff54095de591ecd58e860ea1",
      "parents": [
        "af7ae3b9c4a4c1337903f31131d58e3c0d2b6d55"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Apr 02 10:54:13 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:33 2008 +0200"
      },
      "message": "xen: add balloon driver\n\nThe balloon driver allows memory to be dynamically added or removed from the domain,\nin order to allow host memory to be balanced between multiple domains.\n\nThis patch introduces the Xen balloon driver, though it currently only\nallows a domain to be shrunk from its initial size (and re-grown back to\nthat size).  A later patch will add the ability to grow a domain beyond\nits initial size.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4ee36dc08e5c4d16d078f59acd6d9d536f9718dd",
      "tree": "284527b0418065b0092d7cc9ea3ee6d899a5a53e",
      "parents": [
        "4f93f09b72d6ff47b2399b79ed6d1cbc7dbf991b"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Wed Apr 02 10:54:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:33 2008 +0200"
      },
      "message": "xen pvfb: Para-virtual framebuffer, keyboard and pointer driver\n\nThis is a pair of Xen para-virtual frontend device drivers:\ndrivers/video/xen-fbfront.c provides a framebuffer, and\ndrivers/input/xen-kbdfront provides keyboard and mouse.\n\nThe backends run in dom0 user space.\n\nThe two drivers are not in two separate patches, because the\nintermediate step (one driver, not the other) is somewhat problematic:\nthe backend in dom0 needs both drivers, and will refuse to complete\ndevice initialization unless they\u0027re both present.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1d78d7055629e3f6300d6b8d7028259ee2bffc0e",
      "tree": "20bf47ccdd80ead20c69f8a536849c9cf8dd3223",
      "parents": [
        "53f0e8afcb0d57cfaff06b89eb8b5302f167577e"
      ],
      "author": {
        "name": "Christian Limpach",
        "email": "Christian.Limpach@xensource.com",
        "time": "Wed Apr 02 10:54:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:33 2008 +0200"
      },
      "message": "xen blkfront: Delay wait for block devices until after the disk is added\n\nWhen the xen block frontend driver is built as a module the module load\nis only synchronous up to the point where the frontend and the backend\nbecome connected rather than when the disk is added.\n\nThis means that there can be a race on boot between loading the module and\nloading the dm-* modules and doing the scan for LVM physical volumes (all\nin the initrd). In the failure case the disk is not present until after the\nscan for physical volumes is complete.\n\nTaken from:\n\n  http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/11483a00c017\n\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@xensource.com\u003e\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3e334239d89d4a71610be5a3e8432464d421d9ec",
      "tree": "cbe48c21488b81652c3feb179a7d6584e7b5278c",
      "parents": [
        "b15993fcc1bf15f717fb4414b32e4a11534dfdc4"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Wed Apr 02 10:54:02 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: Make xen-blkfront write its protocol ABI to xenstore\n\nFrontends are expected to write their protocol ABI to xenstore.  Since\nthe protocol ABI defaults to the backend\u0027s native ABI, things work\nfine without that as long as the frontend\u0027s native ABI is identical to\nthe backend\u0027s native ABI.  This is not the case for xen-blkfront\nrunning 32-on-64, because its ABI differs between 32 and 64 bit, and\nthus needs this fix.\n\nBased on http://xenbits.xensource.com/xen-unstable.hg?rev/c545932a18f3\nand http://xenbits.xensource.com/xen-unstable.hg?rev/ffe52263b430 by\nGerd Hoffmann \u003ckraxel@suse.de\u003e\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cJeremy.Fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b15993fcc1bf15f717fb4414b32e4a11534dfdc4",
      "tree": "c904acfa6b7670e37c8ebd329b3a2dcf71305dfd",
      "parents": [
        "8d3d2106c19f4e69f208f59fe484ca113fbb48b3"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:54:01 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: import arch generic part of xencomm\n\nOn xen/ia64 and xen/powerpc hypercall arguments are passed by pseudo\nphysical address (guest physical address) so that it\u0027s necessary to\nconvert from virtual address into pseudo physical address. The frame\nwork is called xencomm.\nImport arch generic part of xencomm.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8d3d2106c19f4e69f208f59fe484ca113fbb48b3",
      "tree": "060b83ab832af7a5ca4bb672673dd9262f0ba3bc",
      "parents": [
        "5f0ababbf49f12330effab932a18055a50f4c0a1"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:54:00 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: make grant table arch portable\n\nsplit out x86 specific part from grant-table.c and\nallow ia64/xen specific initialization.\nia64/xen grant table is based on pseudo physical address\n(guest physical address) unlike x86/xen. On ia64 init_mm\ndoesn\u0027t map identity straight mapped area.\nia64/xen specific grant table initialization is necessary.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5f0ababbf49f12330effab932a18055a50f4c0a1",
      "tree": "e6f991570835c7e22646f89db979508d0ca5c93e",
      "parents": [
        "20e71f2edb5991de8f2a70902b4aa5982f67c69c"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:59 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one\n\nDon\u0027t use alloc_vm_area()/free_vm_area() directly, instead define\nxen_alloc_vm_area()/xen_free_vm_area() and use them.\n\nalloc_vm_area()/free_vm_area() are used to allocate/free area which\nare for grant table mapping. Xen/x86 grant table is based on virtual\naddress so that alloc_vm_area()/free_vm_area() are suitable.\nOn the other hand Xen/ia64 (and Xen/powerpc) grant table is based on\npseudo physical address (guest physical address) so that allocation\nshould be done differently.\nThe original version of xenified Linux/IA64 have its own\nallocate_vm_area()/free_vm_area() definitions which don\u0027t allocate vm area\ncontradictory to those names.\nNow vanilla Linux already has its definitions so that it\u0027s impossible\nto have IA64 definitions of allocate_vm_area()/free_vm_area().\nInstead introduce xen_allocate_vm_area()/xen_free_vm_area() and use them.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "20e71f2edb5991de8f2a70902b4aa5982f67c69c",
      "tree": "0fb3591ab0e41fd7836a4b98cac35494ebe91395",
      "parents": [
        "642e0c882cd5369429c833d97e4804c8be473e8a"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:58 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: make include/xen/page.h portable moving those definitions under asm dir\n\nThe definitions in include/asm/xen/page.h are arch specific.\nia64/xen wants to define its own version. So move them to arch specific\ndirectory and keep include/xen/page.h in order not to break compilation.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "642e0c882cd5369429c833d97e4804c8be473e8a",
      "tree": "c9032832801bd68379b30983ce61fd80f823adb0",
      "parents": [
        "e849c3e9e0b786619c451d89ef0c47ac9a28fbc1"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:57 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: add resend_irq_on_evtchn() definition into events.c\n\nDefine resend_irq_on_evtchn() which ia64/xen uses.\nAlthough it isn\u0027t used by current x86/xen code, it\u0027s arch generic\nso that put it into common code.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e849c3e9e0b786619c451d89ef0c47ac9a28fbc1",
      "tree": "bc3500d40095c2f868e2efca4918b73a6b0a1090",
      "parents": [
        "e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "Xen: make events.c portable for ia64/xen support\n\nRemove x86 dependency in drivers/xen/events.c for ia64/xen support\nintroducing include/asm/xen/events.h.\nIntroduce xen_irqs_disabled() to hide regs-\u003eflags\nIntroduce xen_do_IRQ() to hide regs-\u003eorig_ax.\nmake enum ipi_vector definition arch specific. ia64/xen needs four vectors.\nAdd one rmb() because on ia64 xchg() isn\u0027t barrier.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb",
      "tree": "41316aa05a218fcce5d619c11a57242c4f488d55",
      "parents": [
        "af711cda4f94b5fddcdc5eb4134387ae026e3171"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: move events.c to drivers/xen for IA64/Xen support\n\nmove arch/x86/xen/events.c undedr drivers/xen to share codes\nwith x86 and ia64. And minor adjustment to compile.\nia64/xen also uses events.c\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2724426924a471dc9fd8989dae56ab4d79519e34",
      "tree": "a556727941e26dc5b006efebff3d0672a3c13d33",
      "parents": [
        "87e27cf6288c6bf089ed34a72213d9ad16e82d84"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:53 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs\n\nAdd xen handles realted definitions for xen vcpu which ia64/xen needs.\nPointer argumsnts for ia64/xen hypercall are passed in pseudo physical\naddress (guest physical address) so that it is required to convert\nguest kernel virtual address into pseudo physical address.\nThe xen guest handle represents such arguments.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "87e27cf6288c6bf089ed34a72213d9ad16e82d84",
      "tree": "db7c9022e6b1fd77de850f5d0037181937041d24",
      "parents": [
        "2eb6d5eb48fd6aedf5787b30e5c41693e8c91fa3"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: add missing definitions for xen grant table which ia64/xen needs\n\nAdd xen handles realted definitions for grant table which ia64/xen\nneeds.\nPointer argumsnts for ia64/xen hypercall are passed in pseudo physical\naddress (guest physical address) so that it is required to convert\nguest kernel virtual address into pseudo physical address right before\nissuing hypercall.\nThe xen guest handle represents such arguments.\nDefine necessary handles and helper functions.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2eb6d5eb48fd6aedf5787b30e5c41693e8c91fa3",
      "tree": "fa82698996510582c4479ed7ecf122839a98f948",
      "parents": [
        "9a9db275b02e91fba837750ccfc82411ada834b8"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:51 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: definitions which ia64/xen needs\n\nAdd xen VIRQ numbers defined for arch specific use.\nia64/xen domU uses VIRQ_ARCH_0 for virtual itc timer.\nAlthough all those constants aren\u0027t used yet by ia64\nat this moment, add all arch specific VIRQ numbers.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9a9db275b02e91fba837750ccfc82411ada834b8",
      "tree": "94c195f570162935384fb836f08fc8aa835da223",
      "parents": [
        "0f2c87695219b1129ccf93e0f58acdcdd49724b9"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Wed Apr 02 10:53:50 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:32 2008 +0200"
      },
      "message": "xen: definisions which ia64 needs\n\nAdd xen hypercall numbers defined for arch specific use.\nia64/xen domU uses __HYPERVISOR_arch_1 to manipulate paravirtualized\nIOSAPIC. Although all those constants aren\u0027t used yet by IA64 at this\nmoment, add all arch specific hypercall numbers.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa380c82b83252754a8c11bfc92359bd87cbf710",
      "tree": "ab6b7d4f6b4664eb4b5be4c4bbca0c440b59af80",
      "parents": [
        "85958b465c2e0de315575b1d3d7e7c2ce7126880"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:15 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:31 2008 +0200"
      },
      "message": "xen: add support for callbackops hypercall\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9666e9d44b83755c53615fb89c0787b6846786a1",
      "tree": "2b0186c3a71f1e49a52e84221bdfdad9eb110c4a",
      "parents": [
        "3b4724b0e60cdfdc2679ee7135f3a234c74c2b83"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:31 2008 +0200"
      },
      "message": "xen: unify pte operations on machine frames\n\nXen\u0027s pte operations on mfns can be unified like the kernel\u0027s pfn operations.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b4724b0e60cdfdc2679ee7135f3a234c74c2b83",
      "tree": "34fccfac439d63c9a75010733028b1c98a69df70",
      "parents": [
        "947a69c90c0d07ac7f214e46dabbe49f2a230e00"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Mar 17 16:37:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 24 23:57:31 2008 +0200"
      },
      "message": "xen: use phys_addr_t when referring to physical addresses\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c8e5393ab38564d2f45b560a2f95bc8f9ff6f823",
      "tree": "2976d59bb412786712bddec0eedf82e1db58401d",
      "parents": [
        "b7fff536d0ad45c4810f9b99845c707ceadc3afc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jan 30 13:32:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:57 2008 +0100"
      },
      "message": "x86: page.h: make pte_t a union to always include\n\nMake sure pte_t, whatever its definition, has a pte element with type\npteval_t.  This allows common code to access it without needing to be\nspecifically parameterised on what pagetable mode we\u0027re compiling for.\nFor 32-bit, this means that pte_t becomes a union with \"pte\" and \"{\npte_low, pte_high }\" (PAE) or just \"pte_low\" (non-PAE).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e3d2697669abbe26c08dc9b95e2a71c634d096ed",
      "tree": "a253ae576a5820adfdaa59ee3b95ea0dd34e354d",
      "parents": [
        "fb1d84043ca73212b08ff57608f51b372529e6d6"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Oct 16 11:51:31 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Oct 16 11:51:31 2007 -0700"
      },
      "message": "xen: fix incorrect vcpu_register_vcpu_info hypercall argument\n\nThe kernel\u0027s copy of struct vcpu_register_vcpu_info was out of date,\nat best causing the hypercall to fail and the guest kernel to fall\nback to the old mechanism, or worse, causing random memory corruption.\n\n[ Stable folks: applies to 2.6.23 ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nCc: Morten \u003d?utf-8?q?B\u003dC3\u003dB8geskov?\u003d \u003cxen-users@morten.bogeskov.dk\u003e\nCc: Mark Williamson \u003cmark.williamson@cl.cam.ac.uk\u003e\n\n"
    },
    {
      "commit": "dfb68689bf3e3d31dc9fb5c2bde5379a4ca9b0ec",
      "tree": "92479cdbfbe076cca2f426ccc4c66076863c9eb5",
      "parents": [
        "bd16f9ebd083b965dcdfb6b762e206374d5b823b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu Jul 26 10:41:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:35:16 2007 -0700"
      },
      "message": "xen: xen/page.h compile fix\n\nFix:\nlinux/include/xen/page.h: In function mfn_pte:\nlinux/include/xen/page.h:149: error: __supported_pte_mask undeclared (first use in this function)\nlinux/include/xen/page.h:149: error: (Each undeclared identifier is reported only once\nlinux/include/xen/page.h:149: error: for each function it appears in.)\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60223a326fc8fa6e90e2c3fd28ae6de4a311d731",
      "tree": "cf4e667a56402b846488373bfaf5bf840395e219",
      "parents": [
        "3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:07 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: Place vcpu_info structure into per-cpu memory\n\nAn experimental patch for Xen allows guests to place their vcpu_info\nstructs anywhere.  We try to use this to place the vcpu_info into the\nPDA, which allows direct access.\n\nIf this works, then switch to using direct access operations for\nirq_enable, disable, save_fl and restore_fl.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Keir Fraser \u003ckeir@xensource.com\u003e\n"
    },
    {
      "commit": "4bac07c993d03434ea902d3d4290d9e45944b66c",
      "tree": "1930a1d8c23d3968d4644edda50791ff390bfe93",
      "parents": [
        "ad9a86121f5a374b48ce2924f8a9d7e94a04db27"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: add the Xenbus sysfs and virtual device hotplug driver\n\nThis communicates with the machine control software via a registry\nresiding in a controlling virtual machine. This allows dynamic\ncreation, destruction and modification of virtual device\nconfigurations (network devices, block devices and CPUS, to name some\nexamples).\n\n[ Greg, would you mind giving this a review?  Thanks -J ]\n\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\n"
    },
    {
      "commit": "ad9a86121f5a374b48ce2924f8a9d7e94a04db27",
      "tree": "c14af462957ce9ee6de3e4537e15879c25a679aa",
      "parents": [
        "b536b4b9623084d86f2b1f19cb44a2d6d74f00bf"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: Add grant table support\n\nAdd Xen \u0027grant table\u0027 driver which allows granting of access to\nselected local memory pages by other virtual machines and,\nsymmetrically, the mapping of remote memory pages which other virtual\nmachines have granted access to.\n\nThis driver is a prerequisite for many of the Xen virtual device\ndrivers, which grant the \u0027device driver domain\u0027 restricted and\ntemporary access to only those memory pages that are currently\ninvolved in I/O operations.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "b536b4b9623084d86f2b1f19cb44a2d6d74f00bf",
      "tree": "86c1981309dbd8b9bf120d4ddba50abd105af89a",
      "parents": [
        "8b84ad942b534f8faeb34b68f0f7277ea375fed0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: use the hvc console infrastructure for Xen console\n\nImplement a Xen back-end for hvc console.\n\n* * *\nAdd early printk support via hvc console, enable using\n\"earlyprintk\u003dxen\" on the kernel command line.\n\nFrom: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "f87e4cac4f4e940b328d3deb5b53e642e3881f43",
      "tree": "7409f86561e5f97459378abd2ae21e9a5c82bfea",
      "parents": [
        "ab55028886dd1dd54585f22bf19a00eb23869340"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: SMP guest support\n\nThis is a fairly straightforward Xen implementation of smp_ops.\n\nXen has its own IPI mechanisms, and has no dependency on any\nAPIC-based IPI.  The smp_ops hooks and the flush_tlb_others pv_op\nallow a Xen guest to avoid all APIC code in arch/i386 (the only apic\noperation is a single apic_read for the apic version number).\n\nOne subtle point which needs to be addressed is unpinning pagetables\nwhen another cpu may have a lazy tlb reference to the pagetable. Xen\nwill not allow an in-use pagetable to be unpinned, so we must find any\nother cpus with a reference to the pagetable and get them to shoot\ndown their references.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "e46cdb66c8fc1c8d61cfae0f219ff47ac4b9d531",
      "tree": "7d9cdfef91e69fcfcba762a5a70cd58900308a5b",
      "parents": [
        "3b827c1b3aadf3adb4c602d19863f2d24e7cbc18"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: event channels\n\nXen implements interrupts in terms of event channels.  Each guest\ndomain gets 1024 event channels which can be used for a variety of\npurposes, such as Xen timer events, inter-domain events,\ninter-processor events (IPI) or for real hardware IRQs.\n\nWithin the kernel, we map the event channels to IRQs, and implement\nthe whole interrupt handling using a Xen irq_chip.\n\nRather than setting NR_IRQ to 1024 under PARAVIRT in order to\naccomodate Xen, we create a dynamic mapping between event channels and\nIRQs.  Ideally, Linux will eventually move towards dynamically\nallocating per-irq structures, and we can use a 1:1 mapping between\nevent channels and irqs.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "5ead97c84fa7d63a6a7a2f4e9f18f452bd109045",
      "tree": "26f6bc55dce0f119f7d3c8d6b40d2f287601db36",
      "parents": [
        "a42089dd358a7673a0a23126589a9029e57c2049"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: Core Xen implementation\n\nThis patch is a rollup of all the core pieces of the Xen\nimplementation, including:\n - booting and setup\n - pagetable setup\n - privileged instructions\n - segmentation\n - interrupt flags\n - upcalls\n - multicall batching\n\nBOOTING AND SETUP\n\nThe vmlinux image is decorated with ELF notes which tell the Xen\ndomain builder what the kernel\u0027s requirements are; the domain builder\nthen constructs the address space accordingly and starts the kernel.\n\nXen has its own entrypoint for the kernel (contained in an ELF note).\nThe ELF notes are set up by xen-head.S, which is included into head.S.\nIn principle it could be linked separately, but it seems to provoke\nlots of binutils bugs.\n\nBecause the domain builder starts the kernel in a fairly sane state\n(32-bit protected mode, paging enabled, flat segments set up), there\u0027s\nnot a lot of setup needed before starting the kernel proper.  The main\nsteps are:\n  1. Install the Xen paravirt_ops, which is simply a matter of a\n     structure assignment.\n  2. Set init_mm to use the Xen-supplied pagetables (analogous to the\n     head.S generated pagetables in a native boot).\n  3. Reserve address space for Xen, since it takes a chunk at the top\n     of the address space for its own use.\n  4. Call start_kernel()\n\nPAGETABLE SETUP\n\nOnce we hit the main kernel boot sequence, it will end up calling back\nvia paravirt_ops to set up various pieces of Xen specific state.  One\nof the critical things which requires a bit of extra care is the\nconstruction of the initial init_mm pagetable.  Because Xen places\ntight constraints on pagetables (an active pagetable must always be\nvalid, and must always be mapped read-only to the guest domain), we\nneed to be careful when constructing the new pagetable to keep these\nconstraints in mind.  It turns out that the easiest way to do this is\nuse the initial Xen-provided pagetable as a template, and then just\ninsert new mappings for memory where a mapping doesn\u0027t already exist.\n\nThis means that during pagetable setup, it uses a special version of\nxen_set_pte which ignores any attempt to remap a read-only page as\nread-write (since Xen will map its own initial pagetable as RO), but\nlets other changes to the ptes happen, so that things like NX are set\nproperly.\n\nPRIVILEGED INSTRUCTIONS AND SEGMENTATION\n\nWhen the kernel runs under Xen, it runs in ring 1 rather than ring 0.\nThis means that it is more privileged than user-mode in ring 3, but it\nstill can\u0027t run privileged instructions directly.  Non-performance\ncritical instructions are dealt with by taking a privilege exception\nand trapping into the hypervisor and emulating the instruction, but\nmore performance-critical instructions have their own specific\nparavirt_ops.  In many cases we can avoid having to do any hypercalls\nfor these instructions, or the Xen implementation is quite different\nfrom the normal native version.\n\nThe privileged instructions fall into the broad classes of:\n  Segmentation: setting up the GDT and the GDT entries, LDT,\n     TLS and so on.  Xen doesn\u0027t allow the GDT to be directly\n     modified; all GDT updates are done via hypercalls where the new\n     entries can be validated.  This is important because Xen uses\n     segment limits to prevent the guest kernel from damaging the\n     hypervisor itself.\n  Traps and exceptions: Xen uses a special format for trap entrypoints,\n     so when the kernel wants to set an IDT entry, it needs to be\n     converted to the form Xen expects.  Xen sets int 0x80 up specially\n     so that the trap goes straight from userspace into the guest kernel\n     without going via the hypervisor.  sysenter isn\u0027t supported.\n  Kernel stack: The esp0 entry is extracted from the tss and provided to\n     Xen.\n  TLB operations: the various TLB calls are mapped into corresponding\n     Xen hypercalls.\n  Control registers: all the control registers are privileged.  The most\n     important is cr3, which points to the base of the current pagetable,\n     and we handle it specially.\n\nAnother instruction we treat specially is CPUID, even though its not\nprivileged.  We want to control what CPU features are visible to the\nrest of the kernel, and so CPUID ends up going into a paravirt_op.\nXen implements this mainly to disable the ACPI and APIC subsystems.\n\nINTERRUPT FLAGS\n\nXen maintains its own separate flag for masking events, which is\ncontained within the per-cpu vcpu_info structure.  Because the guest\nkernel runs in ring 1 and not 0, the IF flag in EFLAGS is completely\nignored (and must be, because even if a guest domain disables\ninterrupts for itself, it can\u0027t disable them overall).\n\n(A note on terminology: \"events\" and interrupts are effectively\nsynonymous.  However, rather than using an \"enable flag\", Xen uses a\n\"mask flag\", which blocks event delivery when it is non-zero.)\n\nThere are paravirt_ops for each of cli/sti/save_fl/restore_fl, which\nare implemented to manage the Xen event mask state.  The only thing\nworth noting is that when events are unmasked, we need to explicitly\nsee if there\u0027s a pending event and call into the hypervisor to make\nsure it gets delivered.\n\nUPCALLS\n\nXen needs a couple of upcall (or callback) functions to be implemented\nby each guest.  One is the event upcalls, which is how events\n(interrupts, effectively) are delivered to the guests.  The other is\nthe failsafe callback, which is used to report errors in either\nreloading a segment register, or caused by iret.  These are\nimplemented in i386/kernel/entry.S so they can jump into the normal\niret_exc path when necessary.\n\nMULTICALL BATCHING\n\nXen provides a multicall mechanism, which allows multiple hypercalls\nto be issued at once in order to mitigate the cost of trapping into\nthe hypervisor.  This is particularly useful for context switches,\nsince the 4-5 hypercalls they would normally need (reload cr3, update\nTLS, maybe update LDT) can be reduced to one.  This patch implements a\ngeneric batching mechanism for hypercalls, which gets used in many\nplaces in the Xen code.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ian Pratt \u003cian.pratt@xensource.com\u003e\nCc: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a42089dd358a7673a0a23126589a9029e57c2049",
      "tree": "aa076610832f5cdb0ee209c42ea7e40d54534ef4",
      "parents": [
        "24037a8b69dbf15bfed8fd42a2a2e442d7b0395b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: Add Xen interface header files\n\nAdd Xen interface header files. These are taken fairly directly from\nthe Xen tree, but somewhat rearranged to suit the kernel\u0027s conventions.\n\nDefine macros and inline functions for doing hypercalls into the\nhypervisor.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    }
  ]
}
