)]}'
{
  "log": [
    {
      "commit": "accf0fa697eeb5ff4c2360edc4da5b10abac0b7b",
      "tree": "a57dc9aa4a6b83be8ac8b4528cf06db5621e62aa",
      "parents": [
        "ebd60cd64f8ab1170102c3ab072eb73042b7a33d",
        "fe47784ba5cbb6b713c013e046859946789b45e4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 09:18:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 09:18:39 2008 +0200"
      },
      "message": "Merge branch \u0027x86/xsave\u0027 into x86/core\n"
    },
    {
      "commit": "fe47784ba5cbb6b713c013e046859946789b45e4",
      "tree": "6384958d55e29be0d2eb8ae78fa437c10636d8d6",
      "parents": [
        "83b8e28b14d63db928cb39e5c5ed2a548246bd71",
        "af2e1f276ff08f17192411ea3b71c13a758dfe12"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 09:04:45 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 09:04:45 2008 -0700"
      },
      "message": "Merge branch \u0027x86/cpu\u0027 into x86/xsave\n\nConflicts:\n\n\tarch/x86/kernel/cpu/feature_names.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "975439fe73d1f0f7ce8c235c66783bd34dc459c3",
      "tree": "84e29852d96283b13c6e603f86bd506a631343c5",
      "parents": [
        "ef31023743e66de7184e9aad432291c842a6384b",
        "129d6aba444d1e99d4cbfb9866a4652912426b65"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 13:57:32 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 13:57:32 2008 +0200"
      },
      "message": "Merge branch \u0027x86/amd-iommu\u0027 into x86/urgent\n"
    },
    {
      "commit": "c83d12806b6185131ece682de8696d8cfb78df69",
      "tree": "6eb639a6746b0e3c2aa1e57f3a9ee5eea6dfc793",
      "parents": [
        "51ca3c679194e7435c25b8e77b0a73c597e41ae9",
        "8d7ccaa545490cdffdfaff0842436a8dd85cf47b",
        "8067794bec1cc5de1431102cf0a6a1c7ce75cd85",
        "a677f58a8c8c541bf7d02c658545084040f3708d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 14:58:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 14:58:22 2008 +0200"
      },
      "message": "Merge branches \u0027x86/prototypes\u0027, \u0027x86/x2apic\u0027 and \u0027x86/debug\u0027 into x86/core\n"
    },
    {
      "commit": "51ca3c679194e7435c25b8e77b0a73c597e41ae9",
      "tree": "a681dca369607ab0f371d5246b0f75140b860a8a",
      "parents": [
        "b55793f7528ce1b73c25b3ac8a86a6cda2a0f9a4",
        "b635acec48bcaa9183fcbf4e3955616b0d4119b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 14:58:01 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 14:58:01 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/core\n\nConflicts:\n\tarch/x86/kernel/genapic_64.c\n\tinclude/asm-x86/kvm_host.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d7ccaa545490cdffdfaff0842436a8dd85cf47b",
      "tree": "8129b5907161bc6ae26deb3645ce1e280c5e1f51",
      "parents": [
        "b2139aa0eec330c711c5a279db361e5ef1178e78",
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 12:19:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 12:19:59 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc3\u0027 into x86/prototypes\n\nConflicts:\n\n\tinclude/asm-x86/dma-mapping.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e49140120c88eb99db1a9172d9ac224c0f2bbdd2",
      "tree": "2436693f64f185f45d67d4299b879091b2301f4b",
      "parents": [
        "318e5313923197e71a94f7b18835151649384b7f"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Aug 13 22:02:26 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Aug 13 22:02:26 2008 +1000"
      },
      "message": "crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore()\n\nWolfgang Walter reported this oops on his via C3 using padlock for\nAES-encryption:\n\n##################################################################\n\nBUG: unable to handle kernel NULL pointer dereference at 000001f0\nIP: [\u003cc01028c5\u003e] __switch_to+0x30/0x117\n*pde \u003d 00000000\nOops: 0002 [#1] PREEMPT\nModules linked in:\n\nPid: 2071, comm: sleep Not tainted (2.6.26 #11)\nEIP: 0060:[\u003cc01028c5\u003e] EFLAGS: 00010002 CPU: 0\nEIP is at __switch_to+0x30/0x117\nEAX: 00000000 EBX: c0493300 ECX: dc48dd00 EDX: c0493300\nESI: dc48dd00 EDI: c0493530 EBP: c04cff8c ESP: c04cff7c\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess sleep (pid: 2071, ti\u003dc04ce000 task\u003ddc48dd00 task.ti\u003dd2fe6000)\nStack: dc48df30 c0493300 00000000 00000000 d2fe7f44 c03b5b43 c04cffc8 00000046\n       c0131856 0000005a dc472d3c c0493300 c0493470 d983ae00 00002696 00000000\n       c0239f54 00000000 c04c4000 c04cffd8 c01025fe c04f3740 00049800 c04cffe0\nCall Trace:\n [\u003cc03b5b43\u003e] ? schedule+0x285/0x2ff\n [\u003cc0131856\u003e] ? pm_qos_requirement+0x3c/0x53\n [\u003cc0239f54\u003e] ? acpi_processor_idle+0x0/0x434\n [\u003cc01025fe\u003e] ? cpu_idle+0x73/0x7f\n [\u003cc03a4dcd\u003e] ? rest_init+0x61/0x63\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nWolfgang also found out that adding kernel_fpu_begin() and kernel_fpu_end()\naround the padlock instructions fix the oops.\n\nSuresh wrote:\n\nThese padlock instructions though don\u0027t use/touch SSE registers, but it behaves\nsimilar to other SSE instructions. For example, it might cause DNA faults\nwhen cr0.ts is set. While this is a spurious DNA trap, it might cause\noops with the recent fpu code changes.\n\nThis is the code sequence  that is probably causing this problem:\n\na) new app is getting exec\u0027d and it is somewhere in between\n   start_thread() and flush_old_exec() in the load_xyz_binary()\n\nb) At pont \"a\", task\u0027s fpu state (like TS_USEDFPU, used_math() etc) is\n   cleared.\n\nc) Now we get an interrupt/softirq which starts using these encrypt/decrypt\n   routines in the network stack. This generates a math fault (as\n   cr0.ts is \u00271\u0027) which sets TS_USEDFPU and restores the math that is\n   in the task\u0027s xstate.\n\nd) Return to exec code path, which does start_thread() which does\n   free_thread_xstate() and sets xstate pointer to NULL while\n   the TS_USEDFPU is still set.\n\ne) At the next context switch from the new exec\u0027d task to another task,\n   we have a scenarios where TS_USEDFPU is set but xstate pointer is null.\n   This can cause an oops during unlazy_fpu() in __switch_to()\n\nNow:\n\n1) This should happen with or with out pre-emption. Viro also encountered\n   similar problem with out CONFIG_PREEMPT.\n\n2) kernel_fpu_begin() and kernel_fpu_end() will fix this problem, because\n   kernel_fpu_begin() will manually do a clts() and won\u0027t run in to the\n   situation of setting TS_USEDFPU in step \"c\" above.\n\n3) This was working before the fpu changes, because its a spurious\n   math fault  which doesn\u0027t corrupt any fpu/sse registers and the task\u0027s\n   math state was always in an allocated state.\n\nWith out the recent lazy fpu allocation changes, while we don\u0027t see oops,\nthere is a possible race still present in older kernels(for example,\nwhile kernel is using kernel_fpu_begin() in some optimized clear/copy\npage and an interrupt/softirq happens which uses these padlock\ninstructions generating DNA fault).\n\nThis is the failing scenario that existed even before the lazy fpu allocation\nchanges:\n\n0. CPU\u0027s TS flag is set\n\n1. kernel using FPU in some optimized copy  routine and while doing\nkernel_fpu_begin() takes an interrupt just before doing clts()\n\n2. Takes an interrupt and ipsec uses padlock instruction. And we\ntake a DNA fault as TS flag is still set.\n\n3. We handle the DNA fault and set TS_USEDFPU and clear cr0.ts\n\n4. We complete the padlock routine\n\n5. Go back to step-1, which resumes clts() in kernel_fpu_begin(), finishes\nthe optimized copy routine and does kernel_fpu_end(). At this point,\nwe have cr0.ts again set to \u00271\u0027 but the task\u0027s TS_USEFPU is stilll\nset and not cleared.\n\n6. Now kernel resumes its user operation. And at the next context\nswitch, kernel sees it has do a FP save as TS_USEDFPU is still set\nand then will do a unlazy_fpu() in __switch_to(). unlazy_fpu()\nwill take a DNA fault, as cr0.ts is \u00271\u0027 and now, because we are\nin __switch_to(), math_state_restore() will get confused and will\nrestore the next task\u0027s FP state and will save it in prev tasks\u0027s FP state.\nRemember, in __switch_to() we are already on the stack of the next task\nbut take a DNA fault for the prev task.\n\nThis causes the fpu leakage.\n\nFix the padlock instruction usage by calling them inside the\ncontext of new routines irq_ts_save/restore(), which clear/restore cr0.ts\nmanually in the interrupt context. This will not generate spurious DNA\nin the  context of the interrupt which will fix the oops encountered and\nthe possible FPU leakage issue.\n\nReported-and-bisected-by: Wolfgang Walter \u003cwolfgang.walter@stwm.de\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c37b5efea43f9e500363f9973dd00e3d2cdcc685",
      "tree": "9ce635f1672099dafcd78e535b4ea18d80235d8f",
      "parents": [
        "bdd8caba5ed5bb7ee21c9f061597284ffeb280bf"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jul 29 10:29:25 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:49:27 2008 +0200"
      },
      "message": "x86, xsave: save/restore the extended state context in sigframe\n\nOn cpu\u0027s supporting xsave/xrstor, fpstate pointer in the sigcontext, will\ninclude the extended state information along with fpstate information. Presence\nof extended state information is indicated by the presence\nof FP_XSTATE_MAGIC1 at fpstate.sw_reserved.magic1 and FP_XSTATE_MAGIC2\nat fpstate + (fpstate.sw_reserved.extended_size - FP_XSTATE_MAGIC2_SIZE).\n\nExtended feature bit mask that is saved in the memory layout is represented\nby the fpstate.sw_reserved.xstate_bv\n\nFor RT signal frames, UC_FP_XSTATE in the uc_flags also indicate the\npresence of extended state information in the sigcontext\u0027s fpstate\npointer.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab5137015fed9b948fe835a2d99a4cfbd50a0c40",
      "tree": "229771c4f5606d56945941c8ada9ae6cf08d1c80",
      "parents": [
        "3c1c7f101426cb2ecc79d817a8a65928965fc860"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jul 29 10:29:22 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:49:26 2008 +0200"
      },
      "message": "x86, xsave: reorganization of signal save/restore fpstate code layout\n\nmove 64bit routines that saves/restores fpstate in/from user stack from\nsignal_64.c to xsave.c\n\nrestore_i387_xstate() now handles the condition when user passes\nNULL fpstate.\n\nOther misc changes for prepartion of xsave/xrstor sigcontext support.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c1c7f101426cb2ecc79d817a8a65928965fc860",
      "tree": "55a2b7c5ccb28ea38bf82f7d799447980e2126c7",
      "parents": [
        "b359e8a434cc3d09847010fc4aeccf48d69740e4"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jul 29 10:29:21 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:49:25 2008 +0200"
      },
      "message": "x86, xsave: dynamically allocate sigframes fpstate instead of static allocation\n\ndynamically allocate fpstate on the stack, instead of static allocation\nin the current sigframe layout on the user stack. This will allow the\nfpstate structure to grow in the future, which includes extended state\ninformation supporting xsave/xrstor.\n\nsignal handlers will be able to access the fpstate pointer from the\nsigcontext structure asusual, with no change. For the non RT sigframe\u0027s\n(which are supported only for 32bit apps), current static fpstate layout\nin the sigframe will be unused(so that we don\u0027t change the extramask[]\noffset in the sigframe and thus prevent breaking app\u0027s which modify\nextramask[]).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b359e8a434cc3d09847010fc4aeccf48d69740e4",
      "tree": "8911c299dc1768c78d5452a1e7e0efd2fc8d5abb",
      "parents": [
        "dc1e35c6e95e8923cf1d3510438b63c600fee1e2"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jul 29 10:29:20 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:49:24 2008 +0200"
      },
      "message": "x86, xsave: context switch support using xsave/xrstor\n\nUses xsave/xrstor (instead of traditional fxsave/fxrstor) in context switch\nwhen available.\n\nIntroduces TS_XSAVE flag, which determine the need to use xsave/xrstor\ninstructions during context switch instead of the legacy fxsave/fxrstor\ninstructions. Thread-synchronous status word is already in L1 cache during\nthis code patch and thus minimizes the performance penality compared to\n(cpu_has_xsave) checks.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc1e35c6e95e8923cf1d3510438b63c600fee1e2",
      "tree": "4348f51f1bfdd124efd6d16dcc552bd4a148fdfb",
      "parents": [
        "a648bf4632628c787abb0514277f2a231fca39ca"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jul 29 10:29:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:49:24 2008 +0200"
      },
      "message": "x86, xsave: enable xsave/xrstor on cpus with xsave support\n\nEnables xsave/xrstor by turning on cr4.osxsave on cpu\u0027s which have\nthe xsave support. For now, features that OS supports/enabled are\nFP and SSE.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2d9d33412b9d13a40cd314d93ab517950fc5950",
      "tree": "78dd37783657520d46a57e462b799826c4a9d54a",
      "parents": [
        "d25ae38b7e005af03843833bbd811ffe8c5f8cb4",
        "6ffac1e90a17ea0aded5c581204397421eec91b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:32:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 19:32:39 2008 +0200"
      },
      "message": "Merge branch \u0027x86/fpu\u0027 into x86/core\n"
    },
    {
      "commit": "6ffac1e90a17ea0aded5c581204397421eec91b6",
      "tree": "c5ae5b695f1306f5415b5bf3968b4fcf69e823a1",
      "parents": [
        "024e8ac04453b3525448c31ef39848cf675ba6db"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Jul 24 18:07:56 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:37:04 2008 +0200"
      },
      "message": "x64, fpu: fix possible FPU leakage in error conditions\n\nOn Thu, Jul 24, 2008 at 03:43:44PM -0700, Linus Torvalds wrote:\n\u003e So how about this patch as a starting point? This is the RightThing(tm) to\n\u003e do regardless, and if it then makes it easier to do some other cleanups,\n\u003e we should do it first. What do you think?\n\nrestore_fpu_checking() calls init_fpu() in error conditions.\n\nWhile this is wrong(as our main intention is to clear the fpu state of\nthe thread), this was benign before commit 92d140e21f1 (\"x86: fix taking\nDNA during 64bit sigreturn\").\n\nPost commit 92d140e21f1, live FPU registers may not belong to this\nprocess at this error scenario.\n\nIn the error condition for restore_fpu_checking() (especially during the\n64bit signal return), we are doing init_fpu(), which saves the live FPU\nregister state (possibly belonging to some other process context) into\nthe thread struct (through unlazy_fpu() in init_fpu()). This is wrong\nand can leak the FPU data.\n\nFor the signal handler restore error condition in restore_i387(), clear\nthe fpu state present in the thread struct(before ultimately sending a\nSIGSEGV for badframe).\n\nFor the paranoid error condition check in math_state_restore(), send a\nSIGSEGV, if we fail to restore the state.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1503af661947b7a4a09355cc2ae6aa0d43f16776",
      "tree": "5bfcfadf2dd2d98c2ad251c96d7ee43a6903819a",
      "parents": [
        "a31863168660c6b6f6c7ffe05bb6a38e97803326",
        "024e8ac04453b3525448c31ef39848cf675ba6db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:30:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 15:30:40 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/header-guards\n\nConflicts:\n\n\tinclude/asm-x86/gpio.h\n\tinclude/asm-x86/ide.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b30f3ae50cd03ef2ff433a5030fbf88dd8323528",
      "tree": "ec140aa507d73eb5f4dfb8d46ccbd9dd80ca84e7",
      "parents": [
        "b5684b83b1e1579bbbc80e703e990c0cccf5892c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 15:43:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 16:12:40 2008 -0700"
      },
      "message": "x86-64: Clean up \u0027save/restore_i387()\u0027 usage\n\nSuresh Siddha wants to fix a possible FPU leakage in error conditions,\nbut the fact that save/restore_i387() are inlines in a header file makes\nthat harder to do than necessary.  So start off with an obvious cleanup.\n\nThis just moves the x86-64 version of save/restore_i387() out of the\nheader file, and moves it to the only file that it is actually used in:\narch/x86/kernel/signal_64.c.  So exposing it in a header file was wrong\nto begin with.\n\n[ Side note: I\u0027d like to fix up some of the games we play with the\n  32-bit version of these functions too, but that\u0027s a separate\n  matter.  The 32-bit versions are shared - under different names\n  at that! - by both the native x86-32 code and the x86-64 32-bit\n  compatibility code ]\n\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ef50a522717fa040636ee1017179ceba12ff62",
      "tree": "57b082ad5b314605d5d9dab50068737f324cae60",
      "parents": [
        "a656c8efb40a8700046df20da2195f8aa39ce38a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jun 18 17:08:48 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Jul 22 21:31:34 2008 +0200"
      },
      "message": "x86: consolidate header guards\n\nThis patch is the result of an automatic script that consolidates the\nformat of all the headers in include/asm-x86/.\n\nThe format:\n\n1. No leading underscore. Names with leading underscores are reserved.\n2. Pathname components are separated by two underscores. So we can\n   distinguish between mm_types.h and mm/types.h.\n3. Everything except letters and numbers are turned into single\n   underscores.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "36454936c00c700ae86b5ff376d3c1c1a862c4f5",
      "tree": "ac7bec032d2054a069d76164a09601fc3692eaa0",
      "parents": [
        "791b897ccd1a2c6c184b88ca6d1aaf053499c3df"
      ],
      "author": {
        "name": "Jaswinder Singh",
        "email": "jaswinder@infradead.org",
        "time": "Mon Jul 21 22:31:57 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 22 14:36:06 2008 +0200"
      },
      "message": "x86: i387.c declare dump_fpu() before they get used\n\nSigned-off-by: Jaswinder Singh \u003cjaswinder@infradead.org\u003e\n"
    },
    {
      "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": "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": "1679f2710ac58df580d3716fab1f42ae50a226eb",
      "tree": "b7ac7e16814d0039a963ab2ee35d7850e9e347a1",
      "parents": [
        "aa283f49276e7d840a40fb01eee6de97eaa7e012"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Apr 16 10:27:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86: fpu xstate split cleanup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa283f49276e7d840a40fb01eee6de97eaa7e012",
      "tree": "b17b134b174666e482b1a8ad486436a3d5cdb83e",
      "parents": [
        "61c4628b538608c1a85211ed8438136adfeb9a95"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 10 15:28:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86, fpu: lazy allocation of FPU area - v5\n\nOnly allocate the FPU area when the application actually uses FPU, i.e., in the\nfirst lazy FPU trap. This could save memory for non-fpu using apps.\n\nfor example: on my system after boot, there are around 300 processes, with\nonly 17 using FPU.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61c4628b538608c1a85211ed8438136adfeb9a95",
      "tree": "290a695299a363153bc692e6d705ac680d64359e",
      "parents": [
        "fa5c4639419668cbb18ca3d20c1253559a3b43ae"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 10 15:28:04 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86, fpu: split FPU state from task struct - v5\n\nSplit the FPU save area from the task struct. This allows easy migration\nof FPU context, and it\u0027s generally cleaner. It also allows the following\ntwo optimizations:\n\n1) only allocate when the application actually uses FPU, so in the first\nlazy FPU trap. This could save memory for non-fpu using apps. Next patch\ndoes this lazy allocation.\n\n2) allocate the right size for the actual cpu rather than 512 bytes always.\nPatches enabling xsave/xrstor support (coming shortly) will take advantage\nof this.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "affe66374ca16572fbb22cefe267d6072c49ce9d",
      "tree": "ea3bd9a50ee4e67aa7d8a9e0eb670a6f97dd5449",
      "parents": [
        "e574b023cf03f796727ea654acfc16a0df805086"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 23 01:02:18 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 17:41:23 2008 +0200"
      },
      "message": "include/asm-x86/i387.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": "148a142495f40d3da729d62cb7127ccb26223106",
      "tree": "49e652c2221c0dd897ee055f3d4a835ae194bd9a",
      "parents": [
        "ecaea42eb8507735a97a496cc5068de06542e8b2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:29:33 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 19 16:18:28 2008 +0100"
      },
      "message": "x86: make mxcsr_feature_mask static again\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: hpa@zytor.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "92c37fa3256dd8ace1cc37674146abd286e3b8b0",
      "tree": "6ada88c27bc4847d288f073819a601a3c76bbb8f",
      "parents": [
        "2532ec6d178abc55681d049097d3dc577eaa266c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Feb 04 16:47:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 04 16:47:58 2008 +0100"
      },
      "message": "x86: use _ASM_EXTABLE macro in include/asm-x86/i387.h\n\nUse the _ASM_EXTABLE macro from \u003casm/asm.h\u003e, instead of open-coding\n__ex_table entires in include/asm-x86/i387.h.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "60b3b9af35aad66345e395be911e46fb8443f0c5",
      "tree": "a12ce3f11c2cb77f6b791351ec7035c80e9a2041",
      "parents": [
        "5a4646a4efed8c835f76c3b88f3155f6ab5b8d9b"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:55 2008 +0100"
      },
      "message": "x86: x86 user_regset cleanup\n\nThis removes a bunch of dead code that is no longer needed now\nthat the user_regset interfaces are being used for all these jobs.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1eeaed7679eab3666d2d8c964d060c2169b3813b",
      "tree": "2c2904e4ee8d75f30d00dd2367b12d37a5e3e55b",
      "parents": [
        "4421011120b2304e5c248ae4165a2704588aedf1"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:51 2008 +0100"
      },
      "message": "x86: x86 i387 cleanup\n\nThis removes all the old code that is no longer used after\nthe i387 unification and cleanup.  The i387_64.h is renamed\nto i387.h with no changes, but since it replaces the nonempty\none-line stub i387.h it looks like a big diff and not a rename.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4421011120b2304e5c248ae4165a2704588aedf1",
      "tree": "b715f9bd5fbe3493a2c6a14d0c30832c42832e62",
      "parents": [
        "b7b71725fb9584454bfe5f231223bd63421798fb"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Jan 30 13:31:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:50 2008 +0100"
      },
      "message": "x86: x86 i387 user_regset\n\nThis revamps the i387 code to be shared across 32-bit, 64-bit,\nand 32-on-64.  It does so by consolidating the code in one place\nbased on the user_regset accessor interfaces.  This switches\n32-bit to using the i387_64.h header and 64-bit to using the\ni387.c that was previously i387_32.c, but that\u0027s what took the\nleast cleanup in each file.  Here i387.h is stubbed to always\ninclude i387_64.h rather than renaming the file, to keep this\ndiff smaller and easier to read.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42",
      "tree": "d947a467aa2da3140279617bc4b9b101640d7bf4",
      "parents": [
        "27bd0c955648646abf2a353a8371d28c37bcd982"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 11 11:20:03 2007 +0200"
      },
      "message": "i386/x86_64: move headers to include/asm-x86\n\nMove the headers to include/asm-x86 and fixup the\nheader install make rules\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
