)]}'
{
  "log": [
    {
      "commit": "7bd867dfb4e0357e06a3211ab2bd0e714110def3",
      "tree": "fb66f4944f655ba594a7ae98f640e2310a389559",
      "parents": [
        "54e2603f1a85b9725aa13518d69148b6e7061aa9"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Thu Sep 10 10:48:56 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 16 14:34:50 2009 +0200"
      },
      "message": "x86: Move get/set_wallclock to x86_platform_ops\n\nget/set_wallclock() have already a set of platform dependent\nimplementations (default, EFI, paravirt). MRST will add another\nvariant.\n\nMoving them to platform ops simplifies the existing code and minimizes\nthe effort to integrate new variants.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2d826404f0bdcac2a4dd7e3c446b70d6a3b63b78",
      "tree": "7db2dc0fbde3a25a89f1fc1514152567f612ccde",
      "parents": [
        "47926214d8b2bef13b2be57c500194a804f16198"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 20 17:06:25 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 31 09:35:47 2009 +0200"
      },
      "message": "x86: Move tsc_calibration to x86_init_ops\n\nTSC calibration is modified by the vmware hypervisor and paravirt by\nseparate means. Moorestown wants to add its own calibration routine as\nwell. So make calibrate_tsc a proper x86_init_ops function and\noverride it by paravirt or by the early setup of the vmware\nhypervisor.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "845b3944bbdf9e9247849bf037f27ff3a3f26d87",
      "tree": "b14b40b5ba650996c646ed760cfa4b3283e04953",
      "parents": [
        "736decac643e8982655e22ac7f0e5e61c5b7f9bd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 19 15:37:03 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 31 09:35:46 2009 +0200"
      },
      "message": "x86: Add timer_init to x86_init_ops\n\nThe timer init code is convoluted with several quirks and the paravirt\ntimer chooser. Figuring out which code path is actually taken is not\nfor the faint hearted.\n\nMove the numaq TSC quirk to tsc_pre_init x86_init_ops function and\nreplace the paravirt time chooser and the remaining x86 quirk with a\nsimple x86_init_ops function.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "66bcaf0bde100a4b54b82fc6fea6ceee2212ffb4",
      "tree": "4d9e290bcf8da7e043d12f047b10ea4b6c3f33ff",
      "parents": [
        "d9112f43021554ded2ef2b9bea5f88ba4b52abe0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 20 09:59:09 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 31 09:35:45 2009 +0200"
      },
      "message": "x86: Move irq_init to x86_init_ops\n\nirq_init is overridden by x86_quirks and by paravirts. Unify the whole\nmess and make it an unconditional x86_init_ops function which defaults\nto the standard function and can be overridden by the early platform\ncode.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6b18ae3e2ff62daa9f181401759161dd8de0aadf",
      "tree": "3e1c61c26c29a1a81d5f54917a92c37334d3c607",
      "parents": [
        "816c25e7d4fb6fd40022a376e8b7f45b1edf5a89"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 20 10:19:54 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 27 17:12:52 2009 +0200"
      },
      "message": "x86: Move memory_setup to x86_init_ops\n\nmemory_setup is overridden by x86_quirks and by paravirts with weak\nfunctions and quirks. Unify the whole mess and make it an\nunconditional x86_init_ops function which defaults to the standard\nfunction and can be overridden by the early platform code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a91d74a3c4de8115295ee87350c13a329164aaaf",
      "tree": "02c862fccc9abedf7fc354061e69c4b5fbcce06d",
      "parents": [
        "2e04ef76916d1e29a077ea9d0f2003c8fd86724d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:46 2009 +0930"
      },
      "message": "lguest: update commentry\n\nEvery so often, after code shuffles, I need to go through and unbitrot\nthe Lguest Journey (see drivers/lguest/README).  Since we now use RCU in\na simple form in one place I took the opportunity to expand that explanation.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2e04ef76916d1e29a077ea9d0f2003c8fd86724d",
      "tree": "2ff8d625d6e467be9f9f1b67a3674cb6e125e970",
      "parents": [
        "e969fed542cae08cb11d666efac4f7c5d624d09f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jul 30 16:03:45 2009 +0930"
      },
      "message": "lguest: fix comment style\n\nI don\u0027t really notice it (except to begrudge the extra vertical\nspace), but Ingo does.  And he pointed out that one excuse of lguest\nis as a teaching tool, it should set a good example.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "7a5049205f7265620c48781814155f2763e70abb",
      "tree": "7b3cf5ec83687e74028bbfa100dac4e6d449155a",
      "parents": [
        "27de22d03d6808a82bbe9bd7e3cc75d60132ba9e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 17 21:47:44 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 17 21:47:45 2009 +0930"
      },
      "message": "lguest: restrict CPUID to avoid perf counter wrmsr\n\nAvoid the following:\n[    0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40()\n\nRather than chase each new cpuid-detected feature, just lie about the highest\nvalid CPUID so this code is never run.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5780888bcac316508eb5f4dd23bbea8b5057647c",
      "tree": "59d8b6ad427e87ebb7b41f855d32b7a2126b1dc6",
      "parents": [
        "4b0a84043e0c14088958fddb62f416d050368011"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Thu Jun 18 11:44:06 2009 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jul 17 21:47:44 2009 +0930"
      },
      "message": "lguest: fix journey\n\nfix: \"make Guest\" was complaining about duplicated G:032\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "acdd0b6292b282c4511897ac2691a47befbf1c6a",
      "tree": "1bfcfc32b11d35e99fec5bbf52b19d6ee038f25e",
      "parents": [
        "cefcad1773197523e11e18b669f245e6a8d32058"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:07 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:08 2009 +0930"
      },
      "message": "lguest: PAE support\n\nThis version requires that host and guest have the same PAE status.\nNX cap is not offered to the guest, yet.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "cefcad1773197523e11e18b669f245e6a8d32058",
      "tree": "2d94e3df551b3ee58c1ac89ed4872e2153496c05",
      "parents": [
        "ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:07 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:07 2009 +0930"
      },
      "message": "lguest: Add support for kvm_hypercall4()\n\nAdd support for kvm_hypercall4(); PAE wants it.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui at gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e",
      "tree": "df1c3373274846b4998ea75c56f347a264b2c8ad",
      "parents": [
        "90603d15fa95605d1d08235b73e220d766f04bb0"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Sat May 30 15:48:08 2009 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:07 2009 +0930"
      },
      "message": "lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD\n\nreplace LHCALL_SET_PMD with LHCALL_SET_PGD hypercall name\n(That\u0027s really what it is, and the confusion gets worse with PAE support)\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReported-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n"
    },
    {
      "commit": "90603d15fa95605d1d08235b73e220d766f04bb0",
      "tree": "669b5a41ebdb368e578898409d8a48021074746a",
      "parents": [
        "ed1dc77810159a733240ba6751c1b31023bf8dd7"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Fri Jun 12 22:27:06 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:06 2009 +0930"
      },
      "message": "lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated\n\nSome cleanups and replace direct assignment with native_set_* macros which properly handle 64-bit entries when PAE is activated\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "61f4bc83fea248a3092beb7ba43daa5629615513",
      "tree": "5ce12fc0676f93a49f743dab1c60f8e1ca991ec3",
      "parents": [
        "a32a8813d0173163ba44d8f9556e0d89fdc4fb46"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:03 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:03 2009 +0930"
      },
      "message": "lguest: optimize by coding restore_flags and irq_enable in assembler.\n\nThe downside of the last patch which made restore_flags and irq_enable\ncheck interrupts is that they are now too big to be patched directly\ninto the callsites, so the C versions are always used.\n\nBut the C versions go via PV_CALLEE_SAVE_REGS_THUNK which saves all\nthe registers.  In fact, we don\u0027t need any registers in the fast path,\nso we can do better than this if we actually code them in assembler.\n\nThe results are in the noise, but since it\u0027s about the same amount of\ncode, it\u0027s worth applying.\n\n1GB Guest-\u003eHost: input(suppressed),output(suppressed)\nBefore:\n\tSeconds: 0:16.53\n\tPackets: 377268,753673\n\tInterrupts: 22461,24297\n\tNotifications: 1(5245),21303(732370)\n\tNet IRQs triggered: 377023(245),42578(711095)\n\nAfter:\n\tSeconds: 0:16.48\n\tPackets: 377289,753673\n\tInterrupts: 22281,24465\n\tNotifications: 1(5245),21296(732377)\n\tNet IRQs triggered: 377060(229),42564(711109)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a32a8813d0173163ba44d8f9556e0d89fdc4fb46",
      "tree": "fddb6742338047d0219e8c2536cd39b04e643b16",
      "parents": [
        "abd41f037e1a64543000ed73b42f616d04d92700"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:02 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:03 2009 +0930"
      },
      "message": "lguest: improve interrupt handling, speed up stream networking\n\nlguest never checked for pending interrupts when enabling interrupts, and\nthings still worked.  However, it makes a significant difference to TCP\nperformance, so it\u0027s time we fixed it by introducing a pending_irq flag\nand checking it on irq_restore and irq_enable.\n\nThese two routines are now too big to patch into the 8/10 bytes\npatch space, so we drop that code.\n\nNote: The high latency on interrupt delivery had a very curious\neffect: once everything else was optimized, networking without GSO was\nfaster than networking with GSO, since more interrupts were sent and\nhence a greater chance of one getting through to the Guest!\n\nNote2: (Almost) Closing the same loophole for iret doesn\u0027t have any\nmeasurable effect, so I\u0027m leaving that patch for the moment.\n\nBefore:\n\t1GB tcpblast Guest-\u003eHost:\t\t30.7 seconds\n\t1GB tcpblast Guest-\u003eHost (no GSO):\t76.0 seconds\n\nAfter:\n\t1GB tcpblast Guest-\u003eHost:\t\t6.8 seconds\n\t1GB tcpblast Guest-\u003eHost (no GSO):\t27.8 seconds\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1028375e93a7aa4dbe466947d1c65f368b1f61c1",
      "tree": "33199b0bb9c79fded3159b880d8ad9e0e6bcb28c",
      "parents": [
        "56739c802ca845435f60e909104637880e14c769"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:26:59 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 22:27:00 2009 +0930"
      },
      "message": "lguest: clean up lguest_init_IRQ\n\nCopy from arch/x86/kernel/irqinit_32.c: we don\u0027t use the vectors beyond\nLGUEST_IRQS (if any), but we might as well set them all.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "be15f9d63b97da0065187696962331de6cd9de9e",
      "tree": "cc85c72e92afccfdcdfa851c4694a93f4ea22b84",
      "parents": [
        "595dc54a1da91408a52c4b962f3deeb1109aaca0",
        "a789ed5fb6d0256c4177c2cc27e06520ddbe4d4c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 16:16:27 2009 -0700"
      },
      "message": "Merge branch \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits)\n  xen: cache cr0 value to avoid trap\u0027n\u0027emulate for read_cr0\n  xen/x86-64: clean up warnings about IST-using traps\n  xen/x86-64: fix breakpoints and hardware watchpoints\n  xen: reserve Xen start_info rather than e820 reserving\n  xen: add FIX_TEXT_POKE to fixmap\n  lguest: update lazy mmu changes to match lguest\u0027s use of kvm hypercalls\n  xen: honour VCPU availability on boot\n  xen: add \"capabilities\" file\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  xen/xenbus: export xenbus_dev_changed\n  xen: use device model for suspending xenbus devices\n  xen: remove suspend_cancel hook\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  xen: clean up gate trap/interrupt constants\n  xen: set _PAGE_NX in __supported_pte_mask before pagetable construction\n  ...\n"
    },
    {
      "commit": "f0d5e12bd42b7173ebbbf59279c867605f859814",
      "tree": "f4018a726ecd2cf520afdf27210bfec1f3181718",
      "parents": [
        "0fea615e526b4b7eff0363ee02d5753e5f924089",
        "103428e57be323c3c5545db8ad12667099bc6005"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:25:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 10 15:25:41 2009 -0700"
      },
      "message": "Merge branch \u0027irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits)\n  x86, apic: Fix dummy apic read operation together with broken MP handling\n  x86, apic: Restore irqs on fail paths\n  x86: Print real IOAPIC version for x86-64\n  x86: enable_update_mptable should be a macro\n  sparseirq: Allow early irq_desc allocation\n  x86, io-apic: Don\u0027t mark pin_programmed early\n  x86, irq: don\u0027t call mp_config_acpi_gsi() if update_mptable is not enabled\n  x86, irq: update_mptable needs pci_routeirq\n  x86: don\u0027t call read_apic_id if !cpu_has_apic\n  x86, apic: introduce io_apic_irq_attr\n  x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix\n  x86: read apic ID in the !acpi_lapic case\n  x86: apic: Fixmap apic address even if apic disabled\n  x86: display extended apic registers with print_local_APIC and cpu_debug code\n  x86: read apic ID in the !acpi_lapic case\n  x86: clean up and fix setup_clear/force_cpu_cap handling\n  x86: apic: Check rev 3 fadt correctly for physical_apic bit\n  x86/pci: update pirq_enable_irq() to setup io apic routing\n  x86/acpi: move setup io apic routing out of CONFIG_ACPI scope\n  x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector()\n  ...\n"
    },
    {
      "commit": "2cb7878a3a4341d1faa208de962d66f0817d3e7a",
      "tree": "6639c4dcce9f213a58144e0c0431a339b69c42b2",
      "parents": [
        "9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jun 03 14:52:24 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 11:50:06 2009 -0700"
      },
      "message": "lguest: fix \u0027unhandled trap 13\u0027 with CONFIG_CC_STACKPROTECTOR\n\nWe don\u0027t set up the canary; let\u0027s disable stack protector on boot.c so\nwe can get into lguest_init, then set it up.  As a side effect,\nswitch_to_new_gdt() sets up %fs for us properly too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f066a155334642b8a206eec625b1925d88c48aeb",
      "tree": "cb12975e60b70d1dae3b7397bab955de78a4d01e",
      "parents": [
        "e7c064889606aab3569669078c69b87b2c527e72",
        "33df4db04a79660150e1948e3296eeb451ac121b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 10:50:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 10:50:00 2009 +0200"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/xen\n\nConflicts:\n\tarch/frv/include/asm/pgtable.h\n\tarch/x86/include/asm/required-features.h\n\tarch/x86/xen/mmu.c\n\nMerge reason: x86/xen was on a .29 base still, move it to a fresher\n              branch and pick up Xen fixes as well, plus resolve\n              conflicts\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85ac16d033370caf6f48d743c8dc8103700f5cc5",
      "tree": "04a73af31c07a8ad29780b777b3f9d041fa236fa",
      "parents": [
        "57b150cce8e004ddd36330490a68bfb59b7271e9"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Apr 27 18:00:38 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 28 12:21:17 2009 +0200"
      },
      "message": "x86/irq: change irq_desc_alloc() to take node instead of cpu\n\nThis simplifies the node awareness of the code. All our allocators\nonly deal with a NUMA node ID locality not with CPU ids anyway - so\nthere\u0027s no need to maintain (and transform) a CPU id all across the\nIRq layer.\n\nv2: keep move_irq_desc related\n\n[ Impact: cleanup, prepare IRQ code to be NUMA-aware ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nLKML-Reference: \u003c49F65536.2020300@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e19608e8b5c001e4a66ce482edc474f05fb7355",
      "tree": "06af4be339136da7476396604c30112238d84339",
      "parents": [
        "ff14ed5db6e7e5e5dc23712d3c877891d4d9a1a8"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: pass clocksource to read() callback\n\nPass clocksource pointer to the read() callback for clocksources.  This\nallows us to share the callback between multiple instances.\n\n[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a489f0b555b753f9df8ddc24c7e74f657ef7ee7b",
      "tree": "560bd8c56524b658eb0b46e03ef42e262eb5f9b7",
      "parents": [
        "88df781afb788fa588dbf2e77f205214022a8893"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Apr 19 23:14:00 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Apr 19 23:14:01 2009 +0930"
      },
      "message": "lguest: fix guest crash on non-linear addresses in gdt pvops\n\nFixes guest crash \u0027lguest: bad read address 0x4800000 len 256\u0027\n\nThe new per-cpu allocator ends up handing a non-linear address to\nwrite_gdt_entry.  We do __pa() on it, and hand it to the host, which\nkills us.\n\nI\u0027ve long wanted to make the hypercall \"LOAD_GDT_ENTRY\" to match the IDT\ncode, but had no pressing reason until now.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: lguest@ozlabs.org\n"
    },
    {
      "commit": "169aafbc8d3f05431b5cfeb60294a12b8ef2bcee",
      "tree": "8d74a3ea09ded184104a5a01c3499fad9c3dd961",
      "parents": [
        "38f4b8c0da01ae7cd9b93386842ce272d6fde9ab"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:37:26 2009 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:37:26 2009 -0700"
      },
      "message": "lguest: update lazy mmu changes to match lguest\u0027s use of kvm hypercalls\n\nDuplicate hcall -\u003e kvm_hypercall0 convertion from \"lguest: use KVM\nhypercalls\".\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Matias Zabaljauregui \u003czabaljauregui at gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "38f4b8c0da01ae7cd9b93386842ce272d6fde9ab",
      "tree": "3c8c52201aac038094bfea7efdd0984a8f62045e",
      "parents": [
        "a811454027352c762e0d5bba1b1d8f7d26bf96ae",
        "8e2c4f2844c0e8dcdfe312e5f2204854ca8532c6"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:34:16 2009 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Apr 07 13:34:16 2009 -0700"
      },
      "message": "Merge commit \u0027origin/master\u0027 into for-linus/xen/master\n\n* commit \u0027origin/master\u0027: (4825 commits)\n  Fix build errors due to CONFIG_BRANCH_TRACER\u003dy\n  parport: Use the PCI IRQ if offered\n  tty: jsm cleanups\n  Adjust path to gpio headers\n  KGDB_SERIAL_CONSOLE check for module\n  Change KCONFIG name\n  tty: Blackin CTS/RTS\n  Change hardware flow control from poll to interrupt driven\n  Add support for the MAX3100 SPI UART.\n  lanana: assign a device name and numbering for MAX3100\n  serqt: initial clean up pass for tty side\n  tty: Use the generic RS485 ioctl on CRIS\n  tty: Correct inline types for tty_driver_kref_get()\n  splice: fix deadlock in splicing to file\n  nilfs2: support nanosecond timestamp\n  nilfs2: introduce secondary super block\n  nilfs2: simplify handling of active state of segments\n  nilfs2: mark minor flag for checkpoint created by internal operation\n  nilfs2: clean up sketch file\n  nilfs2: super block operations fix endian bug\n  ...\n\nConflicts:\n\tarch/x86/include/asm/thread_info.h\n\tarch/x86/lguest/boot.c\n\tdrivers/xen/manage.c\n"
    },
    {
      "commit": "db6f204019380c788f1de06ee937bdbccd60e5c0",
      "tree": "f8ca32ab6932a21797dbc5aa77688ea017959da0",
      "parents": [
        "3c6fae67d026d57f64eb3da9c0d0e76983e39ae3",
        "d1881d3192a3d3e8dc4f255b03187f4c36cb0617"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:57:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 17:57:39 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio:\n  lguest: barrier me harder\n  lguest: use bool instead of int\n  lguest: use KVM hypercalls\n  lguest: wire up pte_update/pte_update_defer\n  lguest: fix spurious BUG_ON() on invalid guest stack.\n  virtio: more neatening of virtio_ring macros.\n  virtio: fix BAD_RING, START_US and END_USE macros\n"
    },
    {
      "commit": "4cd8b5e2a159f18a1507f1187b44a1acbfa6341b",
      "tree": "8a774c377e2c798e119af4b3664453c6f0d1d94d",
      "parents": [
        "b7ff99ea53cd16de8f6166c0e98f19a7c6ca67ee"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Sat Mar 14 13:37:52 2009 -0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 21:55:24 2009 +1030"
      },
      "message": "lguest: use KVM hypercalls\n\nImpact: cleanup\n\nThis patch allow us to use KVM hypercalls\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui at gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b7ff99ea53cd16de8f6166c0e98f19a7c6ca67ee",
      "tree": "fed5a3cf8fc8061967e60b5bbf32e81f3c742822",
      "parents": [
        "6afbdd059c27330eccbd85943354f94c2b83a7fe"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 21:55:23 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 30 21:55:24 2009 +1030"
      },
      "message": "lguest: wire up pte_update/pte_update_defer\n\nImpact: intermittent guest segv/crash fix\n\nI\u0027ve been seeing random guest bad address crashes and segmentation faults:\nbisect led to 4f98a2fee8 (vmscan: split LRU lists into anon \u0026 file sets),\nbut that\u0027s a red herring.\n\nIt turns out that lguest never hooked up the pte_update/pte_update_defer\ncalls, so our ptes were not always in sync.  After the vmscan commit, the\nbug became reproducible; now a fsck in a 64MB guest causes reproducible\npagetable corruption.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: jeremy@xensource.com\nCc: virtualization@lists.osdl.org\nCc: stable@kernel.org\n"
    },
    {
      "commit": "224101ed69d3fbb486868e0f6e0f9fa37302efb4",
      "tree": "46830842a99659421eeabee65d299ab4c3b59f28",
      "parents": [
        "b407fc57b815b2016186220baabc76cc8264206e"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Wed Feb 18 11:18:57 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Sun Mar 29 23:36:01 2009 -0700"
      },
      "message": "x86/paravirt: finish change from lazy cpu to context switch start/end\n\nImpact: fix lazy context switch API\n\nPass the previous and next tasks into the context switch start\nend calls, so that the called functions can properly access the\ntask state (esp in end_context_switch, in which the next task\nis not yet completely current).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "b407fc57b815b2016186220baabc76cc8264206e",
      "tree": "29949f727af8b6c19fd689fa10f123ea84c03cb0",
      "parents": [
        "7fd7d83d49914f03aefffba6aee09032fcd54cce"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Tue Feb 17 23:46:21 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Sun Mar 29 23:36:00 2009 -0700"
      },
      "message": "x86/paravirt: flush pending mmu updates on context switch\n\nImpact: allow preemption during lazy mmu updates\n\nIf we\u0027re in lazy mmu mode when context switching, leave\nlazy mmu mode, but remember the task\u0027s state in\nTIF_LAZY_MMU_UPDATES.  When we resume the task, check this\nflag and re-enter lazy mmu mode if its set.\n\nThis sets things up for allowing lazy mmu mode while preemptible,\nthough that won\u0027t actually be active until the next change.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "6e15cf04860074ad032e88c306bea656bbdd0f22",
      "tree": "c346383bb7563e8d66b2f4a502f875b259c34870",
      "parents": [
        "be0ea69674ed95e1e98cb3687a241badc756d228",
        "60db56422043aaa455ac7f858ce23c273220f9d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 21:39:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 27 17:28:43 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into percpu-cpumask-x86-for-linus-2\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tarch/x86/include/asm/fixmap_64.h\n\tarch/x86/include/asm/setup.h\n\tkernel/irq/handle.c\n\nSemantic merge:\n        arch/x86/include/asm/fixmap.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccf3fe02e35f4abca2589f99022cc25084bbd8ae",
      "tree": "3bcf329116b8c689b4da1bb1a0d87bb587d3f3c7",
      "parents": [
        "5368a2be34b96fda9c05d79424fa63a73ead04ed"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Fri Feb 27 13:27:38 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sat Mar 14 17:23:47 2009 -0700"
      },
      "message": "x86-32: use brk segment for allocating initial kernel pagetable\n\nImpact: use new interface instead of previous ad hoc implementation\n\nRather than having special purpose init_pg_table_start/end variables\nto delimit the kernel pagetable built by head_32.S, just use the brk\nmechanism to extend the bss for the new pagetable.\n\nThis patch removes init_pg_table_start/end and pg0, defines __brk_base\n(which is page-aligned and immediately follows _end), initializes\nthe brk region to start there, and uses it for the 32-bit pagetable.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "78b020d035074fc3aa4d017353bb2c32e2aff56f",
      "tree": "e49922810cfcc880248f588743c619e72f543774",
      "parents": [
        "bf5172d07ac38e538e01143289e9b46076494ad5",
        "fee7b0d84cc8c7bc5dc212901c79e93eaf83a5b5",
        "5490fa96735ce0e2af270c0868987d644b9a38ec",
        "16b71fdf97599f1b1b7f38418ee9922d9f117396"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 10:49:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 11 10:49:15 2009 +0100"
      },
      "message": "Merge branches \u0027x86/cleanups\u0027, \u0027x86/kexec\u0027, \u0027x86/mce2\u0027 and \u0027linus\u0027 into x86/core\n"
    },
    {
      "commit": "6db6a5f3ae2ca6b874b0fd97ae16fdc9b5cdd6cc",
      "tree": "567ab7d3593f6ab63fecfb8c9797fb4efda67ea7",
      "parents": [
        "cbd88c8e6f5cdb8d4b9af01df825305200240382"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:28 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:29 2009 +1030"
      },
      "message": "lguest: fix for CONFIG_SPARSE_IRQ\u003dy\n\nImpact: remove lots of lguest boot WARN_ON() when CONFIG_SPARSE_IRQ\u003dy\n\nWe now need to call irq_to_desc_alloc_cpu() before\nset_irq_chip_and_handler_name(), but we can\u0027t do that from init_IRQ (no\nkmalloc available).\n\nSo do it as we use interrupts instead.  Also means we only alloc for\nirqs we use, which was the intent of CONFIG_SPARSE_IRQ anyway.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "cbd88c8e6f5cdb8d4b9af01df825305200240382",
      "tree": "4ec4c5123fab9f08e7a31fe7843ab4f7b9197656",
      "parents": [
        "7a203f3b089be4410fe065dd9927027eade94557"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:22 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:28 2009 +1030"
      },
      "message": "lguest: fix crash \u0027unhandled trap 13 at \u003cnative_read_msr_safe\u003e\u0027\n\nImpact: fix lguest boot crash on modern Intel machines\n\nThe code in early_init_intel does:\n\n\tif (c-\u003ex86 \u003e 6 || (c-\u003ex86 \u003d\u003d 6 \u0026\u0026 c-\u003ex86_model \u003e\u003d 0xd)) {\n\t\tu64 misc_enable;\n\n\t\trdmsrl(MSR_IA32_MISC_ENABLE, misc_enable);\n\nAnd that rdmsr faults (not allowed from non-0 PL).  We can get around\nthis by mugging the family ID part of the cpuid.  5 seems like a good\nnumber.\n\nOf course, this is a hack (how very lguest!).  We could just indicate\nthat we don\u0027t support MSRs, or implement lguest_rdmst.\n\nReported-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTested-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "965c7ecaf2e2b083d711a01ab33735a4bdeee1a4",
      "tree": "b83609b1b39195df4711114b520c3dde5c37ea2e",
      "parents": [
        "8425091ff8af2addae118fc510a523b84ce51115"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 22 23:19:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 23 00:54:01 2009 +0100"
      },
      "message": "x86: remove the Voyager 32-bit subarch\n\nImpact: remove unused/broken code\n\nThe Voyager subarch last built successfully on the v2.6.26 kernel\nand has been stale since then and does not build on the v2.6.27,\nv2.6.28 and v2.6.29-rc5 kernels.\n\nNo actual users beyond the maintainer reported this breakage.\nPatches were sent and most of the fixes were accepted but the\ndiscussion around how to do a few remaining issues cleanly\nfizzled out with no resolution and the code remained broken.\n\nIn the v2.6.30 x86 tree development cycle 32-bit subarch support\nhas been reworked and removed - and the Voyager code, beyond the\nbuild problems already known, needs serious and significant\nchanges and probably a rewrite to support it.\n\nCONFIG_X86_VOYAGER has been marked BROKEN then. The maintainer has\nbeen notified but no patches have been sent so far to fix it.\n\nWhile all other subarchs have been converted to the new scheme,\nvoyager is still broken. We\u0027d prefer to receive patches which\nclean up the current situation in a constructive way, but even in\ncase of removal there is no obstacle to add that support back\nafter the issues have been sorted out in a mutually acceptable\nfashion.\n\nSo remove this inactive code for now.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b6aa335ca1a845c2262ec7a595b4521bca0f79d",
      "tree": "7ce7694a6a0c7dcfdd21562256f6ef05cffc5560",
      "parents": [
        "e2780a68f889c9d7ec8e78d58a3a2be8cfebf202"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 13:58:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 17:52:44 2009 +0100"
      },
      "message": "x86, apic: remove genapic.h\n\nImpact: cleanup\n\nRemove genapic.h and remove all references to it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c1eeb2de41d7015678bdd412b48a5f071b84e29a",
      "tree": "6af99f46f557f9e854e882deac52d23b2fadb5a2",
      "parents": [
        "06cd9a7dc8a58186060a91b6ddc031057435fd34"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Feb 16 23:02:14 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 17 12:22:20 2009 +0100"
      },
      "message": "x86: fold apic_ops into genapic\n\nImpact: cleanup\n\nmake it simpler, don\u0027t need have one extra struct.\n\nv2: fix the sgi_uv build\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccbeed3a05908d201b47b6c3dd1a373138bba566",
      "tree": "e834d548c70426aa3885dd2169be1a79be4a617b",
      "parents": [
        "d9a89a26e02ef9ed03f74a755a8b4d8f3a066622"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 09 22:17:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:42:00 2009 +0100"
      },
      "message": "x86: make lazy %gs optional on x86_32\n\nImpact: pt_regs changed, lazy gs handling made optional, add slight\n        overhead to SAVE_ALL, simplifies error_code path a bit\n\nOn x86_32, %gs hasn\u0027t been used by kernel and handled lazily.  pt_regs\ndoesn\u0027t have place for it and gs is saved/loaded only when necessary.\nIn preparation for stack protector support, this patch makes lazy %gs\nhandling optional by doing the followings.\n\n* Add CONFIG_X86_32_LAZY_GS and place for gs in pt_regs.\n\n* Save and restore %gs along with other registers in entry_32.S unless\n  LAZY_GS.  Note that this unfortunately adds \"pushl $0\" on SAVE_ALL\n  even when LAZY_GS.  However, it adds no overhead to common exit path\n  and simplifies entry path with error code.\n\n* Define different user_gs accessors depending on LAZY_GS and add\n  lazy_save_gs() and lazy_load_gs() which are noop if !LAZY_GS.  The\n  lazy_*_gs() ops are used to save, load and clear %gs lazily.\n\n* Define ELF_CORE_COPY_KERNEL_REGS() which always read %gs directly.\n\nxen and lguest changes need to be verified.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecb93d1ccd0aac63f03be2db3cac3fa974716f4c",
      "tree": "be6fe6fce203ed17b9f5b52d73b51b1832b00336",
      "parents": [
        "9104a18dcdd8dfefdddca8ce44988563f13ed3c4"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jan 28 14:35:05 2009 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 30 14:51:45 2009 -0800"
      },
      "message": "x86/paravirt: add register-saving thunks to reduce caller register pressure\n\nImpact: Optimization\n\nOne of the problems with inserting a pile of C calls where previously\nthere were none is that the register pressure is greatly increased.\nThe C calling convention says that the caller must expect a certain\nset of registers may be trashed by the callee, and that the callee can\nuse those registers without restriction.  This includes the function\nargument registers, and several others.\n\nThis patch seeks to alleviate this pressure by introducing wrapper\nthunks that will do the register saving/restoring, so that the\ncallsite doesn\u0027t need to worry about it, but the callee function can\nbe conventional compiler-generated code.  In many cases (particularly\nperformance-sensitive cases) the callee will be in assembler anyway,\nand need not use the compiler\u0027s calling convention.\n\nStandard calling convention is:\n\t arguments\t    return\tscratch\nx86-32\t eax edx ecx\t    eax\t\t?\nx86-64\t rdi rsi rdx rcx    rax\t\tr8 r9 r10 r11\n\nThe thunk preserves all argument and scratch registers.  The return\nregister is not preserved, and is available as a scratch register for\nunwrapped callee code (and of course the return value).\n\nWrapped function pointers are themselves wrapped in a struct\nparavirt_callee_save structure, in order to get some warning from the\ncompiler when functions with mismatched calling conventions are used.\n\nThe most common paravirt ops, both statically and dynamically, are\ninterrupt enable/disable/save/restore, so handle them first.  This is\nparticularly easy since their calls are handled specially anyway.\n\nXXX Deal with VMI.  What\u0027s their calling convention?\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "72410af921cbc9018da388ca1ddf75880a033ac1",
      "tree": "982abebfcf114149c9ba81bb468a0dd3adf0376b",
      "parents": [
        "18e352e4a73465349711a9324767e1b2453383e2"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Fri Jan 16 20:39:14 2009 +0900"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 30 11:34:10 2009 +1030"
      },
      "message": "lguest: typos fix\n\n3 points\n\nlguest_asm.S \u003d\u003e i386_head.S\nLHCALL_BREAK \u003d\u003e LHREQ_BREAK\nperferred    \u003d\u003e preferred\n\nSigned-off-by: Atsushi SAKAI \u003csakaia@jp.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "58a24566449892dda409b9ad92c2e56c76c5670c",
      "tree": "4dfe2305dfd078c71d949ea8cc6c9cc6e2679494",
      "parents": [
        "be3c5832d51174ef7f21cefd6ad612dabdcb62fd"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Mon Sep 29 01:40:07 2008 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:11 2008 +1030"
      },
      "message": "lguest: move the initial guest page table creation code to the host\n\nThis patch moves the initial guest page table creation code to the host,\nso the launcher keeps working with PAE enabled configs.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67",
      "tree": "1303d8ca53cca655425d512d65cc9ab043254b31",
      "parents": [
        "0de26520c7cabf36e1de090ea8092f011a6106ce"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:26 2008 +1030"
      },
      "message": "cpumask: convert struct clock_event_device to cpumask pointers.\n\nImpact: change calling convention of existing clock_event APIs\n\nstruct clock_event_timer\u0027s cpumask field gets changed to take pointer,\nas does the -\u003ebroadcast function.\n\nAnother single-patch change.  For safety, we BUG_ON() in\nclockevents_register_device() if it\u0027s not set.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4687518c4cb7807fbeff21770e309080f9eb7f2f",
      "tree": "ad5a423f3f70a0ab3ca16dd8a4a9a1aabdf94986",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Nov 11 13:03:07 2008 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Nov 11 13:03:07 2008 -0800"
      },
      "message": "x86: 32 bit: interrupt stub consistency with 64 bit\n\nDon\u0027t generate interrupt stubs for interrupt vectors below\nFIRST_EXTERNAL_VECTOR, and make the table of interrupt vectors\n(interrupt[]) __initconst.  Both of these changes both conserve memory\nand improve consistency with 64 bits.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "526e5ab200ce483dcdf146806f4936bd58daa800",
      "tree": "b865e04546882a8a2daf5341160cb52048cf70dc",
      "parents": [
        "ad5173ff8a387191dbacf889becb92c59aba5d59"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Oct 31 11:24:27 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Oct 31 11:24:28 2008 +1100"
      },
      "message": "lguest: fix irq vectors.\n\n\tdo_IRQ: cannot handle IRQ -1 vector 0x20 cpu 0\n\t------------[ cut here ]------------\n\tkernel BUG at arch/x86/kernel/irq_32.c:219!\n\nWe\u0027re not ISA: we have a 1:1 mapping from vectors to irqs.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ad5173ff8a387191dbacf889becb92c59aba5d59",
      "tree": "bf8af6cb614593de091312bd7fa3c53ba6704e38",
      "parents": [
        "d5d02d6dd394b295abcadd6b0ce4932c07916fdf"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Oct 31 11:24:27 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Oct 31 11:24:27 2008 +1100"
      },
      "message": "lguest: fix early_ioremap.\n\ndmi_scan_machine breaks under lguest:\n\tlguest: unhandled trap 14 at 0xc04edeae (0xffa00000)\n\nThis is because we use current_cr3 for the read_cr3() paravirt\nfunction, and it isn\u0027t set until the first cr3 change.  We got away\nwith it until this happened.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "497c9a195db918d3f035e8cb3021e5d4d035516e",
      "tree": "73df8764a812f2d6d2bd81d6a1d671008a0d212b",
      "parents": [
        "199751d715bba5b469ea22adadc68a4166bfa4f5"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:28 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:53 2008 +0200"
      },
      "message": "x86: make 32bit support per_cpu vector\n\nso we can merge io_apic_32.c and io_apic_64.c\n\nv2: Use cpu_online_map as target cpus for bigsmp, just like 64-bit is doing.\n\nAlso remove some unused TARGET_CPUS macro.\n\nv3: need to check if desc is null in smp_irq_move_cleanup\n\nalso migration needs to reset vector too, so copy __target_IO_APIC_irq\nfrom 64bit.\n\n(the duplication will go away once the two files are unified.)\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15dd859cacf312f606f54502d1f66537a1e5c78c",
      "tree": "e50e125eaa6da83fa715704e53c1bde013d1ef8e",
      "parents": [
        "b2d9d33412b9d13a40cd314d93ab517950fc5950",
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:33:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:33:48 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc1\u0027 into x86/core\n\nConflicts:\n\n\tinclude/asm-x86/dma-mapping.h\n\tinclude/asm-x86/namei.h\n\tinclude/asm-x86/uaccess.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d006d8d09e82f086ca0baf79a2907f2c1e25af7",
      "tree": "fd289cff9209eda20a28934037f9150e22bef82b",
      "parents": [
        "63add2f2072e69c1eb7a5f6ca8f415122da889b9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:29 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 29 09:58:31 2008 +1000"
      },
      "message": "lguest: set max_pfn_mapped, growl loudly at Yinghai Lu\n\n6af61a7614a306fe882a0c2b4ddc63b65aa66efc \u0027x86: clean up max_pfn_mapped\nusage - 32-bit\u0027 makes the following comment:\n\n    XEN PV and lguest may need to assign max_pfn_mapped too.\n\nBut no CC.  Yinghai, wasting fellow developers\u0027 time is a VERY bad\nhabit.  If you do it again, I will hunt you down and try to extract\nthe three hours of my life I just lost :)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "7be42004065ce4df193aeef5befd26805267d0d9",
      "tree": "b5feb18695578b1eb36a4af1a9520391cc23f96a",
      "parents": [
        "caf43bf7c6a55e89b6df5179df434d67e24aa32e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 20 17:04:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 20 17:03:45 2008 +0200"
      },
      "message": "x86, lguest: fix apic_ops build on UP\n\nfix:\n\n  arch/x86/lguest/boot.c:816: error: variable ‘lguest_basic_apic_ops’ has initializer but incomplete type\n  arch/x86/lguest/boot.c:817: error: unknown field ‘read’ specified in initializer\n [...]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "453c1404c5273a30d715e5a83372a78cff70b6d9",
      "tree": "94a5a3abd85137c4def416a84a45989751260f20",
      "parents": [
        "a208f37a465e222218974ab20a31b42b7b4893b2",
        "35b680557f95564f70f21a8d3f5c72e101fab260"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 23:00:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 23:00:05 2008 +0200"
      },
      "message": "Merge branch \u0027x86/apic\u0027 into x86/x2apic\n\nConflicts:\n\n\tarch/x86/kernel/paravirt.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/kernel/vmi_32.c\n\tarch/x86/lguest/boot.c\n\tarch/x86/xen/enlighten.c\n\tinclude/asm-x86/apic.h\n\tinclude/asm-x86/paravirt.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "511d9d34183662aada3890883e860b151d707e22",
      "tree": "3f35fea1dea6022a775b1dcb846cf56f2707717f",
      "parents": [
        "9a8f0e6b5dfe3b4f330fc82b16a4000f5688fce8"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Jul 14 09:49:14 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:06:13 2008 +0200"
      },
      "message": "x86: apic_ops for lguest\n\napic_ops for lguest.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "593f4a788e5d09e9f00182561437461b0b564de4",
      "tree": "aafdcb1b8553e1d3012bc81e809131482300d3f2",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Wed Jul 16 19:15:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 12:51:21 2008 +0200"
      },
      "message": "x86: APIC: remove apic_write_around(); use alternatives\n\nUse alternatives to select the workaround for the 11AP Pentium erratum\nfor the affected steppings on the fly rather than build time.  Remove the\nX86_GOOD_APIC configuration option and replace all the calls to\napic_write_around() with plain apic_write(), protecting accesses to the\nESR as appropriate due to the 3AP Pentium erratum.  Remove\napic_read_around() and all its invocations altogether as not needed.\nRemove apic_write_atomic() and all its implementing backends.  The use of\nASM_OUTPUT2() is not strictly needed for input constraints, but I have\nused it for readability\u0027s sake.\n\nI had the feeling no one else was brave enough to do it, so I went ahead\nand here it is.  Verified by checking the generated assembly and tested\nwith both a 32-bit and a 64-bit configuration, also with the 11AP\n\"feature\" forced on and verified with gdb on /proc/kcore to work as\nexpected (as an 11AP machines are quite hard to get hands on these days).\nSome script complained about the use of \"volatile\", but apic_write() needs\nit for the same reason and is effectively a replacement for writel(), so I\nhave disregarded it.\n\nI am not sure what the policy wrt defconfig files is, they are generated\nand there is risk of a conflict resulting from an unrelated change, so I\nhave left changes to them out.  The option will get removed from them at\nthe next run.\n\nSome testing with machines other than mine will be needed to avoid some\nstupid mistake, but despite its volume, the change is not really that\nintrusive, so I am fairly confident that because it works for me, it will\neverywhere.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad66dd340f561bdde2285992314d9e4fd9b6191e",
      "tree": "a5335c6762964731603f49ea59b53fffdb2b0325",
      "parents": [
        "277d1f5846d84e16760131a93b7a67ebfa8eded4"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Jul 11 13:11:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 08:45:10 2008 +0200"
      },
      "message": "x2apic: xen64 paravirt basic apic ops\n\nDefine the Xen specific basic apic ops, in additon to paravirt apic ops,\nwith some misc warning fixes.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: akpm@linux-foundation.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15e551d25e5a600c76cb92171357d4cbe2d1bf7a",
      "tree": "8a28438fbed1aba7f57e2527b40c98452258b827",
      "parents": [
        "62fa572f6933038b3d79558812de88702bda176f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 17:02:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 18:55:47 2008 +0200"
      },
      "message": "x86, VisWS: turn into generic arch, eliminate Kconfig specials\n\nremove leftover traces of various VISWS related Kconfig specials.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e93ef949fd9a3f237aedfb8e64414b28980530b8",
      "tree": "4856aa8bf0e02ed1692fe7b4f545c52cdc1705a3",
      "parents": [
        "8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2"
      ],
      "author": {
        "name": "Alok Kataria",
        "email": "akataria@vmware.com",
        "time": "Tue Jul 01 11:43:36 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 07:43:28 2008 +0200"
      },
      "message": "x86: rename paravirtualized TSC functions\n\nRename the paravirtualized calculate_cpu_khz to calibrate_tsc.\nIn all cases, we actually calibrate_tsc and use that as the cpu_khz value.\n\nSigned-off-by: Alok N Kataria \u003cakataria@vmware.com\u003e\nSigned-off-by: Dan Hecht \u003cdhecht@vmware.com\u003e\nCc: Dan Hecht \u003cdhecht@vmware.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0be6bdea103b8d04c8a3495538b7c0011ae4129",
      "tree": "b2f40f629457feda4e20eb145ed6e4b676f6effd",
      "parents": [
        "6df8809bbd1b48cc6d428df7372ed749c8711641"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Sun Jun 15 18:58:51 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:37:01 2008 +0200"
      },
      "message": "x86: rename two e820 related functions\n\nrename update_memory_range to e820_update_range\nrename add_memory_region to e820_add_region\n\nto make it more clear that they are about e820 map operations.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "896395c290f902576270d84291c1f7f8bfbe339d",
      "tree": "650114bff3a5f808ee1d713ecc443b0eaab2e1c3",
      "parents": [
        "af1cf204ba2fd8135933a2e4df523fb1112dc0e2",
        "1b40a895df6c7d5a80e71f65674060b03d84bbef"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:32:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 10:32:56 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tmp.x86.mpparse.new\n"
    },
    {
      "commit": "f0d43100f13be0fa5bf52741d7084bb27f00e621",
      "tree": "768e44de5624e110c358ed0b5f5e6582ee2bbbea",
      "parents": [
        "3945e2c9abf8e00c2edc4aa29215ddfad1cd8cf7"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Thu May 29 12:56:36 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 31 09:55:47 2008 +0200"
      },
      "message": "x86: extend e820 early_res support 32bit -fix #3\n\nintroduce init_pg_table_start, so xen PV could specify the value.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a16ffe93c46dfca211434d00453ebb695025978b",
      "tree": "2814e24dc4762978874277630de78ddbf6fdd6a1",
      "parents": [
        "b769f579081943f14e0ff03b7b0bd3a11cf14625"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:42 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 30 15:09:43 2008 +1000"
      },
      "message": "lguest: fix ugly \u003cNULL\u003e in /proc/interrupts\n\nBefore:\n\troot@ubuntu:~# cat /proc/interrupts\n\t           CPU0\n\t  1:       1672    lguest-\u003cNULL\u003e    virtio0\n\t  2:          1    lguest-\u003cNULL\u003e    virtio1\n\t  ...\nAfter:\n\troot@ubuntu:~# cat /proc/interrupts\n\t           CPU0\n\t  1:       2889    lguest-level     virtio0\n\t  2:          9    lguest-level     virtio1\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "77bf90ed66116a1fc0e2f0554ecac75a54290cc0",
      "tree": "7b71df7149473be877dfa4488e7e5e154c2cd508",
      "parents": [
        "282bfe21cf0e2af9eac052c89bcc0a5ace80352f"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Mar 03 11:37:23 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:40:57 2008 +0200"
      },
      "message": "x86: replace remaining __FUNCTION__ occurances\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6bd8e13034dd7d60b6f14217096efa192d0adc1",
      "tree": "23890908b06eb8357e6ce633d35df1216f5e4213",
      "parents": [
        "e18b094f0faa4889b06a112da17230a10b88c815"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:53 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 28 11:05:54 2008 +1100"
      },
      "message": "lguest: comment documentation update.\n\nTook some cycles to re-read the Lguest Journey end-to-end, fix some\nrot and tighten some phrases.\n\nOnly comments change.  No new jokes, but a couple of recycled old jokes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "4357bd9453b81e0a41db1dec16e06d74256b7560",
      "tree": "4b23d512d6cbe26ac2b4a0dfaff7e415bd1dab7c",
      "parents": [
        "3fabc55f34b72720e8a10aa442bd3415a211edb3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 11 09:35:57 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 11 09:35:58 2008 +1100"
      },
      "message": "lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem.\n\nAhmed managed to crash the Host in release_pgd(), which cannot be a Guest\nbug, and indeed it wasn\u0027t.\n\nThe bug was that handing a 0 as the address of the toplevel page table\nbeing manipulated can cause the lookup code in find_pgdir() to return\nan uninitialized cache entry (we shadow up to 4 top level page tables\nfor each Guest).\n\nCommit 37cc8d7f963ba2deec29c9b68716944516a3244f introduced this\nbehaviour in the Guest, uncovering the bug.\n\nThe patch which he submitted (which removed the /4 from the index\ncalculation) simply ensured that these high-indexed entries hit the\nearly exit path of guest_set_pmd().  But you get lots of segfaults in\nguest userspace as the PMDs aren\u0027t being updated.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3fabc55f34b72720e8a10aa442bd3415a211edb3",
      "tree": "2ccc469ce6daff4430c04d89b139f3d7ac02aaac",
      "parents": [
        "f14ae652baa3d72ae378f0c06b89cc2c4ef15ff8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 11 09:35:56 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Mar 11 09:35:57 2008 +1100"
      },
      "message": "lguest: Sanitize the lguest clock.\n\nNow the TSC code handles a zero return from calculate_cpu_khz(),\nlguest can simply pass through the value it gets from the Host: if\nnon-zero, all the normal TSC code applies.\n\nOtherwise (or if the Host really doesn\u0027t support TSC), the clocksource\ncode will fall back to the slower but reasonable lguest clock.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1ce70c4fac3c3954bd48c035f448793867592bc0",
      "tree": "2e015ab35edf2466fff7d7e2f138bf4624c0e1b1",
      "parents": [
        "db342d216ba9e060d8c5501eefc1d0a789c9e711"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sun Feb 24 17:55:15 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 26 12:55:49 2008 +0100"
      },
      "message": "x86/lguest: fix pgdir pmd index calculation\n\nHi all,\n\nBeginning from commits close to v2.6.25-rc2, running lguest always oopses\nthe host kernel. Oops is at [1].\n\nBisection led to the following commit:\n\ncommit 37cc8d7f963ba2deec29c9b68716944516a3244f\n\n    x86/early_ioremap: don\u0027t assume we\u0027re using swapper_pg_dir\n\n    At the early stages of boot, before the kernel pagetable has been\n    fully initialized, a Xen kernel will still be running off the\n    Xen-provided pagetables rather than swapper_pg_dir[].  Therefore,\n    readback cr3 to determine the base of the pagetable rather than\n    assuming swapper_pg_dir[].\n\n static inline pmd_t * __init early_ioremap_pmd(unsigned long addr)\n {\n-\tpgd_t *pgd \u003d \u0026swapper_pg_dir[pgd_index(addr)];\n+\t/* Don\u0027t assume we\u0027re using swapper_pg_dir at this point */\n+\tpgd_t *base \u003d __va(read_cr3());\n+\tpgd_t *pgd \u003d \u0026base[pgd_index(addr)];\n \tpud_t *pud \u003d pud_offset(pgd, addr);\n \tpmd_t *pmd \u003d pmd_offset(pud, addr);\n\nTrying to analyze the problem, it seems on the guest side of lguest,\n%cr3 has a different value from \u0026swapper_pg-dir (which\nis AFAIK fine on a pravirt guest):\n\nPutting some debugging messages in early_ioremap_pmd:\n\n/* Appears 3 times */\n[    0.000000] ***************************\n[    0.000000] __va(%cr3) \u003d c0000000, \u0026swapper_pg_dir \u003d c02cc000\n[    0.000000] ***************************\n\nAfter 8 hours of debugging and staring on lguest code, I noticed something\nstrange in paravirt_ops-\u003eset_pmd hypercall invocation:\n\nstatic void lguest_set_pmd(pmd_t *pmdp, pmd_t pmdval)\n{\n\t*pmdp \u003d pmdval;\n\tlazy_hcall(LHCALL_SET_PMD, __pa(pmdp)\u0026PAGE_MASK,\n\t\t   (__pa(pmdp)\u0026(PAGE_SIZE-1))/4, 0);\n}\n\nThe first hcall parameter is global pgdir which looks fine. The second\nparameter is the pmd index in the pgdir which is suspectful.\n\nAFAIK, calculating the index of pmd does not need a divisoin over four.\nRemoving the division made lguest work fine again . Patch is at [2].\n\nI am not sure why the division over four existed in the first place. It\nseems bogus, maybe the Xen patch just made the problem appear ?\n\n[2]: The patch:\n\n[PATCH] lguest: fix pgdir pmd index cacluation\n\nRemove an error in index calculation which leads to removing\na not existing shadow page table (leading to a Null dereference).\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbc34973709eb41b369c304c075cf2069f847012",
      "tree": "1feb0a08fb30b98cff5a2ecc7b7d2cf40baa42b7",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 13:14:35 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 26 12:55:49 2008 +0100"
      },
      "message": "lguest: include function prototypes\n\nAdded a declaration to asm-x86/lguest.h and moved the extern arrays there\nas well.  As an alternative to including asm/lguest.h directly, an\ninclude could be put in linux/lguest.h\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \"rusty@rustcorp.com.au\" \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d145c7253c8cb2ed8a75a8839621b0bb8f778820",
      "tree": "fac21920d149a2cddfdfbde65066ff98935a9c57",
      "parents": [
        "44c3b59102e3ecc7a01e9811862633e670595e51",
        "84f12e39c856a8b1ab407f8216ecebaf4204b94d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 31 09:35:32 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits)\n  lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL\n  lguest: Use explicit includes rateher than indirect\n  lguest: get rid of lg variable assignments\n  lguest: change gpte_addr header\n  lguest: move changed bitmap to lg_cpu\n  lguest: move last_pages to lg_cpu\n  lguest: change last_guest to last_cpu\n  lguest: change spte_addr header\n  lguest: per-vcpu lguest pgdir management\n  lguest: make pending notifications per-vcpu\n  lguest: makes special fields be per-vcpu\n  lguest: per-vcpu lguest task management\n  lguest: replace lguest_arch with lg_cpu_arch.\n  lguest: make registers per-vcpu\n  lguest: make emulate_insn receive a vcpu struct.\n  lguest: map_switcher_in_guest() per-vcpu\n  lguest: per-vcpu interrupt processing.\n  lguest: per-vcpu lguest timers\n  lguest: make hypercalls use the vcpu struct\n  lguest: make write() operation smp aware\n  ...\n\nManual conflict resolved (maybe even correctly, who knows) in\ndrivers/lguest/x86/core.c\n"
    },
    {
      "commit": "42d545c9a4c0d3faeab658a40165c3da2dda91b2",
      "tree": "bd7d188d779f9372f5aedd4654804c37bc94447d",
      "parents": [
        "e61bd94a36a9f2c394d75ebe3614fe0a612bcf2d"
      ],
      "author": {
        "name": "Eduardo Pereira Habkost",
        "email": "ehabkost@redhat.com",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:33:32 2008 +0100"
      },
      "message": "x86: remove depends on X86_32 from PARAVIRT \u0026 PARAVIRT_GUEST\n\nWith this, the paravirt_ops code can be enabled on x86_64 also.\n\nEach guest implementation (Xen, VMI, lguest) now depends on X86_32. The\ndependencies can be dropped for each one when they start to support\nx86_64.\n\nSigned-off-by: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "014b15be30c04622d130946ab7c0a9101b523a8a",
      "tree": "9138df88eb59da0021a4ac10c8ce4c66f9a62e13",
      "parents": [
        "18245d5b6e54ca76b60b687e43eb893f9e9dd611"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jan 30 13:31:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:13 2008 +0100"
      },
      "message": "x86: change write_gdt_entry signature.\n\nThis patch changes the write_gdt_entry function signature.\nInstead of the old \"a\" and \"b\" parameters, it now receives\na pointer to a desc_struct, and the size of the entry being\nhandled. This is because x86_64 can have some 16-byte entries\nas well as 8-byte ones.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nCC: Zachary Amsden \u003czach@vmware.com\u003e\nCC: 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": "8d947344c47a40626730bb80d136d8daac9f2060",
      "tree": "3987eb84706b2f4e968d6838da9d2d1f6888e34e",
      "parents": [
        "010d4f8221cf51a2ab8b037d0149506b397d073f"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jan 30 13:31:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:12 2008 +0100"
      },
      "message": "x86: change write_idt_entry signature\n\nthis patch changes write_idt_entry signature. It now takes a gate_desc\ninstead of the a and b parameters. It will allow it to be later unified\nbetween i386 and x86_64.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nCC: Zachary Amsden \u003czach@vmware.com\u003e\nCC: 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": "6b68f01baa810e9f63fbf39e9d5c3ef1d94a966f",
      "tree": "dc7f50673d72677d24dbe9ac8217b832f8d5cb02",
      "parents": [
        "6842ef0e85a9cc1295f3ef933a230f863b01eb0f"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Wed Jan 30 13:31:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:12 2008 +0100"
      },
      "message": "x86: unify struct desc_ptr\n\nThis patch unifies struct desc_ptr between i386 and x86_64.\nThey can be expressed in the exact same way in C code, only\nhaving to change the name of one of them. As Xgt_desc_struct\nis ugly and big, this is the one that goes away.\n\nThere\u0027s also a padding field in i386, but it is not really\nneeded in the C structure definition.\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "faca62273b602ab482fb7d3d940dbf41ef08b00e",
      "tree": "913fb1c565a2b719b00ae4b745c38cc9b0ebf279",
      "parents": [
        "25149b62d3e6a3e737af39bd4a0b4e97de0811b7"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:31:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:02 2008 +0100"
      },
      "message": "x86: use generic register name in the thread and tss structures\n\nThis changes size-specific register names (eip/rip, esp/rsp, etc.) to\ngeneric names in the thread and tss structures.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "65ea5b0349903585bfed9720fa06f5edb4f1cd25",
      "tree": "6c252228c34416b7e2077f23475de34500c2ab8a",
      "parents": [
        "53756d3722172815f52272b28c6d5d5e9639adde"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:56 2008 +0100"
      },
      "message": "x86: rename the struct pt_regs members for 32/64-bit consistency\n\nWe have a lot of code which differs only by the naming of specific\nmembers of structures that contain registers.  In order to enable\nadditional unifications, this patch drops the e- or r- size prefix\nfrom the register names in struct pt_regs, and drops the x- prefixes\nfor segment registers on the 32-bit side.\n\nThis patch also performs the equivalent renames in some additional\nplaces that might be candidates for unification in the future.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42e0a9aa5d467188687c6b705412578e53c14af6",
      "tree": "9c9a64a576a4072b816babf0bb81aa5924d2a667",
      "parents": [
        "3c6bb07ac1b4174318606a26f0de8ceb9f6d8133"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:15 2008 +0100"
      },
      "message": "x86: use u32 for some lapic functions\n\nUse u32 so 32 and 64bit have the same interface.\n\nAndrew Morton: xen, lguest build fixes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec04b13f67be3c90b38c625f4b8bdfea54c1ff60",
      "tree": "7819de21361fdd65487ef75ea9f2b774e4203f83",
      "parents": [
        "5c55841d16dbf7c759fa6fb2ecc5e615b86d17db"
      ],
      "author": {
        "name": "Balaji Rao",
        "email": "balajirrao@gmail.com",
        "time": "Fri Dec 28 14:26:24 2007 +0530"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jan 30 22:50:04 2008 +1100"
      },
      "message": "lguest: Reboot support\n\nReboot Implemented\n\n(Prevent fd leak, fix style and fix documentation --RR)\n\nSigned-off-by: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b8415ec34fd63c6260497b2f8aaf3ce7a61eaa8a",
      "tree": "082b4de7df84311281d8ef30473e63ddcb792d11",
      "parents": [
        "fbb43ab03c1fa7587476910d346ee11882b4cc62"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Nov 28 16:22:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:55 2007 -0800"
      },
      "message": "lguest: prevent VISWS or VOYAGER randconfigs\n\nKeep lguest from being enabled on VISWS or VOYAGER configs, just as is\nalready done for VMI and XEN.  Otherwise randconfigs with VISWS and LGUEST\nhave this problem:\n\nIn file included from arch/x86/kernel/setup_32.c:61:\ninclude/asm-x86/mach-visws/setup_arch.h:8:1: warning: \"ARCH_SETUP\" redefined\nIn file included from include/asm/msr.h:80,\n                 from include/asm/processor_32.h:17,\n                 from include/asm/processor.h:2,\n                 from include/asm/thread_info_32.h:16,\n                 from include/asm/thread_info.h:2,\n                 from include/linux/thread_info.h:21,\n                 from include/linux/preempt.h:9,\n                 from include/linux/spinlock.h:49,\n                 from include/linux/seqlock.h:29,\n                 from include/linux/time.h:8,\n                 from include/linux/timex.h:57,\n                 from include/linux/sched.h:53,\n                 from arch/x86/kernel/setup_32.c:24:\ninclude/asm/paravirt.h:458:1: warning: this is the location of the previous definition\n\n(and of course, this happens because kconfig does not follow dependencies\nwhen [evil] select is used...)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "633872b980f55f40a5e7de374f26970e41e2137b",
      "tree": "676e604142f0a536fd54d47da03a67d15bedbf45",
      "parents": [
        "fad23fc78b959dae89768e523c3a6f5edb83bbe9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 05 21:55:57 2007 +1100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 05 21:55:57 2007 +1100"
      },
      "message": "lguest: tidy up documentation\n\nAfter Adrian Bunk\u0027s \"make async_hcall static\" moved things around, update\ncomments to match (aka \"make Guest\").\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "9b56fdb458b014bdda974b43a3e59721032898bb",
      "tree": "cbbb090021c33ab7fab5500702e4872cac4706b1",
      "parents": [
        "b55d1b1814c52463c11707f53dbdc223e09b2924"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Nov 02 16:43:10 2007 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 05 21:53:29 2007 +1100"
      },
      "message": "lguest: make async_hcall() static\n\nasync_hcall() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e1e72965ec2c02db99b415cd06c17ea90767e3a4",
      "tree": "94e43aac35bdc33220e64f285b72b3b2b787fd57",
      "parents": [
        "568a17ffce2eeceae0cd9fc37e97cbad12f70278"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 15:02:50 2007 +1000"
      },
      "message": "lguest: documentation update\n\nWent through the documentation doing typo and content fixes.  This\npatch contains only comment and whitespace changes.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "4cfe6c3c1c301d3d7a36c9d579597b75ebb8ea13",
      "tree": "2d76112b66c5f45859ebc103e295b907c7030dc6",
      "parents": [
        "7334492b53706964eb055ed8e25e2e3315d7222a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Oct 25 14:15:09 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:15:09 2007 +1000"
      },
      "message": "lguest: build fix\n\nFix this error (i386 !SMP build)\n\narch/x86/lguest/boot.c: In function ‘lguest_init’:\narch/x86/lguest/boot.c:1059: error: ‘pm_power_off’ undeclared (first use in this function)\n\nby including linux/pm.h.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "25c47bb35355c1e1b2ae325b49441b2c8b201ece",
      "tree": "b716ffc014c32fa5f7ba391ad44ee330bdaf72b2",
      "parents": [
        "db24e8c2ef7eceb46818a8c22fc38dea733fe159"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:53 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 25 14:09:53 2007 +1000"
      },
      "message": "lguest: use defines from x86 headers instead of magic numbers\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n\n"
    },
    {
      "commit": "814a0e5cdfbd384f4bf7a8443f9c3b885f413d58",
      "tree": "4cb82a6ec1db54ce00fbc3700762cd3dc46a0b4e",
      "parents": [
        "1f5a29022ac66bc90cbe2a2162f56e9cd7b393ef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:29:44 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:57 2007 +1000"
      },
      "message": "Revert lguest magic and use hook in head.S\n\nVersion 2.07 of the boot protocol uses 0x23C for the hardware_subarch\nfield, that for lguest is \"1\".  This allows us to use the standard\nboot entry point rather than the \"GenuineLguest\" string hack.\n\nThe standard entry point also clears the BSS and copies the boot parameters\nand commandline for us, saving more code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "19f1537b7b8a9a82665db3ad8210a9d954d13acd",
      "tree": "793c1f8763350012caa521a55c5778b1c633b7e5",
      "parents": [
        "15045275c32bf6d15d32c2eca8157be9c0ba6e45"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:24:21 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:56 2007 +1000"
      },
      "message": "Lguest support for Virtio\n\nThis makes lguest able to use the virtio devices.\n\nWe change the device descriptor page from a simple array to a variable\nlength \"type, config_len, status, config data...\" format, and\nimplement virtio_config_ops to read from that config data.\n\nWe use the virtio ring implementation for an efficient Guest \u003c-\u003e Host\nvirtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the\nhost when it changes.\n\nWe also use LHCALL_NOTIFY on kernel addresses for very very early\nconsole output.  We could have another hypercall, but this hack works\nquite well.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0ca49ca946409f87a8cd0b14d5acb6dea58de6f3",
      "tree": "5f5927f1b0bf46998f4132d3628ae4c51e5ccf5a",
      "parents": [
        "0a8a69dd77ddbd4513b21363021ecde7e1025502"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:20:02 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Remove old lguest bus and drivers.\n\nThis gets rid of the lguest bus, drivers and DMA mechanism, to make\nway for a generic virtio mechanism.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0a8a69dd77ddbd4513b21363021ecde7e1025502",
      "tree": "ed6d8f0756835390b4c0d9a172422f2e42a65523",
      "parents": [
        "b01d9f2863349b0e041b90c3c86a998ee0fed2b0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:40 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:55 2007 +1000"
      },
      "message": "Virtio helper routines for a descriptor ringbuffer implementation\n\nThese helper routines supply most of the virtqueue_ops for hypervisors\nwhich want to use a ring for virtio.  Unlike the previous lguest\nimplementation:\n\n1) The rings are variable sized (2^n-1 elements).\n2) They have an unfortunate limit of 65535 bytes per sg element.\n3) The page numbers are always 64 bit (PAE anyone?)\n4) They no longer place used[] on a separate page, just a separate\n   cacheline.\n5) We do a modulo on a variable.  We could be tricky if we cared.\n6) Interrupts and notifies are suppressed using flags within the rings.\n\nUsers need only get the ring pages and provide a notify hook (KVM\nwants the guest to allocate the rings, lguest does it sanely).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dor Laor \u003cdor.laor@qumranet.com\u003e\n"
    },
    {
      "commit": "47436aa4ad054c1c7c8231618e86ebd9305308dc",
      "tree": "a9ba6e0521f9116442144a86e781a3164ec86094",
      "parents": [
        "c18acd73ffc209def08003a1927473096f66c5ad"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:36 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:54 2007 +1000"
      },
      "message": "Boot with virtual \u003d\u003d physical to get closer to native Linux.\n\n1) This allows us to get alot closer to booting bzImages.\n\n2) It means we don\u0027t have to know page_offset.\n\n3) The Guest needs to modify the boot pagetables to create the\n   PAGE_OFFSET mapping before jumping to C code.\n\n4) guest_pa() walks the page tables rather than using page_offset.\n\n5) We don\u0027t use page_offset to figure out whether to emulate: it was\n   always kinda quesationable, and won\u0027t work for instructions done\n   before remapping (bzImage unpacking in particular).\n\n6) We still want the kernel address for tlb flushing: have the initial\n   hypercall give us that, too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c18acd73ffc209def08003a1927473096f66c5ad",
      "tree": "dd8e292ac8ca90b061b7e37ad6947231ced566e3",
      "parents": [
        "ee3db0f2b6053b65f3b70253f5f810d9a3d67b28"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:03:35 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:53 2007 +1000"
      },
      "message": "Allow guest to specify syscall vector to use.\n\n(Based on Ron Minnich\u0027s LGUEST_PLAN9_SYSCALL patch).\n\nThis patch allows Guests to specify what system call vector they want,\nand we try to reserve it.  We only allow one non-Linux system call\nvector, to try to avoid DoS on the Host.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b410e7b1499c49513cab18275db8a8ab549d9e09",
      "tree": "8a71fa34660f5ccc9d71677137c5ae211a38bbf2",
      "parents": [
        "cc6d4fbcef328acdc9fa7023e69f39f753f72fe1"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:31 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:52 2007 +1000"
      },
      "message": "Make hypercalls arch-independent.\n\nClean up the hypercall code to make the code in hypercalls.c\narchitecture independent. First process the common hypercalls and\nthen call lguest_arch_do_hcall() if the call hasn\u0027t been handled.\nRename struct hcall_ring to hcall_args.\n\nThis patch requires the previous patch which reorganize the layout of\nstruct lguest_regs on i386 so they match the layout of struct\nhcall_args.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "625efab1cd3d4da4634dfe26df6b4005385397e2",
      "tree": "e08cd714edece430ae8a8aef894adfadbccc064a",
      "parents": [
        "56adbe9ddc935600c64635d6a55c260a63c67e4a"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Oct 22 11:03:28 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:51 2007 +1000"
      },
      "message": "Move i386 part of core.c to x86/core.c.\n\nSeparate i386 architecture specific from core.c and move it to\nx86/core.c and add x86/lguest.h header file to match.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34b8867a034364ca33d0adb3a1c5b9982903c719",
      "tree": "7b6385b3985e7bdcca91103d01dea9f707e8b567",
      "parents": [
        "c37ae93d597fc63bae979db76b527dcc7740dc9d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Oct 22 11:01:54 2007 +1000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Oct 23 15:49:50 2007 +1000"
      },
      "message": "Move lguest guest support to arch/x86.\n\nLguest has two sides: host support (to launch guests) and guest\nsupport (replacement boot path and paravirt_ops).  This moves the\nguest side to arch/x86/lguest where it\u0027s closer to related code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    }
  ]
}
