)]}'
{
  "log": [
    {
      "commit": "e8a496ac8cd00cabbdaa373db4818a9ad19a1c5a",
      "tree": "8792b784e54982decd56a29acb02f63ce62a03ab",
      "parents": [
        "5c1ea08215f1f830dfaf4819a5f22efca41c3832"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri May 23 16:26:37 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 04 13:11:46 2008 +0200"
      },
      "message": "x86: fix broken math-emu with lazy allocation of fpu area\n\nFix the math emulation that got broken with the recent lazy allocation of FPU\narea. init_fpu() need to be added for the math-emulation path aswell\nfor the FPU area allocation.\n\nmath emulation enabled kernel booted fine with this, in the presence\nof \"no387 nofxsr\" boot param.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: hpa@zytor.com\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b1979a5fda7869a790f4fd83fb06c78498d26ba1",
      "tree": "e15546fb2e002fbe1fa0a638c305bd30c8b19df5",
      "parents": [
        "a1289643adb6272c04db9399653ae195072c482a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:15 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:16:15 2008 +0200"
      },
      "message": "x86: prevent PGE flush from interruption/preemption\n\nCR4 manipulation is not protected against interrupts and preemption,\nbut KVM uses smp_function_call to manipulate the X86_CR4_VMXE bit\neither from the CPU hotplug code or from the kvm_init call.\n\nWe need to protect the CR4 manipulation from both interrupts and\npreemption.\n\nOriginal bug report: http://lkml.org/lkml/2008/5/7/48\nBugzilla entry: http://bugzilla.kernel.org/show_bug.cgi?id\u003d10642\n\nThis is not a regression from 2.6.25, it\u0027s a long standing and hard to\ntrigger bug.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a8375bd81cf99cb81be37127eaf08316ecb87619",
      "tree": "8a657fe7e1a4afc762c0dafab10cfa89006dadc6",
      "parents": [
        "cbb3077cbe718795d7ae5d78ed11659ca73c97b9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue May 20 13:59:47 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 08:14:45 2008 -0700"
      },
      "message": "x86: strengthen 64-bit p?d_bad()\n\nThe x86_64 pgd_bad(), pud_bad(), pmd_bad() inlines have differed from\ntheir x86_32 counterparts in a couple of ways: they\u0027ve been unnecessarily\nweak (e.g. letting 0 or 1 count as good), and were typed as unsigned long.\nStrengthen them and return int.\n\nThe PAE pmd_bad was too weak before, allowing any junk in the upper half;\nbut got strengthened by the patch correcting its ~PAGE_MASK to ~PTE_MASK.\nThe PAE pud_bad already said ~PTE_MASK; and since it folds into pgd_bad,\nand we don\u0027t set the protection bits at that level, it\u0027ll do as is.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbb3077cbe718795d7ae5d78ed11659ca73c97b9",
      "tree": "84b121685718028c927872ed2a9c93cf1caf8539",
      "parents": [
        "ba23cef5c23cf1e9298032037d919157553d1211"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:24 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:21 2008 -0700"
      },
      "message": "xen: use PTE_MASK in pte_mfn()\n\nUse PTE_MASK to extract mfn from pte.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba23cef5c23cf1e9298032037d919157553d1211",
      "tree": "60fe1e5a9500165d5fcab710435a4bf3b22666cc",
      "parents": [
        "86aaf4fd4ea25ddde05772d03b93dbce23c0ead1"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:21 2008 -0700"
      },
      "message": "x86: use PTE_MASK rather than ad-hoc mask\n\nUse ~PTE_MASK to extract the non-pfn parts of the pte (ie, the pte\nflags), rather than constructing an ad-hoc mask.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86aaf4fd4ea25ddde05772d03b93dbce23c0ead1",
      "tree": "c959928776c649efa87842db6243460633591681",
      "parents": [
        "7f84133af6aaa86e9ef0e9e1970655439a8cf3a1"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:21 2008 -0700"
      },
      "message": "x86: clarify use of _PAGE_CHG_MASK\n\n_PAGE_CHG_MASK is defined as the set of bits not updated by\npte_modify(); specifically, the pfn itself, and the Accessed and Dirty\nbits (which are updated by hardware).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f84133af6aaa86e9ef0e9e1970655439a8cf3a1",
      "tree": "92240bfc3f00ee28ed105a7cb604cf988cacba76",
      "parents": [
        "a4d6886270a5c892d71cd6e09186196a150a50dc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:21 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:21 2008 -0700"
      },
      "message": "x86: use PTE_MASK in pgtable_32.h\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4d6886270a5c892d71cd6e09186196a150a50dc",
      "tree": "d82dcd9e96d0097cd34d99e4bff0a327088f757a",
      "parents": [
        "c57c05d0032cd5a500c5eba18ede4867a6d2cd5f"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:20 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:21 2008 -0700"
      },
      "message": "x86: use PTE_MASK in 32-bit PAE\n\nUse PTE_MASK in 3-level pagetables (ie, 32-bit PAE).\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c57c05d0032cd5a500c5eba18ede4867a6d2cd5f",
      "tree": "11bf6ced8942ad61a79bce4c025bc07635b32d7c",
      "parents": [
        "1bb271db63c356212564aad050b2cf026f800858"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:19 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:20 2008 -0700"
      },
      "message": "x86: rearrange __(VIRTUAL|PHYSICAL)_MASK\n\nPut the definitions of __(VIRTUAL|PHYSICAL)_MASK before their uses.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bb271db63c356212564aad050b2cf026f800858",
      "tree": "dfda7f0ef5b7d7048354df1edfd96f368e3ff927",
      "parents": [
        "2bd3a99c9d1851182f73d0a024dc5bdb0a470e8c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:20 2008 -0700"
      },
      "message": "x86: fix warning on 32-bit non-PAE\n\nFix the warning:\n\ninclude2/asm/pgtable.h: In function `pte_modify\u0027:\ninclude2/asm/pgtable.h:290: warning: left shift count \u003e\u003d width of type\n\nOn 32-bit PAE the virtual and physical addresses are both 32-bits,\nso it ends up evaluating 1\u003c\u003c32.  Do the shift as a 64-bit shift then\ncast to the appropriate size.  This should all be done at compile time,\nand so have no effect on generated code.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bd3a99c9d1851182f73d0a024dc5bdb0a470e8c",
      "tree": "b6fae90c97de3abf7f68d47f98eee65f6b4bc174",
      "parents": [
        "8033c6e9736c29cce5f0d0abbca9a44dffb20c39"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 20 08:26:17 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 07:51:20 2008 -0700"
      },
      "message": "x86: define PTE_MASK in a universally useful way\n\nDefine PTE_MASK so that it contains a meaningful value for all x86\npagetable configurations.  Previously it was defined as a \"long\" which\nmeans that it was too short to cover a 32-bit PAE pte entry.\n\nIt is now defined as a pteval_t, which is an integer type long enough\nto contain a full pte (or pmd, pud, pgd).\n\nThis fixes an Xorg crash on 32-bit x86 with PAE due to corruption of the\nNX bit in mprotect due to the incorrect type/value of PTE_MASK reported\nby Hugh Dickins:\n\n  \"Yes, thanks Jeremy: I\u0027ve checked that each stage builds and runs X on\n   my boxes here, x86_32 and x86_32+PAE and x86_64.  (So even 1/8 is\n   enough to fix the PAT pte_modify issue, though 2/8 then fixes\n   compiler warnings.)\"\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nTested-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "107d6d2efa9eb8c48d050936d8019230ac6b24cd",
      "tree": "fc1d94a18e3f909e31c900ac698811831ed0abb2",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Mon May 05 14:58:26 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 18 14:34:14 2008 +0300"
      },
      "message": "KVM: x86 emulator: fix writes to registers with modrm encodings\n\nA register destination encoded with a mod\u003d3 encoding left dst.ptr NULL.\nNormally we don\u0027t trap writes to registers, but in the case of smsw, we do.\n\nFix by pointing dst.ptr at the destination register.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1c12c4cf9411eb130b245fa8d0fbbaf989477c7b",
      "tree": "f61d58e955b3159007ef77513c1c4f1ed2c9ec23",
      "parents": [
        "44c81433e8b05dbc85985d939046f10f95901184"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed May 14 16:05:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:15 2008 -0700"
      },
      "message": "mprotect: prevent alteration of the PAT bits\n\nThere is a defect in mprotect, which lets the user change the page cache\ntype bits by-passing the kernel reserve_memtype and free_memtype\nwrappers.  Fix the problem by not letting mprotect change the PAT bits.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "3e1b83ab3912a6f583897635bee0a2e0cd1545f7",
      "tree": "ce89473abe12bd31664ee302a098a46a2079ce95",
      "parents": [
        "8e3e076c5a78519a9f64cd384e8f18bc21882ce0",
        "82fd866701881623d69fe280dbac06ddff1fdef9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 21:10:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 21:10:48 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:\n  x86: rdc: leds build/config fix\n  x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)\n  x86: revert commit 709f744 (\"x86: bitops asm constraint fixes\")\n  x86: restrict keyboard io ports reservation to make ipmi driver work\n  x86: fix fpu restore from sig return\n  x86: remove spew print out about bus to node mapping\n  x86: revert printk format warning change which is for linux-next\n  x86: cleanup PAT cpu validation\n  x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set\n  x86: GEODE: cache results from geode_has_vsa2() and uninline\n  x86: revert geode config dependency\n"
    },
    {
      "commit": "39f004ba27fcd2431030a3bb3c949fa3f93fa4ca",
      "tree": "ddb97fc877f0cf4bd2424a75745661eb97346b00",
      "parents": [
        "9c3cdc1f83a6e07092392ff4aba6466517dbd1d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:52:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:52:43 2008 -0700"
      },
      "message": "Make \u003casm-x86/spinlock.h\u003e use ACCESS_ONCE()\n\n..instead of cooking up its own uglier local version of it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c3a121d52b30a1e53cdaa802fa1965fcd243164",
      "tree": "0fd812cb4a065cbe7ba8a2ddbc3552a46ba0e8c7",
      "parents": [
        "eb2b4e682a6d5b4779a7f1a6a8419982919795f6"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Mon May 05 19:22:15 2008 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 10 19:31:45 2008 +0200"
      },
      "message": "x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)\n\nSystem topology on intel based system needs to be exported\nfor non-numa case as well.\n\nAll parts of asm-i386/topology.h has come under\n#ifdef CONFIG_NUMA after the merge to asm-x86/topology.h\n\n/sys/devices/system/cpu/cpu?/topology/* is populated based on\nENABLE_TOPO_DEFINES\n\nThe sysfs cpu topology is not being populated on my dual socket\ndual core xeon 5160 processor based (x86 32 bit) system.\n\nCONFIG_NUMA is not set in my case yet the topology is relevant\nand useful.\n\nirqbalance daemon application depends on topology to build the\ncpus and package list and it fails on Fedora9 beta since the\nsysfs topology was not being populated in the 2.6.25 kernel.\n\nI am not sure if it was intentional to not define ENABLE_TOPO_DEFINES\nfor non-numa systems.\n\nThis fix has been tested on the above mentioned dual core, dual socket\nsystem.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "eb2b4e682a6d5b4779a7f1a6a8419982919795f6",
      "tree": "0319972d5c5ccea9cb63ae0c2db49c39ec12bf18",
      "parents": [
        "9096bd7a66efbe406910365c5206a32eed3875af"
      ],
      "author": {
        "name": "Simon Holm Thøgersen",
        "email": "odie@cs.aau.dk",
        "time": "Mon May 05 15:45:28 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 10 19:31:45 2008 +0200"
      },
      "message": "x86: revert commit 709f744 (\"x86: bitops asm constraint fixes\")\n\n709f744 causes my computer to freeze during the start up of X and my\nlogin manger (GDM). It gets to the point where it has shown the default\nX mouse cursor logo (a big X / cross) and does not respond to anything\nfrom that point on.\n\nThis worked fine before 709f744, and it works fine with ﻿709f744\nreverted on top of Linus\u0027 current tree (f74d505). The revert had\nconflicts, as far as I can tell due to white space changes. The diff I\nended up with is below.\n\nIt is 100% reproducible.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fd3c3ed5d1e3ceb37635cbe6d220ab94aae0781d",
      "tree": "67cc2a950e670e5362173efd88ea6ded708b7e6c",
      "parents": [
        "0646153921892cc7a81320a6920beaca06b3e9f0"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed May 07 12:09:52 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 10 19:31:45 2008 +0200"
      },
      "message": "x86: fix fpu restore from sig return\n\nIf the task never used fpu, initialize the fpu before restoring the FP\nstate from the signal handler context. This will allocate the fpu\nstate, if the task never needed it before.\n\nReported-and-bisected-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Frederik Deweerdt \u003cdeweerdt@free.fr\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8d4a4300854f3971502e81dacd930704cb88f606",
      "tree": "d091b49851e60af1530dd3d7cd54057f98d48ffb",
      "parents": [
        "cb3f43b22bbb5ddbf6ce3e2bac40ce6eba30aba0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 08 09:18:43 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 15:43:51 2008 +0200"
      },
      "message": "x86: cleanup PAT cpu validation\n\nMove the scattered checks for PAT support to a single function. Its\nmoved to addon_cpuid_features.c as this file is shared between 32 and\n64 bit.\n\nRemove the manipulation of the PAT feature bit and just disable PAT in\nthe PAT layer, based on the PAT bit provided by the CPU and the\ncurrent CPU version/model white list.\n\nChange the boot CPU check so it works on Voyager somewhere in the\nfuture as well :) Also panic, when a secondary has PAT disabled but\nthe primary one has alrady switched to PAT. We have no way to undo\nthat.\n\nThe white list is kept for now to ensure that we can rely on known to\nwork CPU types and concentrate on the software induced problems\ninstead of fighthing CPU erratas and subtle wreckage caused by not yet\nverified CPUs. Once the PAT code has stabilized enough, we can remove\nthe white list and open the can of worms.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb3f43b22bbb5ddbf6ce3e2bac40ce6eba30aba0",
      "tree": "a14d5849992e74860248b534d13b7071bf82682b",
      "parents": [
        "547acec7ecc32b14c2740de3f32ce7d1b36a0f69"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Wed May 07 13:07:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 15:43:50 2008 +0200"
      },
      "message": "x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set\n\nWe want drivers to be able to use geode_has_vsa2 without having to worry\nabout what model geode is being compiled for.  This patch ensures that\ngeode_has_vsa2 is always defined.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "547acec7ecc32b14c2740de3f32ce7d1b36a0f69",
      "tree": "c51565daaff629d6cdb1e8ddd5eb02158b59f6ec",
      "parents": [
        "ac44cc96fbc8f44c056fa37573e8447eec512b10"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Wed May 07 13:07:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 15:43:50 2008 +0200"
      },
      "message": "x86: GEODE: cache results from geode_has_vsa2() and uninline\n\nThis moves geode_has_vsa2 into a .c file, caches the result we get from\nthe VSA virtual registers, and causes the function to no longer be inline.\n\n[akpm@linux-foundation.org: cleanup]\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aeed5fce37196e09b4dac3a1c00d8b7122e040ce",
      "tree": "d16a8f824ad06ac5dea6052f1986165a0d7fc865",
      "parents": [
        "bb78be8397d3b0900af3d717672218ee3ea07985"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue May 06 20:49:23 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 06 13:08:58 2008 -0700"
      },
      "message": "x86: fix PAE pmd_bad bootup warning\n\nFix warning from pmd_bad() at bootup on a HIGHMEM64G HIGHPTE x86_32.\n\nThat came from 9fc34113f6880b215cbea4e7017fc818700384c2 x86: debug pmd_bad();\nbut we understand now that the typecasting was wrong for PAE in the previous\nversion: pagetable pages above 4GB looked bad and stopped Arjan from booting.\n\nAnd revert that cded932b75ab0a5f9181ee3da34a0a488d1a14fd x86: fix pmd_bad\nand pud_bad to support huge pages.  It was the wrong way round: we shouldn\u0027t\nweaken every pmd_bad and pud_bad check to let huge pages slip through - in\npart they check that we _don\u0027t_ have a huge page where it\u0027s not expected.\n\nPut the x86 pmd_bad() and pud_bad() definitions back to what they have long\nbeen: they can be improved (x86_32 should use PTE_MASK, to stop PAE thinking\njunk in the upper word is good; and x86_64 should follow x86_32\u0027s stricter\ncomparison, to stop thinking any subset of required bits is good); but that\nshould be a later patch.\n\nFix Hans\u0027 good observation that follow_page() will never find pmd_huge()\nbecause that would have already failed the pmd_bad test: test pmd_huge in\nbetween the pmd_none and pmd_bad tests.  Tighten x86\u0027s pmd_huge() check?\nNo, once it\u0027s a hugepage entry, it can get quite far from a good pmd: for\nexample, PROT_NONE leaves it with only ACCESSED of the KERN_PGTABLE bits.\n\nHowever... though follow_page() contains this and another test for huge\npages, so it\u0027s nice to keep it working on them, where does it actually get\ncalled on a huge page?  get_user_pages() checks is_vm_hugetlb_page(vma) to\nto call alternative hugetlb processing, as does unmap_vmas() and others.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nEarlier-version-tested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nCc: Hans Rosenfeld \u003chans.rosenfeld@amd.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45ea2103d8856454503b30464cc1dba378748d00",
      "tree": "f045cfc184e4103252d670145d18778220a5a3c1",
      "parents": [
        "10ea18f0deb2372417c8e5be4d2ec79de1f65c4b",
        "62179849b40aded9e727cca5006627a1c4d6446e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:11:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:11:43 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes:\n  x86: fix setup printk format warning\n  x86: olpc build fix\n  x86: video/fbdev.c: add MODULE_LICENSE\n  x86: fix up bootparam.h for userspace inclusion\n  x86: relocs ELF handling - use SELFMAG instead of numeric constant\n  x86: vdso ELF handling - use SELFMAG instead of numeric constant\n  x86: remove dell reboot dmi quirk board name match\n  x86: es7000 build fix\n  x86: make additional_cpus static\n  x86: make start_secondary() static\n  kbuild, suspend, x86: fix rebuild of wakeup.bin\n  uml: fix gcc problem\n  x86: undo visws/numaq build changes\n"
    },
    {
      "commit": "afaafe50ee15c59010f19273ebfb6c44f0962d7c",
      "tree": "1b15c6a1c79c8bf9e27d32ad9ada2a222a4ffbbb",
      "parents": [
        "8bd1796dedd50abd7553afbe6113bd97cc88390f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 02 21:14:20 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 04 20:04:45 2008 +0200"
      },
      "message": "x86: fix up bootparam.h for userspace inclusion\n\ncommit 8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6 (x86, boot: add linked\nlist of struct setup_data) put a new struct in bootparam.h, but didn\u0027t\nuse the userspace-safe types.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc1a34f1bf354fabc03e3f465620c80e510d0e8f",
      "tree": "f16228a547097d8d7ad621064c463f3e92cc9557",
      "parents": [
        "b4f14abd95cd8d42f08438f1c4ec3eafe41054ee"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@qumranet.com",
        "time": "Thu May 01 18:43:33 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:48 2008 +0300"
      },
      "message": "KVM: avoid fx_init() schedule in atomic\n\nThis make sure not to schedule in atomic during fx_init. I also\nchanged the name of fpu_init to fx_finit to avoid duplicating the name\nwith fpu_init that is already used in the kernel, this makes grep\nsimpler if nothing else.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1439442c7b257b47a83aea4daed8fbf4a32cdff9",
      "tree": "c85c885ef200480ab67342ddc63c8bc1d2d4e148",
      "parents": [
        "b7ebfb0509692cd923e31650f81ed4d79c9a3e59"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Apr 28 12:24:45 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:42 2008 +0300"
      },
      "message": "KVM: VMX: Enable EPT feature for KVM\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "b7ebfb0509692cd923e31650f81ed4d79c9a3e59",
      "tree": "def19d1472976c479287bc00384706e1e9fca461",
      "parents": [
        "0d15029895051904e31925ec63525cc3a637f7de"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 21:44:52 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:41 2008 +0300"
      },
      "message": "KVM: VMX: Prepare an identity page table for EPT in real mode\n\n[aliguory: plug leak]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7b52345e2c4c7333bf7eba8034ffc4683fa63c91",
      "tree": "3b7bc1cb9c067ae18fcfcee33d57ab3a6d46f9d1",
      "parents": [
        "67253af52e9133fb4cfbf7a2448a2d3524d1fa6c"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 21:13:50 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:38 2008 +0300"
      },
      "message": "KVM: MMU: Add EPT support\n\nEnable kvm_set_spte() to generate EPT entries.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "67253af52e9133fb4cfbf7a2448a2d3524d1fa6c",
      "tree": "5098624f90989a3844bb1b494658ea400d629b1f",
      "parents": [
        "8c6d6adc6b87daa364ee9deb2e966021d37a7622"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Fri Apr 25 10:20:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun May 04 14:44:34 2008 +0300"
      },
      "message": "KVM: Add kvm_x86_ops get_tdp_level()\n\nThe function get_tdp_level() provided the number of tdp level for EPT and\nNPT rather than the NPT specific macro.\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "edfa5cfa3dc5bfa95e6aa82a2b8904e7f6c35ed7",
      "tree": "b5f91928ba2722e74274db8fa7c8682943a10fef",
      "parents": [
        "a192da9afa00476ca27edf763922ab0b5d64246e"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Apr 06 10:35:14 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri May 02 16:18:42 2008 -0700"
      },
      "message": "x86: types: use \u003casm-generic/int-*.h\u003e for the x86 architecture\n\nThis modifies \u003casm-x86/types.h\u003e to use the \u003casm-generic/int-*.h\u003e\ngeneric include files.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ef3fb66ced1a890769d71a4f4ae9f68b8afa98b6",
      "tree": "d32a738c199cde6d2fe7837501f75d9d762d0919",
      "parents": [
        "99da9047e675a4a8d671bbd67b34eb096c308b0d"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu May 01 04:35:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:01 2008 -0700"
      },
      "message": "dmi: clean-up dmi helper declarations\n\nThe declaration of dmi helper functions is a bit messy and inconsistent at the\nmoment:\n\n* On ia64 they are declared in \u003casm/io.h\u003e.\n* On x86-64 they are declared in \u003casm/dmi.h\u003e.\n* On i386 they are declared both in \u003casm/io.h\u003e and \u003casm/dmi.h\u003e.\n\nFix the header files so that the dmi helper functions are consistently\ndefined in \u003casm/dmi.h\u003e.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8bd2258e2d520dff28c855658bd24bdafb5102d",
      "tree": "d76db1dc858cb316bc7d5b8473f690a753fd2c93",
      "parents": [
        "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "remove div_long_long_rem\n\nx86 is the only arch right now, which provides an optimized for\ndiv_long_long_rem and it has the downside that one has to be very careful that\nthe divide doesn\u0027t overflow.\n\nThe API is a little akward, as the arguments for the unsigned divide are\nsigned.  The signed version also doesn\u0027t handle a negative divisor and\nproduces worse code on 64bit archs.\n\nThere is little incentive to keep this API alive, so this converts the few\nusers to the new API.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19",
      "tree": "f32e82fc3a50b6877afa3220bdb6f7ea0582e07f",
      "parents": [
        "71abb3af62dfa52930755f3b6497eafbe1d6ec85"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "rename div64_64 to div64_u64\n\nRename div64_64 to div64_u64 to make it consistent with the other divide\nfunctions, so it clearly includes the type of the divide.  Move its definition\nto math64.h as currently no architecture overrides the generic implementation.\n They can still override it of course, but the duplicated declarations are\navoided.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2418f4f28f8467b92a6177af32d05737ebf6206c",
      "tree": "cd35f4feef2ed3078ebb7ce6dcaf5f627299944e",
      "parents": [
        "adafbedf0c31ae1cde62035c82857f5e376af553"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "introduce explicit signed/unsigned 64bit divide\n\nThe current do_div doesn\u0027t explicitly say that it\u0027s unsigned and the signed\ncounterpart is missing, which is e.g.  needed when dealing with time values.\n\nThis introduces 64bit signed/unsigned divide functions which also attempts to\ncleanup the somewhat awkward calling API, which often requires the use of\ntemporary variables for the dividend.  To avoid the need for temporary\nvariables everywhere for the remainder, each divide variant also provides a\nversion which doesn\u0027t return the remainder.\n\nEach architecture can now provide optimized versions of these function,\notherwise generic fallback implementations will be used.\n\nAs an example I provided an alternative for the current x86 divide, which\navoids the asm casts and using an union allows gcc to generate better code.\nIt also avoids the upper divde in a few more cases, where the result is known\n(i.e.  upper quotient is zero).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f464707c8c18fccd3c6278ad46ac94b5cf15a98",
      "tree": "6f7c9031a7d5ff01baf9686118e1af7a44f1e894",
      "parents": [
        "5de8f68b43229cce3d457ca9ac6dab8372a35f18"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Wed Apr 30 16:17:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 30 23:15:35 2008 +0200"
      },
      "message": "x86: fix HT cpu booting on 32-bit\n\nSince recent smpboot 32/64-bit merge, my dual Xeon with HT has been\nbooting only 2 of its 4 cpus (when running an i386 kernel; but x86_64\nis okay).  J.A. Magallón reports the same.\n\n native_cpu_up: bad cpu 2\n native_cpu_up: bad cpu 3\n\nThe mach-default cpu_present_to_apicid() was just returning cpu number\n(2, 3) instead of apicid (6, 7): looks like we now need the x86_64 code\neven for the i386 case.\n\nComparing with other versions of cpu_present_to_apicid(), it seems a\ngood idea to include an NR_CPUS test too, since cpu_present() doesn\u0027t\ninclude that; but that wasn\u0027t a problem here, and may no problem at all.\n\nPrior to that smpboot merge, my Xeon booted the two HT siblings on one\nphysical first, then the two siblings on the other physical after - when\ni386, but alternated them when x86_64.  Since the merge, the x86_64\nsequence is unchanged, but the i386 sequence is now like x86_64.\n\nI prefer this consistency, and I prefer the new sequence: booting with\nmaxcpus\u003d2 then uses the independent physicals without HT sharing.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3e8f7e35f3fd17eadef44e4679abb39a3806cf01",
      "tree": "8e8ea55506a28163d6b983ee0dd8bf43bcbf37c5",
      "parents": [
        "ed5e233284bc4aff965df7351da8426aa188c8f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 28 10:46:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 30 23:15:34 2008 +0200"
      },
      "message": "x86 VISWS: build fix\n\nthe \u0027reboot_force\u0027 flag is a notion that non-PC subarchitectures do\nnot have.\n\nalso, unify the X86_BIOS_REBOOT option between 32-bit and 64-bit\nand get rid of a few unnecessary Kconfig and Makefile complications\nthat way.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9cbfe20068878d597cfa064be9cab871875bea60",
      "tree": "a1a5ac1bb36aff4bfb9fc3a14b2aa7b8cb1773f6",
      "parents": [
        "08acd4f8af42affd8cbed81cc1b69fa12ddb213f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 21 11:47:46 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 30 23:15:34 2008 +0200"
      },
      "message": "x86: remove Xgt_desc_struct\n\nThe comment says it should have been removed in 2.6.25.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "730f412c08c13858f7681bac0a2770fbc9159fed",
      "tree": "ac37a43aef9dca3a6e63c9bdf97c489af3801357",
      "parents": [
        "07132922aac0caf807c56b9c2a388954b357a8c4"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Wed Apr 30 00:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "asm-*/futex.h should include linux/uaccess.h\n\nLots of asm-*/futex.h call pagefault_enable and pagefault_disable, which\nare declared in linux/uaccess.h, without including linux/uaccess.h.\n\nThey all include asm/uaccess.h, so this patch replaces asm/uaccess.h\nwith linux/uaccess.h.\n\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a8da0ea82db6fa9737041381079fd16f25dcce2",
      "tree": "abd26177c0a965315de290e1e9602d087b78f149",
      "parents": [
        "f3de272b821accbc8387211977c2de4f38468d05"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: x86 TS_RESTORE_SIGMASK\n\nReplace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own\nset_restore_sigmask() function.  This saves the costly SMP-safe set_bit\noperation, which we do not need for the sigmask flag since TIF_SIGPENDING\nalways has to be set too.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe086a7bea7ab714930bd48addba961ceeef7634",
      "tree": "9595c1876f94a81a19166cc4eeb3fac84a895f5e",
      "parents": [
        "6ff0bc94eee96fe45e5caa338c8b03cb99431fa9"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Tue Apr 29 15:05:29 2008 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Apr 29 15:05:29 2008 -0700"
      },
      "message": "[IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id\n\nLegacy HP ia64 platforms currently cannot provide\n/proc/cpuinfo/physical_id due to legacy SAL/PAL implementations.\nHowever, that physical topology information can be obtained\nvia ACPI.\n\nProvide an interface that gives ACPI one last chance to provide\nphysical_id for these legacy platforms. This logic only comes\ninto play iff:\n\n- ACPI actually provides slot information for the CPU\n- we lack a valid socket_id\n\nOtherwise, we don\u0027t do anything.\n\nSince x86 uses the ACPI processor driver as well, we provide a nop\nstub function for arch_fix_phys_package_id() in asm-x86/topology.h\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "1f43c5393033de90bac4410352b1d2a69dcbe7ef",
      "tree": "3e6c3b9e9ea4dd6620a3b8332546a3cbbeddb1fd",
      "parents": [
        "c135b6592bd63925397e60425e0301f33f06c7a6",
        "e90955c26d8af318658c45caadb1d330ac6a506c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 09:03:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 09:03:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes:\n  x86: fix PCI MSI breaks when booting with nosmp\n  x86: vget_cycles() __always_inline\n  x86: add more boot protocol documentation\n  bootprotocol: cleanup\n  x86: fix warning in \"x86: clean up vSMP detection\"\n  x86: !x \u0026 y typo in mtrr code\n"
    },
    {
      "commit": "5f78e4d33945b291d12765cdd7e4304f437b9361",
      "tree": "113cea729de15a98bb941cc4afb8d13301534ca7",
      "parents": [
        "867a89e0b73af48838c7987e80899a1ff26dd6ff",
        "5f0b2976cb2b62668a076f54419c24b8ab677167"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:26:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:26:51 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci:\n  x86: add pci\u003dcheck_enable_amd_mmconf and dmi check\n  x86: work around io allocation overlap of HT links\n  acpi: get boot_cpu_id as early for k8_scan_nodes\n  x86_64: don\u0027t need set default res if only have one root bus\n  x86: double check the multi root bus with fam10h mmconf\n  x86: multi pci root bus with different io resource range, on 64-bit\n  x86: use bus conf in NB conf fun1 to get bus range on, on 64-bit\n  x86: get mp_bus_to_node early\n  x86 pci: remove checking type for mmconfig probe\n  x86: remove unneeded check in mmconf reject\n  driver core: try parent numa_node at first before using default\n  x86: seperate mmconf for fam10h out from setup_64.c\n  x86: if acpi\u003doff, force setting the mmconf for fam10h\n  x86_64: check MSR to get MMCONFIG for AMD Family 10h\n  x86_64: check and enable MMCONFIG for AMD Family 10h\n  x86_64: set cfg_size for AMD Family 10h in case MMCONFIG\n  x86: mmconf enable mcfg early\n  x86: clear pci_mmcfg_virt when mmcfg get rejected\n  x86: validate against acpi motherboard resources\n\nFixed up fairly trivial conflicts in arch/x86/pci/{init.c,pci.h} due to\nOLPC support manually.\n"
    },
    {
      "commit": "6510d41954dc6a9c8b1dbca7eaca0f23195ca727",
      "tree": "868b5fac25c7c5b80cc5a88eaaab8bf3d693420d",
      "parents": [
        "064106a91be5e76cb42c1ddf5d3871e3a1bd2a23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:27 2008 -0700"
      },
      "message": "kernel: Move arches to use common unaligned access\n\nUnaligned access is ok for the following arches:\ncris, m68k, mn10300, powerpc, s390, x86\n\nArches that use the memmove implementation for native endian, and\nthe byteshifting for the opposite endianness.\nh8300, m32r, xtensa\n\nPacked struct for native endian, byteshifting for other endian:\nalpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh\n\nm86knommu is generic_be for Coldfire, otherwise unaligned access is ok.\n\nfrv, arm chooses endianness based on compiler settings, uses the byteshifting\nversions.  Remove the unaligned trap handler from frv as it is now unused.\n\nv850 is le, uses the byteshifting versions for both be and le.\n\nRemove the now unused asm-generic implementation.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ef0e1f8cad0a851b3dbf91802b14af7dd780352",
      "tree": "805450fdb2c056e7ba61ac3c26529cccd09e952f",
      "parents": [
        "2f9b12a31fcb738ea8c9eb0d4ddf906c6f1d696c"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Tue Apr 29 00:59:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "x86: olpc: add One Laptop Per Child architecture support\n\nThis adds support for OLPC XO hardware.  Open Firmware on XOs don\u0027t contain\nthe VSA, so it is necessary to emulate the PCI BARs in the kernel.  This also\nadds functionality for running EC commands, and a CONFIG_OLPC.\n\nA number of OLPC drivers depend upon CONFIG_OLPC.\n\nolpc_ec_timeout is a hack to work around Embedded Controller bugs.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: geode_has_vsa build fix]\n[akpm@linux-foundation.org: olpc_register_battery_callback doesn\u0027t exist]\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d195a5409120277b800c42e846ee29cc667b777",
      "tree": "18d6f9780421788289ddf143bd0c1061bd1d4c0e",
      "parents": [
        "175a06ae300188af8a61db68a78e1af44dc7d44f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:59:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:03 2008 -0700"
      },
      "message": "proper extern for late_time_init\n\nAdd a proper extern for late_time_init in include/linux/init.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9752082560b440e6a45624569d26802e20d1b8b4",
      "tree": "dc5f0358a164dda9b375272e888b9f2138463e54",
      "parents": [
        "4c0587e6e42c5b679234d3dffda8a888dc0ff9c1"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sun Apr 27 00:39:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 29 13:45:24 2008 +0200"
      },
      "message": "x86: vget_cycles() __always_inline\n\nMark vget_cycles() as __always_inline, so gcc is never tempted to make\nthe vsyscall vread_tsc() dive into kernel text, with resulting SIGSEGV.\n\nThis was a self-inflicted wound: I\u0027ve not seen that happen with unhacked\nsources; but for debug reasons I\u0027d changed my x86/Makefile to compile\nno-unit-at-a-time, and that in conjunction with OPTIMIZE_INLINING\u003dy\nended up with vget_cycles() in kernel text.  Perhaps it can happen\nin other ways: safer to use __always_inline.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd96795630428ceca775bd1effc5bf41a9fe5272",
      "tree": "d14276ebf1ff907711e56e2742e15b594ebd166e",
      "parents": [
        "61a517a063abf659cbf61df11f8e2131fdafccec"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:40 2008 -0700"
      },
      "message": "gxfb/lxfb: detect framebuffer size using an MSR if VSA2 isn\u0027t available\n\nIf there\u0027s no VSA2 (ie, if we\u0027re using tinybios or OpenFirmware), use the\nGLIU\u0027s P2D Range Offset Descriptor to determine how much memory we have\navailable for the framebuffer.\n\nOriginally based on a patch by Jordan Crouse.  Tested with OpenFirmware;\nPascal informs me that tinybios has a stub that fills in P2D_RO0.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61a517a063abf659cbf61df11f8e2131fdafccec",
      "tree": "9d5dcda60662eb483cd71827036e5ece913c1138",
      "parents": [
        "4537f93ae88c77a26e77d192ca32a0c2cd359592"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:40 2008 -0700"
      },
      "message": "gxfb/lxfb: use VSA definitions when fetching framebuffer size\n\n..Rather than using magic constants.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9338364e6989ca2707638c7c70ae22975b0bb6c",
      "tree": "dd27e70a9804ee80abb28752b13c07b0ebe63dda",
      "parents": [
        "32bf87e3697cf2f730b8fbf47cad903ceef718a2"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:14:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:35 2008 -0700"
      },
      "message": "x86: GEODE: add Virtual Systems Architecture detection\n\nThis is generic VSA2 detection.  It\u0027s used by OLPC to determine whether or not\nthe BIOS contains VSA2, but since other BIOSes are coming out that don\u0027t use\nthe VSA (ie, tinybios), it might end up being useful for others.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32bf87e3697cf2f730b8fbf47cad903ceef718a2",
      "tree": "6476a1f8796c28e7eb70deb7eaae75872f95fb6d",
      "parents": [
        "22af89aa0c0b4012a7431114a340efd3665a7617"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:14:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:35 2008 -0700"
      },
      "message": "x86: geode: MSR cleanup\n\nThis cleans up a few MSR-using drivers in the following manner:\n  - Ensures MSRs are all defined in asm/geode.h, rather than in misc\n    places\n  - Makes the naming consistent; cs553[56] ones begin with MSR_,\n    GX-specific ones start with MSR_GX_, and LX-specific ones start\n    with MSR_LX_.  Also, make the names match the data sheet.\n  - Use MSR names rather than numbers in source code\n  - Document the fact that the LX\u0027s MSR_PADSEL has the wrong value\n    in the data sheet.  That\u0027s, uh, good to note.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72",
      "tree": "10792496f50b4b0fed8a2c356a8819ae8f9ce47f",
      "parents": [
        "8fe627ec5b7c47b1654dff50536d9709863295a3"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: common code update for s390\n\nHuge ptes have a special type on s390 and cannot be handled with the standard\npte functions in certain cases, e.g.  because of a different location of the\ninvalid bit.  This patch adds some new architecture- specific functions to\nhugetlb common code, as a prerequisite for the s390 large page support.\n\nThis won\u0027t affect other architectures in functionality, but I need to add some\nnew dummy inline functions to the headers.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8fe627ec5b7c47b1654dff50536d9709863295a3",
      "tree": "78511553eb4111224e89ef02a9436d0db382694b",
      "parents": [
        "6d779079bfd1196e077bb1d0a906c37ae770b102"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: add missing TLB flush to hugetlb_cow()\n\nA cow break on a hugetlbfs page with page_count \u003e 1 will set a new pte with\nset_huge_pte_at(), w/o any tlb flush operation.  The old pte will remain in\nthe tlb and subsequent write access to the page will result in a page fault\nloop, for as long as it may take until the tlb is flushed from somewhere else.\n This patch introduces an architecture-specific huge_ptep_clear_flush()\nfunction, which is called before the the set_huge_pte_at() in hugetlb_cow().\n\nATTENTION: This is just a nop on all architectures for now, the s390\nimplementation will come with our large page patch later.  Other architectures\nshould define their own huge_ptep_clear_flush() if needed.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d779079bfd1196e077bb1d0a906c37ae770b102",
      "tree": "880b17a8c5d4badb548773928868606826899c68",
      "parents": [
        "71fe804b6d56d6a7aed680e096901434cef6a2c3"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Apr 28 02:13:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "hugetlbfs: architecture header cleanup\n\nThis patch moves all architecture functions for hugetlb to architecture header\nfiles (include/asm-foo/hugetlb.h) and converts all macros to inline functions.\n It also removes (!) ARCH_HAS_HUGEPAGE_ONLY_RANGE,\nARCH_HAS_HUGETLB_FREE_PGD_RANGE, ARCH_HAS_PREPARE_HUGEPAGE_RANGE,\nARCH_HAS_SETCLEAR_HUGE_PTE and ARCH_HAS_HUGETLB_PREFAULT_HOOK.\n\nGetting rid of the ARCH_HAS_xxx #ifdef and macro fugliness should increase\nreadability and maintainability, at the price of some code duplication.  An\nasm-generic common part would have reduced the loc, but we would end up with\nnew ARCH_HAS_xxx defines eventually.\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e675137a8e1a4d45822746456dd389b65745bf6",
      "tree": "5df01d23ea1b6b212d18f2136ff82913fcbe7718",
      "parents": [
        "b379d790197cdf8a95fb67507d75a24ac0a1678d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "mm: introduce pte_special pte bit\n\ns390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory\nmodel (which is more dynamic than most).  Instead, they had proposed to\nimplement it with an additional path through vm_normal_page(), using a bit in\nthe pte to determine whether or not the page should be refcounted:\n\nvm_normal_page()\n{\n\t...\n        if (unlikely(vma-\u003evm_flags \u0026 (VM_PFNMAP|VM_MIXEDMAP))) {\n                if (vma-\u003evm_flags \u0026 VM_MIXEDMAP) {\n#ifdef s390\n\t\t\tif (!mixedmap_refcount_pte(pte))\n\t\t\t\treturn NULL;\n#else\n                        if (!pfn_valid(pfn))\n                                return NULL;\n#endif\n                        goto out;\n                }\n\t...\n}\n\nThis is fine, however if we are allowed to use a bit in the pte to determine\nrefcountedness, we can use that to _completely_ replace all the vma based\nschemes.  So instead of adding more cases to the already complex vma-based\nscheme, we can have a clearly seperate and simple pte-based scheme (and get\nslightly better code generation in the process):\n\nvm_normal_page()\n{\n#ifdef s390\n\tif (!mixedmap_refcount_pte(pte))\n\t\treturn NULL;\n\treturn pte_page(pte);\n#else\n\t...\n#endif\n}\n\nAnd finally, we may rather make this concept usable by any architecture rather\nthan making it s390 only, so implement a new type of pte state for this.\nUnfortunately the old vma based code must stay, because some architectures may\nnot be able to spare pte bits.  This makes vm_normal_page a little bit more\nugly than we would like, but the 2 cases are clearly seperate.\n\nSo introduce a pte_special pte state, and use it in mm/memory.c.  It is\ncurrently a noop for all architectures, so this doesn\u0027t actually result in any\ncompiled code changes to mm/memory.o.\n\nBTW:\nI haven\u0027t put vm_normal_page() into arch code as-per an earlier suggestion.\nThe reason is that, regardless of where vm_normal_page is actually\nimplemented, the *abstraction* is still exactly the same. Also, while it\ndepends on whether the architecture has pte_special or not, that is the\nonly two possible cases, and it really isn\u0027t an arch specific function --\nthe role of the arch code should be to provide primitive functions and\naccessors with which to build the core code; pte_special does that. We do\nnot want architectures to know or care about vm_normal_page itself, and\nwe definitely don\u0027t want them being able to invent something new there\nout of sight of mm/ code. If we made vm_normal_page an arch function, then\nwe have to make vm_insert_mixed (next patch) an arch function too. So I\ndon\u0027t think moving it to arch code fundamentally improves any abstractions,\nwhile it does practically make the code more difficult to follow, for both\nmm and arch developers, and easier to misuse.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42cadc86008aae0fd9ff31642dc01ed50723cf32",
      "tree": "b05d4c8f0561bad5a0183a89fb23ce4c8ee1653c",
      "parents": [
        "fba5c1af5c4fd6645fe62ea84ccde0981282cf66",
        "66c0b394f08fd89236515c1c84485ea712a157be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 27 10:13:52 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (147 commits)\n  KVM: kill file-\u003ef_count abuse in kvm\n  KVM: MMU: kvm_pv_mmu_op should not take mmap_sem\n  KVM: SVM: remove selective CR0 comment\n  KVM: SVM: remove now obsolete FIXME comment\n  KVM: SVM: disable CR8 intercept when tpr is not masking interrupts\n  KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled\n  KVM: export kvm_lapic_set_tpr() to modules\n  KVM: SVM: sync TPR value to V_TPR field in the VMCB\n  KVM: ppc: PowerPC 440 KVM implementation\n  KVM: Add MAINTAINERS entry for PowerPC KVM\n  KVM: ppc: Add DCR access information to struct kvm_run\n  ppc: Export tlb_44x_hwater for KVM\n  KVM: Rename debugfs_dir to kvm_debugfs_dir\n  KVM: x86 emulator: fix lea to really get the effective address\n  KVM: x86 emulator: fix smsw and lmsw with a memory operand\n  KVM: x86 emulator: initialize src.val and dst.val for register operands\n  KVM: SVM: force a new asid when initializing the vmcb\n  KVM: fix kvm_vcpu_kick vs __vcpu_run race\n  KVM: add ioctls to save/store mpstate\n  KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n  ...\n"
    },
    {
      "commit": "62d9f0dbc92d7e398fde53fc6021338393522e68",
      "tree": "028e62807ead3db11f15694323743b90c8211ef8",
      "parents": [
        "a45352908b88d383bc40e1e4d1a6cc5bbcefc895"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Apr 11 13:24:45 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 18:21:16 2008 +0300"
      },
      "message": "KVM: add ioctls to save/store mpstate\n\nSo userspace can save/restore the mpstate during migration.\n\n[avi: export the #define constants describing the value]\n[christian: add s390 stubs]\n[avi: ditto for ia64]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a45352908b88d383bc40e1e4d1a6cc5bbcefc895",
      "tree": "be0f519e05f8df4409b595928338b2939ed64f6a",
      "parents": [
        "3d80840d96127401ba6aeadd813c3a15b84e70fe"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 13 17:54:35 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:04:13 2008 +0300"
      },
      "message": "KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_*\n\nWe wish to export it to userspace, so move it into the kvm namespace.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2714d1d3d6be882b97cd0125140fccf9976a460a",
      "tree": "57b654cafff076ae95b62b7763113b1ef8511eb5",
      "parents": [
        "53371b5098543ab09dcb0c7ce31da887dbe58c62"
      ],
      "author": {
        "name": "Feng (Eric) Liu",
        "email": "eric.e.liu@intel.com",
        "time": "Thu Apr 10 15:31:10 2008 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:19 2008 +0300"
      },
      "message": "KVM: Add trace markers\n\nTrace markers allow userspace to trace execution of a virtual machine\nin order to monitor its performance.\n\nSigned-off-by: Feng (Eric) Liu \u003ceric.e.liu@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "53371b5098543ab09dcb0c7ce31da887dbe58c62",
      "tree": "5453a27cb8909c3604f81d4cc8811542b3f48d10",
      "parents": [
        "6394b6494c0a352a2db3ea3e891ba7aeea7c1441"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Apr 09 14:15:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:18 2008 +0300"
      },
      "message": "KVM: SVM: add intercept for machine check exception\n\nTo properly forward a MCE occured while the guest is running to the host, we\nhave to intercept this exception and call the host handler by hand. This is\nimplemented by this patch.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "35149e2129fe34fc8cb5917e1ecf5156b0fa3415",
      "tree": "b67cb16fa6054769ee476fce99a32601b126af10",
      "parents": [
        "fdae862f91728aec6dd8fd62cd2398868c906b6b"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Apr 02 14:46:56 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:01:15 2008 +0300"
      },
      "message": "KVM: MMU: Don\u0027t assume struct page for x86\n\nThis patch introduces a gfn_to_pfn() function and corresponding functions like\nkvm_release_pfn_dirty().  Using these new functions, we can modify the x86\nMMU to no longer assume that it can always get a struct page for any given gfn.\n\nWe don\u0027t want to eliminate gfn_to_page() entirely because a number of places\nassume they can do gfn_to_page() and then kmap() the results.  When we support\nIO memory, gfn_to_page() will fail for IO pages although gfn_to_pfn() will\nsucceed.\n\nThis does not implement support for avoiding reference counting for reserved\nRAM or for IO memory.  However, it should make those things pretty straight\nforward.\n\nSince we\u0027re only introducing new common symbols, I don\u0027t think it will break\nthe non-x86 architectures but I haven\u0027t tested those.  I\u0027ve tested Intel,\nAMD, NPT, and hugetlbfs with Windows and Linux guests.\n\n[avi: fix overflow when shifting left pfns by adding casts]\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9c20456a32ce9e82ccda55e12c10016b181d85e5",
      "tree": "06f8985c803d9ba90ffcc617a6403868c5f6f3c6",
      "parents": [
        "3d45830c2b11a9d756faae161742b7d1ec417f7e"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Apr 01 16:44:56 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:55 2008 +0300"
      },
      "message": "KVM: function declaration parameter name cleanup\n\nThe kvm_host.h file for x86 declares the functions kvm_set_cr[0348]. In the\nheader file their second parameter is named cr0 in all cases. This patch\nrenames the parameters so that they match the function name.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3200f405a1e8e06c8634f11d33614455baa4e6be",
      "tree": "806116d2495dd7fd93b5c0db98a72fe4fa854787",
      "parents": [
        "25c5f225beda4fbea878ed8b6203ab4ecc7de2d1"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Mar 29 20:17:59 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:52 2008 +0300"
      },
      "message": "KVM: MMU: unify slots_lock usage\n\nUnify slots_lock acquision around vcpu_run(). This is simpler and less\nerror-prone.\n\nAlso fix some callsites that were not grabbing the lock properly.\n\n[avi: drop slots_lock while in guest mode to avoid holding the lock\n      for indefinite periods]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "37817f2982d0f559f90cecc66e150dd9d2c2df05",
      "tree": "45114b5720d7a13bdbe48cc6a75dc6de03d6fcd2",
      "parents": [
        "2e4d2653497856b102c90153f970c9e344ba96c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 23:14:53 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:39 2008 +0300"
      },
      "message": "KVM: x86: hardware task switching support\n\nThis emulates the x86 hardware task switch mechanism in software, as it is\nunsupported by either vmx or svm.  It allows operating systems which use it,\nlike freedos, to run as kvm guests.\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e4d2653497856b102c90153f970c9e344ba96c6",
      "tree": "8a1929d5caa1f9436c25a104f75403fb2b3e5e2f",
      "parents": [
        "4c9fc8ef501790732ed035585b491756b75ea4c6"
      ],
      "author": {
        "name": "Izik Eidus",
        "email": "izike@qumranet.com",
        "time": "Mon Mar 24 19:38:34 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:38 2008 +0300"
      },
      "message": "KVM: x86: add functions to get the cpl of vcpu\n\nSigned-off-by: Izik Eidus \u003cizike@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "69a9f69bb24d6d3dbf3d2ba542ddceeda40536d5",
      "tree": "f91803eb5a185cfd2f545098ac5da2a31cbf5bee",
      "parents": [
        "947da53830690cbd77d7f2b625d0df1f161ffd54"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Fri Mar 21 12:38:23 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:34 2008 +0300"
      },
      "message": "KVM: Move some x86 specific constants and structures to include/asm-x86\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3c62c62502bea24448d4e82aa1f33c7dbca61a32",
      "tree": "d317c2ce20be6fa75404c0b65c8169ad0b491a10",
      "parents": [
        "ed23dc6f5bc950ebbe683dd0bed1d5878230c171"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Mar 17 16:08:39 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:30 2008 +0300"
      },
      "message": "x86: make native_machine_shutdown non-static\n\nit will allow external users to call it. It is mainly\nuseful for routines that will override its machine_ops\nfield for its own special purposes, but want to call the\nnormal shutdown routine after they\u0027re done\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "ed23dc6f5bc950ebbe683dd0bed1d5878230c171",
      "tree": "7a25b86c600b5429196dd56d684ea72d3e0be63c",
      "parents": [
        "096d14a3b57e4a87d27be09cc64b4f84660acd08"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Mon Mar 17 16:08:38 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:29 2008 +0300"
      },
      "message": "x86: allow machine_crash_shutdown to be replaced\n\nThis patch a llows machine_crash_shutdown to\nbe replaced, just like any of the other functions\nin machine_ops\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2f333bcb4edd8daef99dabe4e7df8277af73cff1",
      "tree": "c984466e7756e0910bf470a094558b52bd10df33",
      "parents": [
        "9f81128591ca1e9907f2e7a7b195e33232167d60"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:37 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:27 2008 +0300"
      },
      "message": "KVM: MMU: hypercall based pte updates and TLB flushes\n\nHypercall based pte updates are faster than faults, and also allow use\nof the lazy MMU mode to batch operations.\n\nDon\u0027t report the feature if two dimensional paging is enabled.\n\n[avi:\n - one mmu_op hypercall instead of one per op\n - allow 64-bit gpa on hypercall\n - don\u0027t pass host errors (-ENOMEM) to guest]\n\n[akpm: warning fix on i386]\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "9f81128591ca1e9907f2e7a7b195e33232167d60",
      "tree": "2abca5f4181f3bc0570bab60d85b473a595f1285",
      "parents": [
        "0cf1bfd2737f41e59f974a61eab11af206d2042a"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Mar 02 14:06:05 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:26 2008 +0300"
      },
      "message": "KVM: Provide unlocked version of emulator_write_phys()\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc",
      "tree": "dfa62426cf55dfb2fad66e924eab34e9840bff12",
      "parents": [
        "308b0f239e8d6754b8b903d279e5b5b987e257ac"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Feb 22 12:21:36 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:24 2008 +0300"
      },
      "message": "KVM: add basic paravirt support\n\nAdd basic KVM paravirt support. Avoid vm-exits on IO delays.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "e0f63cb9277b64850854aee301762beeeb463473",
      "tree": "ae10bac92ee6cc1a658b479a311fac67ebd3524c",
      "parents": [
        "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Tue Mar 04 00:50:59 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:22 2008 +0300"
      },
      "message": "KVM: Add save/restore supporting of in kernel PIT\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a",
      "tree": "37a89d5c10869a9ada59df75b49d685708661434",
      "parents": [
        "4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Mon Jan 28 05:10:22 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 12:00:21 2008 +0300"
      },
      "message": "KVM: In kernel PIT model\n\nThe patch moves the PIT model from userspace to kernel, and increases\nthe timer accuracy greatly.\n\n[marcelo: make last_injected_time per-guest]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-and-Acked-by: Alex Davis \u003calex14641@yahoo.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2d3ad1f40c841bd3e97d30d423eea53915d085dc",
      "tree": "39f4a5a7814cc306d002366e1af922d32b7713c5",
      "parents": [
        "05da45583de9b383dc81dd695fe248431d6c9f2b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Feb 24 11:20:43 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:26 2008 +0300"
      },
      "message": "KVM: Prefix control register accessors with kvm_ to avoid namespace pollution\n\nNames like \u0027set_cr3()\u0027 look dangerously close to affecting the host.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "05da45583de9b383dc81dd695fe248431d6c9f2b",
      "tree": "a76d699e60aca4f775d5f67254214654235e2e17",
      "parents": [
        "2e53d63acba75795aa226febd140f67c58c6a353"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Sat Feb 23 11:44:30 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: large page support\n\nCreate large pages mappings if the guest PTE\u0027s are marked as such and\nthe underlying memory is hugetlbfs backed.  If the largepage contains\nwrite-protected pages, a large pte is not used.\n\nGives a consistent 2% improvement for data copies on ram mounted\nfilesystem, without NPT/EPT.\n\nAnthony measures a 4% improvement on 4-way kernbench, with NPT.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2e53d63acba75795aa226febd140f67c58c6a353",
      "tree": "be4ad4e5b28c737053af78a950d270a657e9f628",
      "parents": [
        "847f0ad8cbfa70c1af6948025836dfbd9ed6da1e"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Feb 20 14:47:24 2008 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:25 2008 +0300"
      },
      "message": "KVM: MMU: ignore zapped root pagetables\n\nMark zapped root pagetables as invalid and ignore such pages during lookup.\n\nThis is a problem with the cr3-target feature, where a zapped root table fools\nthe faulting code into creating a read-only mapping. The result is a lockup\nif the instruction can\u0027t be emulated.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f11c3a8d84d7bf091bf963edd7104dd4ba6416c3",
      "tree": "e297b6cee55b06c8ec40fe00998deef7cfe4a7ce",
      "parents": [
        "a5f61300c489e334ddf99781a13a7f8d4b580781"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@qumranet.com",
        "time": "Thu Feb 21 01:00:30 2008 +0530"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:24 2008 +0300"
      },
      "message": "KVM: Add stat counter for hypercalls\n\nSigned-off-by: Amit Shah \u003camit.shah@qumranet.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "18068523d3a0b41fcee5b53cdb437a0ab4d65e4b",
      "tree": "cbedbd4371cb57c34728137988a7433ae736d79a",
      "parents": [
        "24e09cbf480a72f9c952af4ca77b159503dca44b"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Feb 15 17:52:47 2008 -0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:22 2008 +0300"
      },
      "message": "KVM: paravirtualized clocksource: host part\n\nThis is the host part of kvm clocksource implementation. As it does\nnot include clockevents, it is a fairly simple implementation. We\nonly have to register a per-vcpu area, and start writing to it periodically.\n\nThe area is binary compatible with xen, as we use the same shadow_info\nstructure.\n\n[marcelo: fix bad_page on MSR_KVM_SYSTEM_TIME]\n[avi: save full value of the msr, even if enable bit is clear]\n[avi: clear previous value of time_page]\n\nSigned-off-by: Glauber de Oliveira Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "cc4b6871e771e76dc1de06adb8aed261a1c66be8",
      "tree": "e64b3524153846180a2a481fe1e412d3cfc6d3fd",
      "parents": [
        "4d9976bbdc09e08b69fc12fee2042c3528187b32"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:43 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:20 2008 +0300"
      },
      "message": "KVM: export the load_pdptrs() function to modules\n\nThe load_pdptrs() function is required in the SVM module for NPT support.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd",
      "tree": "2af29e610ce7c7196798cc5f580f7282f902df2a",
      "parents": [
        "6c7dac72d5c7dc0e09512dce865398167be9a8f7"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Feb 07 13:47:41 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:19 2008 +0300"
      },
      "message": "KVM: export information about NPT to generic x86 code\n\nThe generic x86 code has to know if the specific implementation uses Nested\nPaging. In the generic code Nested Paging is called Two Dimensional Paging\n(TDP) to avoid confusion with (future) TDP implementations of other vendors.\nThis patch exports the availability of TDP to the generic x86 code.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3",
      "tree": "db27a5a3cff2e60497ec60194a9f754372bf01e1",
      "parents": [
        "0aac03f07b37da96e00371e66973d5ffaae578a4"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Jan 31 14:57:37 2008 +0100"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:18 2008 +0300"
      },
      "message": "KVM: make EFER_RESERVED_BITS configurable for architecture code\n\nThis patch give the SVM and VMX implementations the ability to add some bits\nthe guest can set in its EFER register.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "2384d2b32640839a4d4d260ca7c5aa4edbf68d91",
      "tree": "812ba0ea30b2fd59553bc7064b13cc107f276e6b",
      "parents": [
        "adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38"
      ],
      "author": {
        "name": "Sheng Yang",
        "email": "sheng.yang@intel.com",
        "time": "Thu Jan 17 15:14:33 2008 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:17 2008 +0300"
      },
      "message": "KVM: VMX: Enable Virtual Processor Identification (VPID)\n\nTo allow TLB entries to be retained across VM entry and VM exit, the VMM\ncan now identify distinct address spaces through a new virtual-processor ID\n(VPID) field of the VMCS.\n\n[avi: drop vpid_sync_all()]\n[avi: add \"cc\" to asm constraints]\n\nSigned-off-by: Sheng Yang \u003csheng.yang@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1ae0a13def678876b9acfb5ac1e2cf7d5d45a60d",
      "tree": "6127e3b33d325cf88053f38a9c9d5cea1be3b65d",
      "parents": [
        "489f1d6526ab68ca1842398fa3ae95c597fe3d32"
      ],
      "author": {
        "name": "Dong, Eddie",
        "email": "eddie.dong@intel.com",
        "time": "Mon Jan 07 13:20:25 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Sun Apr 27 11:53:14 2008 +0300"
      },
      "message": "KVM: MMU: Simplify hash table indexing\n\nSigned-off-by: Yaozu (Eddie) Dong \u003ceddie.dong@intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7f424a8b08c26dc14ac5c17164014539ac9a5c65",
      "tree": "f1f7268ce5215fe4909cb801313a8997d52d1e1e",
      "parents": [
        "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Apr 25 17:39:01 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 27 00:01:45 2008 +0200"
      },
      "message": "fix idle (arch, acpi and apm) and lockdep\n\nOK, so 25-mm1 gave a lockdep error which made me look into this.\n\nThe first thing that I noticed was the horrible mess; the second thing I\nsaw was hacks like: 71e93d15612c61c2e26a169567becf088e71b8ff\n\nThe problem is that arch idle routines are somewhat inconsitent with\ntheir IRQ state handling and instead of fixing _that_, we go paper over\nthe problem.\n\nSo the thing I\u0027ve tried to do is set a standard for idle routines and\nfix them all up to adhere to that. So the rules are:\n\n  idle routines are entered with IRQs disabled\n  idle routines will exit with IRQs enabled\n\nNearly all already did this in one form or another.\n\nMerge the 32 and 64 bit bits so they no longer have different bugs.\n\nAs for the actual lockdep warning; __sti_mwait() did a plainly un-annotated\nirq-enable.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30a18d6c3f1e774de656ebd8ff219d53e2ba4029",
      "tree": "22aad98a32fc182736f78193938a24175a168b81",
      "parents": [
        "35ddd068fb94b187e94a3fc497ccecf27bdda9ae"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Tue Feb 19 03:21:20 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 23:41:04 2008 +0200"
      },
      "message": "x86: multi pci root bus with different io resource range, on 64-bit\n\nscan AMD opteron io/mmio routing to make sure every pci root bus get correct\nresource range. Thus later pci scan could assign correct resource to device\nwith unassigned resource.\n\nthis can fix a system without _CRS for multi pci root bus.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "871d5f8dd0f7647f03facd4cb79485938d1b61ab",
      "tree": "b08eee02ddd7b4bdb9dfde2637f5154e409cdacc",
      "parents": [
        "bb63b4219976d48ed6d22ac33c18be334fb5a78c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Tue Feb 19 03:20:09 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 23:41:04 2008 +0200"
      },
      "message": "x86: get mp_bus_to_node early\n\nCurrently, on an amd k8 system with multi ht chains, the numa_node of\npci devices under /sys/devices/pci0000:80/* is always 0, even if that\nchain is on node 1 or 2 or 3.\n\nWorkaround: pcibus_to_node(bus) is used when we want to get the node that\npci_device is on.\n\nIn struct device, we already have numa_node member, and we could use\ndev_to_node()/set_dev_node() to get and set numa_node in the device.\nset_dev_node is called in pci_device_add() with pcibus_to_node(bus),\nand pcibus_to_node uses bus-\u003esysdata for nodeid.\n\nThe problem is when pci_add_device is called, bus-\u003esysdata is not assigned\ncorrect nodeid yet. The result is that numa_node will always be 0.\n\npcibios_scan_root and pci_scan_root could take sysdata. So we need to get\nmp_bus_to_node mapping before these two are called, and thus\nget_mp_bus_to_node could get correct node for sysdata in root bus.\n\nIn scanning of the root bus, all child busses will take parent bus sysdata.\nSo all pci_device-\u003edev.numa_node will be assigned correctly and automatically.\n\nLater we could use dev_to_node(\u0026pci_dev-\u003edev) to get numa_node, and we\ncould also could make other bus specific device get the correct numa_node\ntoo.\n\nThis is an updated version of pci_sysdata and Jeff\u0027s pci_domain patch.\n\n[ mingo@elte.hu: build fix ]\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48",
      "tree": "4cabbf33e11e3a71b64394b24fe70453f41cefe8",
      "parents": [
        "e3505dd50caf54e6f81f897cb347441409974a15",
        "c2b91e2eec9678dbda274e906cc32ea8f711da3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:04:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 14:04:32 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3:\n  x86_64/mm: check and print vmemmap allocation continuous\n  x86_64: fix setup_node_bootmem to support big mem excluding with memmap\n  x86_64: make reserve_bootmem_generic() use new reserve_bootmem()\n  mm: allow reserve_bootmem() cross nodes\n  mm: offset align in alloc_bootmem()\n  mm: fix alloc_bootmem_core to use fast searching for all nodes\n  mm: make mem_map allocation continuous\n"
    },
    {
      "commit": "1a27fc0a42162964d758e9d36d2d1b49c082a67c",
      "tree": "b94c4864edd0869d8ab7b25b9c3942a14bb6f9db",
      "parents": [
        "8b3cd09ed23049fcb02479c6286744b36324ac9d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:52:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "x86_64: fix setup_node_bootmem to support big mem excluding with memmap\n\ntypical case: four sockets system, every node has 4g ram, and we are using:\n\n\tmemmap\u003d10g$4g\n\nto mask out memory on node1 and node2\n\nwhen numa is enabled, early_node_mem is used to get node_data and node_bootmap.\n\nif it can not get memory from the same node with find_e820_area(), it will\nuse alloc_bootmem to get buff from previous nodes.\n\nso check it and print out some info about it.\n\nneed to move early_res_to_bootmem into every setup_node_bootmem.\nand it takes range that node has. otherwise alloc_bootmem could return addr\nthat reserved early.\n\ndepends on \"mm: make reserve_bootmem can crossed the nodes\".\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b79ed952bd7344d40152f8a560ad8a0d93f3886",
      "tree": "0cdf72321a9eeb2a766b7b98d5a87ad3d46ad620",
      "parents": [
        "a52b0d25a722e84da999005b75f972aa4824253c",
        "19870def587554c4055df3e74a21508e3647fb7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 26 13:46:11 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3:\n  x86, bitops: select the generic bitmap search functions\n  x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only\n  x86: finalize bitops unification\n  x86, UML: remove x86-specific implementations of find_first_bit\n  x86: optimize find_first_bit for small bitmaps\n  x86: switch 64-bit to generic find_first_bit\n  x86: generic versions of find_first_(zero_)bit, convert i386\n  bitops: use __fls for fls64 on 64-bit archs\n  generic: implement __fls on all 64-bit archs\n  generic: introduce a generic __fls implementation\n  x86: merge the simple bitops and move them to bitops.h\n  x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps\n  x86, uml: fix uml with generic find_next_bit for x86\n  x86: change x86 to use generic find_next_bit\n  uml: Kconfig cleanup\n  uml: fix build error\n"
    },
    {
      "commit": "8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6",
      "tree": "57c5de72c38f630e126964b922c379c4a7e49100",
      "parents": [
        "50eae2a7c9862afe263a2003c12f457ecfc9e6a2"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Mar 28 10:49:44 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 21:34:42 2008 +0200"
      },
      "message": "x86, boot: add linked list of struct setup_data\n\nThis patch adds a field of 64-bit physical pointer to NULL terminated\nsingle linked list of struct setup_data to real-mode kernel\nheader. This is used as a more extensible boot parameters passing\nmechanism.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "50eae2a7c9862afe263a2003c12f457ecfc9e6a2",
      "tree": "96e8e53c168c4c4cc983f629151091c17014be3b",
      "parents": [
        "4a27214d7be31e122db4102166f49ec15958e8e9"
      ],
      "author": {
        "name": "Huang, Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Mar 28 10:49:42 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 21:34:42 2008 +0200"
      },
      "message": "x86, boot: add free_early to early reservation machanism\n\nAdd free_early to early reservation mechanism - this way early bootup\nfailure paths can stop wasting memory.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f19dcf4a61ea4a3d155acb239348d09cb264f6a0",
      "tree": "52e06002f6f3402148247b361ea91257f5853888",
      "parents": [
        "d66462f5314b0e70ddad8032eb76099475ca5571"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 23 01:03:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d66462f5314b0e70ddad8032eb76099475ca5571",
      "tree": "473d34bf2662fb008495764dda774e00d563f01a",
      "parents": [
        "5245698f665c4b7a533dcc47a5afdf33095d436a"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Fri Apr 04 20:49:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86: finalize bitops unification\n\ninclude/asm-x86/bitops_32.h and include/asm-x86/bitops_64.h are now\nalmost identical. The 64-bit version sets ARCH_HAS_FAST_MULTIPLIER\nand has an extra inline function set_bit_string. The define currently\nhas no influence on the generated code, but it can be argued that\nsetting it on i386 is the right thing to do anyhow. The addition\nof the extra inline function on i386 does not hurt either.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5245698f665c4b7a533dcc47a5afdf33095d436a",
      "tree": "5e417154f181e523c8491ec263eb71fbaf8ec0da",
      "parents": [
        "3a48305028aa38afba93fc05066c71a6ee668ad8"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:47:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86, UML: remove x86-specific implementations of find_first_bit\n\nx86 has been switched to the generic versions of find_first_bit\nand find_first_zero_bit, but the original versions were retained.\nThis patch just removes the now unused x86-specific versions.\n\nalso update UML.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aba6925fdb96428d1129a61b1233597a03a387b",
      "tree": "9ab7d292e681012c43671dd207b20e2c6a10ebcb",
      "parents": [
        "77b9bd9c49442407804c37bcc82021a35277f83c"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:41:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: switch 64-bit to generic find_first_bit\n\nSwitch x86_64 to generic find_first_bit. The x86_64-specific\nimplementation is not removed.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77b9bd9c49442407804c37bcc82021a35277f83c",
      "tree": "251900d95c6c9c5371542d5dda7d89cb31cd0801",
      "parents": [
        "d57594c203b1e7b54373080a797f0cbfa4aade68"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 11:46:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: generic versions of find_first_(zero_)bit, convert i386\n\nGeneric versions of __find_first_bit and __find_first_zero_bit\nare introduced as simplified versions of __find_next_bit and\n__find_next_zero_bit. Their compilation and use are guarded by\na new config variable GENERIC_FIND_FIRST_BIT.\n\nThe generic versions of find_first_bit and find_first_zero_bit\nare implemented in terms of the newly introduced __find_first_bit\nand __find_first_zero_bit.\n\nThis patch does not remove the i386-specific implementation,\nbut it does switch i386 to use the generic functions by setting\nGENERIC_FIND_FIRST_BIT\u003dy for X86_32.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d57594c203b1e7b54373080a797f0cbfa4aade68",
      "tree": "61610af68fc93280fb0be00a4f1b523715bef3db",
      "parents": [
        "56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sat Mar 15 18:32:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "bitops: use __fls for fls64 on 64-bit archs\n\nUse __fls for fls64 on 64-bit archs. The implementation for\n64-bit archs is moved from x86_64 to asm-generic.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "12d9c8420b9daa1da3d9e090640fb24bcd0deba2",
      "tree": "60affb5bdc5b857dfb3969234659caedbf2ff02a",
      "parents": [
        "64970b68d2b3ed32b964b0b30b1b98518fde388e"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sat Mar 15 13:04:42 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: merge the simple bitops and move them to bitops.h\n\nSome of those can be written in such a way that the same\ninline assembly can be used to generate both 32 bit and\n64 bit code.\n\nFor ffs and fls, x86_64 unconditionally used the cmov\ninstruction and i386 unconditionally used a conditional\nbranch over a mov instruction. In the current patch I\nchose to select the version based on the availability\nof the cmov instruction instead. A small detail here is\nthat x86_64 did not previously set CONFIG_X86_CMOV\u003dy.\n\nImproved comments for ffs, ffz, fls and variations.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64970b68d2b3ed32b964b0b30b1b98518fde388e",
      "tree": "7d8eb5ea3ab1a841afa0f7ae1c65e7be4a9ca690",
      "parents": [
        "60b6783a044a55273b637983f52965c2808a6b86"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Mar 11 16:17:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps\n\nThis moves an optimization for searching constant-sized small\nbitmaps form x86_64-specific to generic code.\n\nOn an i386 defconfig (the x86#testing one), the size of vmlinux hardly\nchanges with this applied. I have observed only four places where this\noptimization avoids a call into find_next_bit:\n\nIn the functions return_unused_surplus_pages, alloc_fresh_huge_page,\nand adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap.\nIn __next_cpu a call is avoided for a 32-bit bitmap. That\u0027s it.\n\nOn x86_64, 52 locations are optimized with a minimal increase in\ncode size:\n\nCurrent #testing defconfig:\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392637  846592  724424 6963653  6a41c5 vmlinux\n\nAfter removing the x86_64 specific optimization for find_next_*bit:\n\t94 x bsf, 79 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392358  846592  724424 6963374  6a40ae vmlinux\n\nAfter this patch (making the optimization generic):\n\t146 x bsf, 27 x find_next_*bit\n   text    data     bss     dec     hex filename\n   5392396  846592  724424 6963412  6a40d4 vmlinux\n\n[ tglx@linutronix.de: build fixes ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412",
      "tree": "840f6cf998c251cdfcae37a03f34b34ac5bea3a5",
      "parents": [
        "18e413f7193ed2f6991d959863f46330813aa242"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sun Mar 09 21:01:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: change x86 to use generic find_next_bit\n\nThe versions with inline assembly are in fact slower on the machines I\ntested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD\nOpteron 270). The i386-version needed a fix similar to 06024f21 to avoid\ncrashing the benchmark.\n\nBenchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size\n1...512, for each possible bitmap with one bit set, for each possible\noffset: find the position of the first bit starting at offset. If you\nfollow ;). Times include setup of the bitmap and checking of the\nresults.\n\n\t\tAthlon\t\tXeon\t\tOpteron 32/64bit\nx86-specific:\t0m3.692s\t0m2.820s\t0m3.196s / 0m2.480s\ngeneric:\t0m2.622s\t0m1.662s\t0m2.100s / 0m1.572s\n\nIf the bitmap size is not a multiple of BITS_PER_LONG, and no set\n(cleared) bit is found, find_next_bit (find_next_zero_bit) returns a\nvalue outside of the range [0, size]. The generic version always returns\nexactly size. The generic version also uses unsigned long everywhere,\nwhile the x86 versions use a mishmash of int, unsigned (int), long and\nunsigned long.\n\nUsing the generic version does give a slightly bigger kernel, though.\n\ndefconfig:\t   text    data     bss     dec     hex filename\nx86-specific:\t4738555  481232  626688 5846475  5935cb vmlinux (32 bit)\ngeneric:\t4738621  481232  626688 5846541  59360d vmlinux (32 bit)\nx86-specific:\t5392395  846568  724424 6963387  6a40bb vmlinux (64 bit)\ngeneric:\t5392458  846568  724424 6963450  6a40fa vmlinux (64 bit)\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6dbf334b0da14fafd4f747791a177ee4c7aae3b",
      "tree": "e3b52d8e1c072fd6f3151b24dd83c5ec60303a6f",
      "parents": [
        "6d4ce043268451b8016480461717f2aa59b5486c"
      ],
      "author": {
        "name": "Jacek Luczak",
        "email": "difrost.kernel@gmail.com",
        "time": "Fri Apr 11 13:28:49 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 17:35:48 2008 +0200"
      },
      "message": "x86: section mismatch fixes, #2\n\nThis patch fixes section mismatch warnings in smpboot_setup_io_apic().\n\nWARNING: arch/x86/kernel/built-in.o(.text+0x11781): Section mismatch in reference from the function smpboot_setup_io_apic()\nto the function .init.text:setup_IO_APIC()\nThe function smpboot_setup_io_apic() references\nthe function __init setup_IO_APIC().\nThis is often because smpboot_setup_io_apic lacks a __init\nannotation or the annotation of setup_IO_APIC is wrong.\n\nSigned-off-by: Jacek Luczak \u003cluczak.jacek@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "6d4ce043268451b8016480461717f2aa59b5486c"
}
