)]}'
{
  "log": [
    {
      "commit": "c5413fbe894924ddb8aa474a4d4da52e7a6c7e0b",
      "tree": "8f317bf2494b6b4bceb5e6d1ee35fabc0eeb9971",
      "parents": [
        "1956c73bb5bf81ee577ed7d3c64e3cad876ad2a5"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: Fix UP gdt bugs\n\nFixes two problems with the GDT when compiling for uniprocessor:\n - There\u0027s no percpu segment, so trying to load its selector into %fs fails.\n   Use a null selector instead.\n - The real gdt needs to be loaded at some point.  Do it in cpu_init().\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7c3576d261ce046789a7db14f43303f8120910c7",
      "tree": "ad27a8459bbcdb183fe2411aec3b840942992ad5",
      "parents": [
        "7a61d35d4b4056e7711031202da7605e052f4137"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed May 02 19:27:16 2007 +0200"
      },
      "message": "[PATCH] i386: Convert PDA into the percpu section\n\nCurrently x86 (similar to x84-64) has a special per-cpu structure\ncalled \"i386_pda\" which can be easily and efficiently referenced via\nthe %fs register.  An ELF section is more flexible than a structure,\nallowing any piece of code to use this area.  Indeed, such a section\nalready exists: the per-cpu area.\n\nSo this patch:\n(1) Removes the PDA and uses per-cpu variables for each current member.\n(2) Replaces the __KERNEL_PDA segment with __KERNEL_PERCPU.\n(3) Creates a per-cpu mirror of __per_cpu_offset called this_cpu_off, which\n    can be used to calculate addresses for this CPU\u0027s variables.\n(4) Simplifies startup, because %fs doesn\u0027t need to be loaded with a\n    special segment at early boot; it can be deferred until the first\n    percpu area is allocated (or never for UP).\n\nThe result is less code and one less x86-specific concept.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "7b3552024380f306a6c50d5105d18d9d4258fa4e",
      "tree": "904a408768b216be7f759b4a190809f851a914d5",
      "parents": [
        "bbab4f3bb7f528d2b8ccb5de9ae5f6ff3fb29684"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Feb 13 13:26:21 2007 +0100"
      },
      "message": "[PATCH] i386: Profile pc badness\n\nProfile_pc was broken when using paravirtualization because the\nassumption the kernel was running at CPL 0 was violated, causing\nbad logic to read a random value off the stack.\n\nThe only way to be in kernel lock functions is to be in kernel\ncode, so validate that assumption explicitly by checking the CS\nvalue.  We don\u0027t want to be fooled by BIOS / APM segments and\ntry to read those stacks, so only match KERNEL_CS.\n\nI moved some stuff in segment.h to make it prettier.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "d3561b7fa0fb0fc583bab0eeda32bec9e4c4056d",
      "tree": "39d835965878622d052ef3b3c7b759d83b6bc327",
      "parents": [
        "db91b882aabd0b3b55a87cbfb344f2798bb740b4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 07 02:14:07 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:07 2006 +0100"
      },
      "message": "[PATCH] paravirt: header and stubs for paravirtualisation\n\nCreate a paravirt.h header for all the critical operations which need to be\nreplaced with hypervisor calls, and include that instead of defining native\noperations, when CONFIG_PARAVIRT.\n\nThis patch does the dumbest possible replacement of paravirtualized\ninstructions: calls through a \"paravirt_ops\" structure.  Currently these are\nfunction implementations of native hardware: hypervisors will override the ops\nstructure with their own variants.\n\nAll the pv-ops functions are declared \"fastcall\" so that a specific\nregister-based ABI is used, to make inlining assember easier.\n\nAnd:\n\n+From: Andy Whitcroft \u003capw@shadowen.org\u003e\n\nThe paravirt ops introduce a \u0027weak\u0027 attribute onto memory_setup().\nCode ordering leads to the following warnings on x86:\n\n    arch/i386/kernel/setup.c:651: warning: weak declaration of\n                `memory_setup\u0027 after first use results in unspecified behavior\n\nMove memory_setup() to avoid this.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\n"
    },
    {
      "commit": "9ca36101a8d74704d78f10910f89d62de96f9dc8",
      "tree": "358086c902c021f9316968062dc1b1165cf5f897",
      "parents": [
        "eb5b7b9d86f46b45ba1f986302fdf7df84fb8297"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu Dec 07 02:14:02 2006 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Dec 07 02:14:02 2006 +0100"
      },
      "message": "[PATCH] i386: Basic definitions for i386-pda\n\nThis patch has the basic definitions of struct i386_pda, and the segment\nselector in the GDT.\n\nasm-i386/pda.h is more or less a direct copy of asm-x86_64/pda.h.  The most\ninteresting difference is the use of _proxy_pda, which is used to give gcc a\nmodel for the actual memory operations on the real pda structure.  No actual\nreference is ever made to _proxy_pda, so it is never defined.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "78be3706b21a232310590fe00258b224177ac05f",
      "tree": "57dbe444e57241613067145b04c0e15c98278cd6",
      "parents": [
        "0da5db313317e3195482d3e660a1074857374a89"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Tue Sep 26 10:52:39 2006 +0200"
      },
      "message": "[PATCH] i386: Allow a kernel not to be in ring 0\n\nWe allow for the fact that the guest kernel may not run in ring 0.  This\nrequires some abstraction in a few places when setting %cs or checking\nprivilege level (user vs kernel).\n\nThis is Chris\u0027 [RFC PATCH 15/33] move segment checks to subarch, except rather\nthan using #define USER_MODE_MASK which depends on a config option, we use\nZach\u0027s more flexible approach of assuming ring 3 \u003d\u003d userspace.  I also used\n\"get_kernel_rpl()\" over \"get_kernel_cs()\" because I think it reads better in\nthe code...\n\n1) Remove the hardcoded 3 and introduce #define SEGMENT_RPL_MASK 3 2) Add a\nget_kernel_rpl() macro, and don\u0027t assume it\u0027s zero.\n\nAnd:\n\nClean up of patch for letting kernel run other than ring 0:\n\na. Add some comments about the SEGMENT_IS_*_CODE() macros.\nb. Add a USER_RPL macro.  (Code was comparing a value to a mask\n   in some places and to the magic number 3 in other places.)\nc. Add macros for table indicator field and use them.\nd. Change the entry.S tests for LDT stack segment to use the macros\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "5702d0f742b2f462267bca147334f77a255bcc74",
      "tree": "de14f41bc9305aa48a19ce95443b0b9ca5ca2350",
      "parents": [
        "ff6e8c0d5e47f0ceeebde86ec2f5919dbd5beb67"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Fri Jan 06 00:11:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:34 2006 -0800"
      },
      "message": "[PATCH] x86: Pnp segments in segment h\n\nMove PnP BIOS segment definitions into segment.h; the segments are reserved\nhere, so they might as well be defined here as well.\n\nNote I didn\u0027t do this for APM BIOS, as Macintosh and other systems use those\nvalues to emulate APM in some scary way I don\u0027t want to understand.\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nAcked-by: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
