)]}'
{
  "log": [
    {
      "commit": "9c35e90c6fcf7f5baf27a63d9565e9f47633f299",
      "tree": "c3e311c13f4c1815c729c70f6c20b79175673236",
      "parents": [
        "1dc7ce99b091a11cce0f34456c1ffcb928f17edd"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 12:01:35 2010 +0100"
      },
      "committer": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 12:01:35 2010 +0100"
      },
      "message": "xen: pvhvm: make it clearer that XEN_UNPLUG_* define bits in a bitfield\n\nby defining in terms of (1\u003c\u003cN).\n\nXEN_UNPLUG_UNNECESSARY and XEN_UNPLUG_NEVER are only used within the\nkernel and are not defined as a bit on the unplug IO port. Therefore\nuse a bit which is outside the potentially valid range of the 16 bit\nIO port.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Stefano Stabellini \u003cStefano.Stabellini@eu.citrix.com\u003e\n"
    },
    {
      "commit": "1dc7ce99b091a11cce0f34456c1ffcb928f17edd",
      "tree": "b9f125fc324a86ff4af64fb0799d20330f61084c",
      "parents": [
        "c93a4dfb31f2c023da3ad1238c352452f2cc0e05"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 11:59:29 2010 +0100"
      },
      "committer": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 11:59:29 2010 +0100"
      },
      "message": "xen: pvhvm: rename xen_emul_unplug\u003dignore to \u003dunnnecessary\n\nIt is not immediately clear what this option causes to become\nignored. The actual meaning is that it is not necessary to unplug the\nemulated devices to safely use the PV ones, even if the platform does\nnot support the unplug protocol. (pressumably the user will only add\nthis option if they have ensured that their domain configuration is\nsafe).\n\nI think xen_emul_unplug\u003dunnecessary better captures this.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Stefano Stabellini \u003cStefano.Stabellini@eu.citrix.com\u003e\n"
    },
    {
      "commit": "c93a4dfb31f2c023da3ad1238c352452f2cc0e05",
      "tree": "c141f9f1773a8f132fbd653eaf81a0ec95f4d06f",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 11:59:28 2010 +0100"
      },
      "committer": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Aug 23 11:59:28 2010 +0100"
      },
      "message": "xen: pvhvm: allow user to request no emulated device unplug\n\nthis allows the user to disable pvhvm and revert to emulated devices\nin case of a system misconfiguration (e.g. initramfs with only\nemulated drivers in it).\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Stefano Stabellini \u003cStefano.Stabellini@eu.citrix.com\u003e\n"
    },
    {
      "commit": "26f0cf91813bdc8e61595f8ad6660251e2ee9cf6",
      "tree": "db129d45fba03e3e59392410d0f35ba7d3e438e6",
      "parents": [
        "d862b13bc8cbab9692fbe0ef44c40d0488b81af1",
        "fe96eb404e33b59bb39f7050205f7c56c1c7d686"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:09:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:09:41 2010 -0700"
      },
      "message": "Merge branch \u0027stable/xen-swiotlb-0.8.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/xen-swiotlb-0.8.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  x86: Detect whether we should use Xen SWIOTLB.\n  pci-swiotlb-xen: Add glue code to setup dma_ops utilizing xen_swiotlb_* functions.\n  swiotlb-xen: SWIOTLB library for Xen PV guest with PCI passthrough.\n  xen/mmu: inhibit vmap aliases rather than trying to clear them out\n  vmap: add flag to allow lazy unmap to be disabled at runtime\n  xen: Add xen_create_contiguous_region\n  xen: Rename the balloon lock\n  xen: Allow unprivileged Xen domains to create iomap pages\n  xen: use _PAGE_IOMAP in ioremap to do machine mappings\n\nFix up trivial conflicts (adding both xen swiotlb and xen pci platform\ndriver setup close to each other) in drivers/xen/{Kconfig,Makefile} and\ninclude/xen/xen-ops.h\n"
    },
    {
      "commit": "b097186fd29d5bc5a26d1ae87995821ffc27b66e",
      "tree": "64aeb8bf4f6e0eea409d4ad5e12d9788a136732c",
      "parents": [
        "d2cb214551de8180542a04ec8c86c0c9412c5124"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue May 11 10:05:49 2010 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Jul 27 11:51:00 2010 -0400"
      },
      "message": "swiotlb-xen: SWIOTLB library for Xen PV guest with PCI passthrough.\n\nThis patchset:\n\nPV guests under Xen are running in an non-contiguous memory architecture.\n\nWhen PCI pass-through is utilized, this necessitates an IOMMU for\ntranslating bus (DMA) to virtual and vice-versa and also providing a\nmechanism to have contiguous pages for device drivers operations (say DMA\noperations).\n\nSpecifically, under Xen the Linux idea of pages is an illusion. It\nassumes that pages start at zero and go up to the available memory. To\nhelp with that, the Linux Xen MMU provides a lookup mechanism to\ntranslate the page frame numbers (PFN) to machine frame numbers (MFN)\nand vice-versa. The MFN are the \"real\" frame numbers. Furthermore\nmemory is not contiguous. Xen hypervisor stitches memory for guests\nfrom different pools, which means there is no guarantee that PFN\u003d\u003dMFN\nand PFN+1\u003d\u003dMFN+1. Lastly with Xen 4.0, pages (in debug mode) are\nallocated in descending order (high to low), meaning the guest might\nnever get any MFN\u0027s under the 4GB mark.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Albert Herranz \u003calbert_herranz@yahoo.es\u003e\nCc: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\n"
    },
    {
      "commit": "5915100106b8f14a38053ad6c03a664d208aeaa2",
      "tree": "86117ec2860f0a1d1f16fd778ab2e53722871d33",
      "parents": [
        "c1c5413ad58cb73267d328e6020268aa2e50d8ca"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Thu Jun 17 14:22:52 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Jul 26 23:13:26 2010 -0700"
      },
      "message": "x86: Call HVMOP_pagetable_dying on exit_mmap.\n\nWhen a pagetable is about to be destroyed, we notify Xen so that the\nhypervisor can clear the related shadow pagetable.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "c1c5413ad58cb73267d328e6020268aa2e50d8ca",
      "tree": "f2c66141ab8d9fdb7b16a13d4d510ad09b2430ed",
      "parents": [
        "409771d258e9dd71c30f3c9520fd2b796ffc40f0"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri May 14 12:44:30 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Jul 26 23:13:25 2010 -0700"
      },
      "message": "x86: Unplug emulated disks and nics.\n\nAdd a xen_emul_unplug command line option to the kernel to unplug\nxen emulated disks and nics.\n\nSet the default value of xen_emul_unplug depending on whether or\nnot the Xen PV frontends and the Xen platform PCI driver have\nbeen compiled for this kernel (modules or built-in are both OK).\n\nThe user can specify xen_emul_unplug\u003dignore to enable PV drivers on HVM\neven if the host platform doesn\u0027t support unplug.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "409771d258e9dd71c30f3c9520fd2b796ffc40f0",
      "tree": "68678275563114e9d381ae587fc80bd4d34a7e90",
      "parents": [
        "99ad198c4978036bb9f7ebd11618b225b77046da"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri May 14 12:48:19 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Jul 26 23:13:25 2010 -0700"
      },
      "message": "x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.\n\nUse xen_vcpuop_clockevent instead of hpet and APIC timers as main\nclockevent device on all vcpus, use the xen wallclock time as wallclock\ninstead of rtc and use xen_clocksource as clocksource.\nThe pv clock algorithm needs to work correctly for the xen_clocksource\nand xen wallclock to be usable, only modern Xen versions offer a\nreliable pv clock in HVM guests (XENFEAT_hvm_safe_pvclock).\n\nUsing the hpet as clocksource means a VMEXIT every time we read/write to\nthe hpet mmio addresses, pvclock give us a better rating without\nVMEXITs. Same goes for the xen wallclock and xen_vcpuop_clockevent\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Don Dutile \u003cddutile@redhat.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "016b6f5fe8398b0291cece60b749d7c930a2e09c",
      "tree": "430e9aad74f223dc5d144b60f4b78a0c3fb9cdfd",
      "parents": [
        "183d03cc4ff39e0f0d952c09aa96d0abfd6e0c3c"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Fri May 14 12:45:07 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:46:21 2010 -0700"
      },
      "message": "xen: Add suspend/resume support for PV on HVM guests.\n\nSuspend/resume requires few different things on HVM: the suspend\nhypercall is different; we don\u0027t need to save/restore memory related\nsettings; except the shared info page and the callback mechanism.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "183d03cc4ff39e0f0d952c09aa96d0abfd6e0c3c",
      "tree": "75947fc4a9ac69e902663c9cb618993b7c656cff",
      "parents": [
        "38e20b07efd541a959de367dc90a17f92ce2e8a6"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Mon May 17 17:08:21 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:46:09 2010 -0700"
      },
      "message": "xen: Xen PCI platform device driver.\n\nAdd the xen pci platform device driver that is responsible\nfor initializing the grant table and xenbus in PV on HVM mode.\nFew changes to xenbus and grant table are necessary to allow the delayed\ninitialization in HVM mode.\nGrant table needs few additional modifications to work in HVM mode.\n\nThe Xen PCI platform device raises an irq every time an event has been\ndelivered to us. However these interrupts are only delivered to vcpu 0.\nThe Xen PCI platform interrupt handler calls xen_hvm_evtchn_do_upcall\nthat is a little wrapper around __xen_evtchn_do_upcall, the traditional\nXen upcall handler, the very same used with traditional PV guests.\n\nWhen running on HVM the event channel upcall is never called while in\nprogress because it is a normal Linux irq handler (and we cannot switch\nthe irq chip wholesale to the Xen PV ones as we are running QEMU and\nmight have passed in PCI devices), therefore we cannot be sure that\nevtchn_upcall_pending is 0 when returning.\nFor this reason if evtchn_upcall_pending is set by Xen we need to loop\nagain on the event channels set pending otherwise we might loose some\nevent channel deliveries.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "38e20b07efd541a959de367dc90a17f92ce2e8a6",
      "tree": "bb087e243bf6e707dd063be2024a3b90de2f9413",
      "parents": [
        "bee6ab53e652a414af20392899879b58cd80d033"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng@linux.intel.com",
        "time": "Fri May 14 12:40:51 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:45:59 2010 -0700"
      },
      "message": "x86/xen: event channels delivery on HVM.\n\nSet the callback to receive evtchns from Xen, using the\ncallback vector delivery mechanism.\n\nThe traditional way for receiving event channel notifications from Xen\nis via the interrupts from the platform PCI device.\nThe callback vector is a newer alternative that allow us to receive\nnotifications on any vcpu and doesn\u0027t need any PCI support: we allocate\na vector exclusively to receive events, in the vector handler we don\u0027t\nneed to interact with the vlapic, therefore we avoid a VMEXIT.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "18f19aa62a267f2f759e278018f1032adf4c3774",
      "tree": "e6de00c645453ee48361e4cc0026e72d283c28a6",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Fri May 14 12:38:24 2010 +0100"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Thu Jul 22 16:45:31 2010 -0700"
      },
      "message": "xen: Add support for HVM hypercalls.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Sheng Yang \u003csheng@linux.intel.com\u003e\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\n"
    },
    {
      "commit": "08bbc9da92f7e44b9c208c6a1adba70c403b255e",
      "tree": "75c6cf9422e03990d1fd280b631d00ea4d4dbe4b",
      "parents": [
        "19001c8c5bfa032ed45b10dfe48e355f5df88c61"
      ],
      "author": {
        "name": "Alex Nixon",
        "email": "alex.nixon@citrix.com",
        "time": "Mon Feb 09 12:05:46 2009 -0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Jun 07 15:37:53 2010 -0400"
      },
      "message": "xen: Add xen_create_contiguous_region\n\nA memory region must be physically contiguous in order to be accessed\nthrough DMA.  This patch adds xen_create_contiguous_region, which\nensures a region of contiguous virtual memory is also physically\ncontiguous.\n\nBased on Stephen Tweedie\u0027s port of the 2.6.18-xen version.\n\nRemove contiguous_bitmap[] as it\u0027s no longer needed.\n\nPorted from linux-2.6.18-xen.hg 707:e410857fd83c\n\n[ Impact: add Xen-internal API to make pages phys-contig ]\n\nSigned-off-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "19001c8c5bfa032ed45b10dfe48e355f5df88c61",
      "tree": "07ca3058406ef30539a4b462b0891b8f8b797ab7",
      "parents": [
        "7347b4082e55ac4a673f06a0a0ce25c37273c9ec"
      ],
      "author": {
        "name": "Alex Nixon",
        "email": "alex.nixon@citrix.com",
        "time": "Mon Feb 09 12:05:46 2009 -0800"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Jun 07 14:34:07 2010 -0400"
      },
      "message": "xen: Rename the balloon lock\n\n* xen_create_contiguous_region needs access to the balloon lock to\n  ensure memory doesn\u0027t change under its feet, so expose the balloon\n  lock\n* Change the name of the lock to xen_reservation_lock, to imply it\u0027s\n  now less-specific usage.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1ccbf5344c3daef046d2323190cc6807c44f1917",
      "tree": "0c080e1c478a7cd5b67e5ec0af4d9ca97dbcf348",
      "parents": [
        "9a08f7d3506019e3833cd4394ca0d7da0ae3689f"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Oct 06 15:11:14 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Nov 04 08:47:24 2009 -0800"
      },
      "message": "xen: move Xen-testing predicates to common header\n\nMove xen_domain and related tests out of asm-x86 to xen/xen.h so they\ncan be included whenever they are necessary.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1943689c47acaad7fc7f3dae8d35ef82de5d48f4",
      "tree": "881eee1afdc2b313288dadacb1eda1e56efc4331",
      "parents": [
        "6d02c42698f99eccb290ac53d4f10ca883b9f90c",
        "0a4666b539a0e896ec4e8396a034a479e3573125",
        "c6a960ce8858f20036cc3afc3b9422670d0d9021",
        "818fd20673df82031e604bb784d836f1fc2e2451",
        "f0783708bf63a2827863cf2be57c08a24843e6bd"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 10:00:45 2009 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 10:00:45 2009 -0700"
      },
      "message": "Merge branches \u0027for-linus/xen/dev-evtchn\u0027, \u0027for-linus/xen/xenbus\u0027, \u0027for-linus/xen/xenfs\u0027 and \u0027for-linus/xen/sys-hypervisor\u0027 into for-linus/xen/master\n\n* for-linus/xen/dev-evtchn:\n  xen/dev-evtchn: clean up locking in evtchn\n  xen: export ioctl headers to userspace\n  xen: add /dev/xen/evtchn driver\n  xen: add irq_from_evtchn\n\n* for-linus/xen/xenbus:\n  xen/xenbus: export xenbus_dev_changed\n  xen: use device model for suspending xenbus devices\n  xen: remove suspend_cancel hook\n\n* for-linus/xen/xenfs:\n  xen: add \"capabilities\" file\n\n* for-linus/xen/sys-hypervisor:\n  xen: drop kexec bits from /sys/hypervisor since kexec isn\u0027t implemented yet\n  xen/sys/hypervisor: change writable_pt to features\n  xen: add /sys/hypervisor support\n\nConflicts:\n\tdrivers/xen/Makefile\n"
    },
    {
      "commit": "cff7e81b3dd7c25cd2248cd7a04c5764552d5d55",
      "tree": "797984cb2d3b162003dba11f752000ce22e0e75d",
      "parents": [
        "6d02c42698f99eccb290ac53d4f10ca883b9f90c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Mar 10 14:39:59 2009 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:27:06 2009 -0700"
      },
      "message": "xen: add /sys/hypervisor support\n\nAdds support for Xen info under /sys/hypervisor.  Taken from Novell 2.6.27\nbackport tree.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "de5b31bd47de7e6f41be2e271318dbc8f1af354d",
      "tree": "d222e4ce03706e5047b78e060f85ed0b31727eaa",
      "parents": [
        "a1ce1be578365a4da7e7d7db4812539d2d5da763"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Feb 09 12:05:50 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:56 2009 -0700"
      },
      "message": "xen: use device model for suspending xenbus devices\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "a1ce1be578365a4da7e7d7db4812539d2d5da763",
      "tree": "93110109c0aba28f654dfe0a12e189a054affe5e",
      "parents": [
        "6d02c42698f99eccb290ac53d4f10ca883b9f90c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Mon Feb 09 12:05:50 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:55 2009 -0700"
      },
      "message": "xen: remove suspend_cancel hook\n\nRemove suspend_cancel hook from xenbus_driver, in preparation for using\nthe device model for suspending.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "c5cfef0f79cacc3aa438fc28f4747f0d10c54d0d",
      "tree": "ba81558c0167d5124976cf143a6d35f65a52b65d",
      "parents": [
        "f7116284c734f3a47180cd9c907944a1837ccb3c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 06 19:21:19 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:49 2009 -0700"
      },
      "message": "xen: export ioctl headers to userspace\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "f7116284c734f3a47180cd9c907944a1837ccb3c",
      "tree": "320ce180a59a411ebbcbe08e6490a7fd672ad232",
      "parents": [
        "d4c045364d3107603187f21a56ec231e74d26441"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 06 19:21:19 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:49 2009 -0700"
      },
      "message": "xen: add /dev/xen/evtchn driver\n\nThis driver is used by application which wish to receive notifications\nfrom the hypervisor or other guests via Xen\u0027s event channel\nmechanism. In particular it is used by the xenstore daemon in domain\n0.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "d4c045364d3107603187f21a56ec231e74d26441",
      "tree": "b182dcd46168c14f4a97f5c891b8ea1fe51008d1",
      "parents": [
        "6d02c42698f99eccb290ac53d4f10ca883b9f90c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Fri Feb 06 19:20:31 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Mar 30 09:26:49 2009 -0700"
      },
      "message": "xen: add irq_from_evtchn\n\nGiven an evtchn, return the corresponding irq.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "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"
    }
  ]
}
