)]}'
{
  "commit": "3e5d8f978435bb9ba4dfe3f4514e65e7885db1a9",
  "tree": "1ce55b2ec16a0bd59a29857e05215960d463a1d8",
  "parents": [
    "a698c823e15149941b0f0281527d0c0d1daf2639"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Jan 13 20:41:35 2009 +0900"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Fri Jan 16 14:19:14 2009 +0100"
  },
  "message": "x86: make percpu symbols zerobased on SMP\n\n[ Based on original patch from Christoph Lameter and Mike Travis. ]\n\nThis patch makes percpu symbols zerobased on x86_64 SMP by adding\nPERCPU_VADDR() to vmlinux.lds.h which helps setting explicit vaddr on\nthe percpu output section and using it in vmlinux_64.lds.S.  A new\nPHDR is added as existing ones cannot contain sections near address\nzero.  PERCPU_VADDR() also adds a new symbol __per_cpu_load which\nalways points to the vaddr of the loaded percpu data.init region.\n\nThe following adjustments have been made to accomodate the address\nchange.\n\n* code to locate percpu gdt_page in head_64.S is updated to add the\n  load address to the gdt_page offset.\n\n* __per_cpu_load is used in places where access to the init data area\n  is necessary.\n\n* pda-\u003edata_offset is initialized soon after C code is entered as zero\n  value doesn\u0027t work anymore.\n\nThis patch is mostly taken from Mike Travis\u0027 \"x86_64: Base percpu\nvariables at zero\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b9a4d8c4b93529b3c568c054755d04d1f2534581",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/head64.c",
      "new_id": "bc2900ca82c7d54b2b25718afaf78289dd8eff94",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/head64.c"
    },
    {
      "type": "modify",
      "old_id": "0e275d495563fa33d9fddce555a82a581fa8cff0",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/head_64.S",
      "new_id": "7ee0363871e8c60f61ae14601f00b0126cd1706f",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/head_64.S"
    },
    {
      "type": "modify",
      "old_id": "56c63ac62b10bbeff561b4e0144fc5d76a5567b5",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/setup_percpu.c",
      "new_id": "44845842e7229d3233597b9d42ad435011bf0d8b",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/setup_percpu.c"
    },
    {
      "type": "modify",
      "old_id": "1a614c0e6befcb5893dcb50dbc9cefac16907645",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/vmlinux_64.lds.S",
      "new_id": "f50280db0dfeb1b4e48cf71b8e829c9084533942",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/vmlinux_64.lds.S"
    },
    {
      "type": "modify",
      "old_id": "79a7ff925bf8ea24f0d2fa83a02115113d772a34",
      "old_mode": 33188,
      "old_path": "include/asm-generic/sections.h",
      "new_id": "4ce48e878530d9141bb9429cdfbe11a67f139f4c",
      "new_mode": 33188,
      "new_path": "include/asm-generic/sections.h"
    },
    {
      "type": "modify",
      "old_id": "c61fab1dd2f82cbde0df850274a595d4c79aa450",
      "old_mode": 33188,
      "old_path": "include/asm-generic/vmlinux.lds.h",
      "new_id": "fc2f55f2dcd67db679abd0f284042b77f639b708",
      "new_mode": 33188,
      "new_path": "include/asm-generic/vmlinux.lds.h"
    }
  ]
}
