)]}'
{
  "log": [
    {
      "commit": "1107ba885e46964316c083d441d5dd185b6c9e49",
      "tree": "98cc3f81ad7ff554e10fc263abfb7727a438cc5a",
      "parents": [
        "d8220347da2a0639f5e1919a5af08f49cb37c24f"
      ],
      "author": {
        "name": "Alex Zeffertt",
        "email": "alex.zeffertt@eu.citrix.com",
        "time": "Wed Jan 07 18:07:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:30:59 2009 -0800"
      },
      "message": "xen: add xenfs to allow usermode \u003c-\u003e Xen interaction\n\nThe xenfs filesystem exports various interfaces to usermode.  Initially\nthis exports a file to allow usermode to interact with xenbus/xenstore.\n\nTraditionally this appeared in /proc/xen.  Rather than extending procfs,\nthis patch adds a backward-compat mountpoint on /proc/xen, and provides\na xenfs filesystem which can be mounted there.\n\nSigned-off-by: Alex Zeffertt \u003calex.zeffertt@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ecbf29cdb3990c83d90d0c4187c89fb2ce423367",
      "tree": "a1b795297152df380c9592ebbeb35804a23a2b29",
      "parents": [
        "f63c2f248959366cd11bfa476f866737047cf663"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:37:07 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:50:31 2008 +0100"
      },
      "message": "xen: clean up asm/xen/hypervisor.h\n\nImpact: cleanup\n\nhypervisor.h had accumulated a lot of crud, including lots of spurious\n#includes.  Clean it all up, and go around fixing up everything else\naccordingly.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d19c8e516e0a17e049bcfbe96f86e040254ddf14",
      "tree": "9602a6be778673fa111100b395b3d008d49ad9b7",
      "parents": [
        "db053b86f4b1ec790da2dafe2acb93be76288bb9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu Oct 02 16:42:35 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:04:10 2008 +0200"
      },
      "message": "xen: remove unused balloon.h\n\nThe balloon driver doesn\u0027t have any externally callable functions at\nthe moment, so remove the (effectively empty) header.  We can add it\nback if we need to.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "168d2f464ab9860f0d1e66cf1f9684973222f1c6",
      "tree": "c3a4199cf2aa4c6322b7860c431fd5bfdc4220ef",
      "parents": [
        "7708ad64a24a674f7905aa7a5099a50f055debec"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Aug 20 17:02:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 13:52:57 2008 +0200"
      },
      "message": "xen: save previous spinlock when blocking\n\nA spinlock can be interrupted while spinning, so make sure we preserve\nthe previous lock of interest if we\u0027re taking a lock from within an\ninterrupt handler.\n\nWe also need to deal with the case where the blocking path gets\ninterrupted between testing to see if the lock is free and actually\nblocking.  If we get interrupted there and end up in the state where\nthe lock is free but the irq isn\u0027t pending, then we\u0027ll block\nindefinitely in the hypervisor.  This fix is to make sure that any\nnested lock-takers will always leave the irq pending if there\u0027s any\nchance the outer lock became free.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d9e1e2f58b5612aa4eab0ab54c84308a29dbd79",
      "tree": "08e91f7f485a8fa8ec2515f8c706870c0d44044b",
      "parents": [
        "56397f8dadb40055479a8ffff23f21a890098a31"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jul 07 12:07:53 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:15:53 2008 +0200"
      },
      "message": "xen: implement Xen-specific spinlocks\n\nThe standard ticket spinlocks are very expensive in a virtual\nenvironment, because their performance depends on Xen\u0027s scheduler\ngiving vcpus time in the order that they\u0027re supposed to take the\nspinlock.\n\nThis implements a Xen-specific spinlock, which should be much more\nefficient.\n\nThe fast-path is essentially the old Linux-x86 locks, using a single\nlock byte.  The locker decrements the byte; if the result is 0, then\nthey have the lock.  If the lock is negative, then locker must spin\nuntil the lock is positive again.\n\nWhen there\u0027s contention, the locker spin for 2^16[*] iterations waiting\nto get the lock.  If it fails to get the lock in that time, it adds\nitself to the contention count in the lock and blocks on a per-cpu\nevent channel.\n\nWhen unlocking the spinlock, the locker looks to see if there\u0027s anyone\nblocked waiting for the lock by checking for a non-zero waiter count.\nIf there\u0027s a waiter, it traverses the per-cpu \"lock_spinners\"\nvariable, which contains which lock each CPU is waiting on.  It picks\none CPU waiting on the lock and sends it an event to wake it up.\n\nThis allows efficient fast-path spinlock operation, while allowing\nspinning vcpus to give up their processor time while waiting for a\ncontended lock.\n\n[*] 2^16 iterations is threshold at which 98% locks have been taken\naccording to Thomas Friebel\u0027s Xen Summit talk \"Preventing Guests from\nSpinning Around\".  Therefore, we\u0027d expect the lock and unlock slow\npaths will only be entered 2% of the time.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Christoph Lameter \u003cclameter@linux-foundation.org\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: Virtualization \u003cvirtualization@lists.linux-foundation.org\u003e\nCc: Xen devel \u003cxen-devel@lists.xensource.com\u003e\nCc: Thomas Friebel \u003cthomas.friebel@amd.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c8a4420444801bd9d818f542eb4a5be8d5687f0",
      "tree": "97a0a954d9574064cf335f96c3f01b28071ddd07",
      "parents": [
        "51dd660a2cd6eab4d470cfe1009c7f473832b786"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 13:15:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:06:48 2008 +0200"
      },
      "message": "xen64: fix !HVC_XEN build dependency\n\nfix:\n\narch/x86/xen/built-in.o: In function `set_page_prot\u0027:\nenlighten.c:(.text+0x111d): undefined reference to `xen_raw_printk\u0027\narch/x86/xen/built-in.o: In function `xen_start_kernel\u0027:\n: undefined reference to `xen_raw_console_write\u0027\narch/x86/xen/built-in.o: In function `xen_start_kernel\u0027:\n: undefined reference to `xen_raw_console_write\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48b5db20621388582ca11ac3c61d3403966dbe51",
      "tree": "ca8f222a093a7848baca828e3d4d086a3e789af2",
      "parents": [
        "851fa3c4e7b50d6a946d8b4c0a68683b5e56b2f1"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Jul 08 15:06:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 10:56:18 2008 +0200"
      },
      "message": "xen64: define asm/xen/interface for 64-bit\n\nCopy 64-bit definitions of various interface structures into place.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad55db9fed6d6cd09333045945cb03ba2c070085",
      "tree": "a0f6acbb1c7d139b248b3a9f2d45d087b802936b",
      "parents": [
        "1ffb40b8ecdf314edd88dc5550d6bcbebf29970b"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Tue Jul 08 15:06:32 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 10:55:50 2008 +0200"
      },
      "message": "xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support\n\nadd xen_timer_resume() hook.\n\nTimer resume should be done after event channel is resumed.\nadd xen_arch_resume() hook when ipi becomes usable after resume.\nAfter resume, some cpu specific resource must be reinitialized\non ia64 that can\u0027t be set by another cpu.\n\nHowever available hooks is run once on only one cpu so that ipi has\nto be used.\n\nDuring stop_machine_run() ipi can\u0027t be used because interrupt is masked.\nSo add another hook after stop_machine_run().\nAnother approach might be use resume hook which is run by\ndevice_resume(). However device_resume() may be executed on\nsuspend error recovery path.\n\nSo it is necessary to determine whether it is executed on real resume path\nor error recovery path.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e57778a1e30470c9f5b79e370511b9af29b59c48",
      "tree": "01239f16b016d57206ba8bdfcbd443d8a26cd5e4",
      "parents": [
        "08b882c627aeeeb3cfd3c4354f0d360d7949549d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Jun 16 04:30:02 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 15:17:23 2008 +0200"
      },
      "message": "xen: implement ptep_modify_prot_start/commit\n\nXen has a pte update function which will update a pte while preserving\nits accessed and dirty bits.  This means that ptep_modify_prot_start() can be\nimplemented as a simple read of the pte value.  The hardware may\nupdate the pte in the meantime, but ptep_modify_prot_commit() updates it while\npreserving any changes that may have happened in the meantime.\n\nThe updates in ptep_modify_prot_commit() are batched if we\u0027re currently in lazy\nmmu mode.\n\nThe mmu_update hypercall can take a batch of updates to perform, but\nthis code doesn\u0027t make particular use of that feature, in favour of\nusing generic multicall batching to get them all into the hypervisor.\n\nThe net effect of this is that each mprotect pte update turns from two\nexpensive trap-and-emulate faults into they hypervisor into a single\nhypercall whose cost is amortized in a batched multicall.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d02859ecb321c8c0f74cb9bbe3f51a59e58822b0",
      "tree": "05dd5bdc55081c0a90bf0afc35c07d0d6e25d015",
      "parents": [
        "a987b16cc6123af2c9414032701bab5f73c54c89",
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:16:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:16:51 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc8\u0027 into x86/xen\n\nConflicts:\n\n\tarch/x86/xen/enlighten.c\n\tarch/x86/xen/mmu.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c7b67f7576c4ca2a344379a4a29eec8fe8e7935",
      "tree": "a6d6150ba4109775ed7c2e928e0ffefaa29f13e8",
      "parents": [
        "7af192c954017499ec163bc9dbaaee2e593d7ef2"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:32 2008 +0300"
      },
      "message": "x86: Make xen use the paravirt clocksource structs and functions\n\nThis patch updates the xen guest to use the pvclock structs\nand helper functions.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7e0edc1bc343231029084761ebf59e522902eb49",
      "tree": "cf5fa89641b80b2775616e2224c39b7cae37d2f2",
      "parents": [
        "d07af1f0e3a3e378074fc36322dd7b0e72d9a3e2"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Sat May 31 01:33:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:25:51 2008 +0200"
      },
      "message": "xen: add new Xen elfnote types and use them appropriately\n\nDefine recently added XEN_ELFNOTEs, and use them appropriately.\nMost significantly, this enables domain checkpointing (xm save -c).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0261ac5f2f43a1906cfacfb19d62ed643d162cbe",
      "tree": "2f200d6dd14dd744835d87d667d5006258692800",
      "parents": [
        "b20aeccd6ad42ccb6be1b3d1d32618ddd2b31bf0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 09:31:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 09:31:57 2008 +0200"
      },
      "message": "xen: fix \"xen: implement save/restore\"\n\n-tip testing found the following build breakage:\n\n  drivers/built-in.o: In function `xen_suspend\u0027:\n  manage.c:(.text+0x4390f): undefined reference to `xen_console_resume\u0027\n\nwith this config:\n\n  http://redhat.com/~mingo/misc/config-Thu_May_29_09_23_16_CEST_2008.bad\n\ni have bisected it down to:\n\n|  commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58\n|  Author: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n|  Date:   Mon May 26 23:31:27 2008 +0100\n|\n|      xen: implement save/restore\n\nthe problem is that drivers/xen/manage.c is built unconditionally if\nCONFIG_XEN is enabled and makes use of xen_suspend(), but\ndrivers/char/hvc_xen.c, where the xen_suspend() method is implemented,\nis only build if CONFIG_HVC_XEN\u003dy as well.\n\ni have solved this by providing a NOP implementation for xen_suspend()\nin the !CONFIG_HVC_XEN case.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "359cdd3f866b6219a6729e313faf2221397f3278",
      "tree": "ec052599c175ee1ef0a2221670f18f6dad95cc77",
      "parents": [
        "0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:28 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:38 2008 +0200"
      },
      "message": "xen: maintain clock offset over save/restore\n\nHook into the device model to make sure that timekeeping\u0027s resume handler\nis called.  This deals with our clocksource\u0027s non-monotonicity over the\nsave/restore.  Explicitly call clock_has_changed() to make sure that\nall the timers get retriggered properly.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58",
      "tree": "c6a3b31b7bcbbfb55bb2304d8651abdd28cdad54",
      "parents": [
        "7d88d32a4670af583c896e5ecd3929b78538ca62"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:27 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:38 2008 +0200"
      },
      "message": "xen: implement save/restore\n\nThis patch implements Xen save/restore and migration.\n\nSaving is triggered via xenbus, which is polled in\ndrivers/xen/manage.c.  When a suspend request comes in, the kernel\nprepares itself for saving by:\n\n1 - Freeze all processes.  This is primarily to prevent any\n    partially-completed pagetable updates from confusing the suspend\n    process.  If CONFIG_PREEMPT isn\u0027t defined, then this isn\u0027t necessary.\n\n2 - Suspend xenbus and other devices\n\n3 - Stop_machine, to make sure all the other vcpus are quiescent.  The\n    Xen tools require the domain to run its save off vcpu0.\n\n4 - Within the stop_machine state, it pins any unpinned pgds (under\n    construction or destruction), performs canonicalizes various other\n    pieces of state (mostly converting mfns to pfns), and finally\n\n5 - Suspend the domain\n\nRestore reverses the steps used to save the domain, ending when all\nthe frozen processes are thawed.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6b9b732d0e396a3f1a95977162a8624aafce38a1",
      "tree": "920798feaef2e92dfccd37e8f7af5acdf9a34941",
      "parents": [
        "0f2287ad7c61f10b2a22a06e2a66cdbbbfc44ad0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:25 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:37 2008 +0200"
      },
      "message": "xen-console: add save/restore\n\nAdd code to:\n\n 1. Deal with the console page being canonicalized.  During save, the\n    console\u0027s mfn in the start_info structure is canonicalized to a pfn.\n    In order to deal with that, we always use a copy of the pfn and\n    indirect off that all the time.  However, we fall back to using the\n    mfn if the pfn hasn\u0027t been initialized yet.\n\n 2. Restore the console event channel, and rebind it to the existing irq.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb1e305f4ef201e549ffd475b7dcbcd4ec36d7dc",
      "tree": "078c5acb7d6ca6e3f24b45c5d4a660abcdc75202",
      "parents": [
        "d5edbc1f75420935b1ec7e65df10c8f81cea82de"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:31:23 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:37 2008 +0200"
      },
      "message": "xen: add rebind_evtchn_irq\n\nAdd rebind_evtchn_irq(), which will rebind an device driver\u0027s existing\nirq to a new event channel on restore.  Since the new event channel\nwill be masked and bound to vcpu0, we update the state accordingly and\nunmask the irq once everything is set up.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bfdab126cfa6fe3c2ddb8b6007a38202b510b6c1",
      "tree": "13426990af73e2ca9716d33cc143cc3b7fcf8d3a",
      "parents": [
        "a90971ebddc81330f59203dee9803512aa4e2ef6"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Mon May 26 23:31:15 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen: add missing definitions in include/xen/interface/memory.h which ia64/xen needs\n\nAdd xen handles realted definitions for xen memory 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: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e4dcff1f6e7582f76c2c9990b1d9111bbc8e26ef",
      "tree": "d4a06968700cf64e3f8b7b146512a457ac9e7ece",
      "parents": [
        "f4ad1ebd7a0fae2782ef9f76c0b94b536742c3e8"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Mon May 26 23:31:11 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen pvfb: Dynamic mode support (screen resizing)\n\nThe pvfb backend indicates dynamic mode support by creating node\nfeature_resize with a non-zero value in its xenstore directory.\nxen-fbfront sends a resize notification event on mode change.  Fully\nbackwards compatible both ways.\n\nFramebuffer size and initial resolution can be controlled through\nkernel parameter xen_fbfront.video.  The backend enforces a separate\nsize limit, which it advertises in node videoram in its xenstore\ndirectory.\n\nxen-kbdfront gets the maximum screen resolution from nodes width and\nheight in the backend\u0027s xenstore directory instead of hardcoding it.\n\nAdditional goodie: support for larger framebuffers (512M on a 64-bit\nsystem with 4K pages).\n\nChanging the number of bits per pixels dynamically is not supported,\nyet.\n\nPorted from\nhttp://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/92f7b3144f41\nhttp://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/bfc040135633\n\nSigned-off-by: Pat Campbell \u003cplc@novell.com\u003e\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ba0e7b36c7cc1745b3cbeda244d14edae3ad058",
      "tree": "191836ccdf8d53a3ec9f1c91a0317bf6fff96433",
      "parents": [
        "9e124fe16ff24746d6de5a2ad685266d7bce0e08"
      ],
      "author": {
        "name": "Markus Armbruster",
        "email": "armbru@redhat.com",
        "time": "Mon May 26 23:31:08 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:36 2008 +0200"
      },
      "message": "xen pvfb: Pointer z-axis (mouse wheel) support\n\nAdd z-axis motion to pointer events.  Backward compatible, because\nthere\u0027s space for the z-axis in union xenkbd_in_event, and old\nbackends zero it.\n\nDerived from\nhttp://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/57dfe0098000\nhttp://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/1edfea26a2a9\nhttp://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/c3ff0b26f664\n\nSigned-off-by: Pat Campbell \u003cplc@novell.com\u003e\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0acf10d8fbd52926217d3933d196b33fe2468f18",
      "tree": "938555cc132ffb6ad3bc242e09dc7497a6040007",
      "parents": [
        "3843fc2575e3389f4f0ad0420a720240a5746a5d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon May 26 23:30:59 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 27 10:11:35 2008 +0200"
      },
      "message": "xen: add raw console write functions for debug\n\nAdd a couple of functions which can write directly to the Xen console\nfor debugging.  This output ends up on the host\u0027s dom0 console\n(assuming it allows the domain to write there).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "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"
    }
  ]
}
