)]}'
{
  "commit": "893f38d144a4d96d2483cd7c3801d26e1b2c23e9",
  "tree": "a21107699f5b9938db07697ed2b0ff3c725bf266",
  "parents": [
    "ebb682f522411abbe358059a256a8672ec0bd55b"
  ],
  "author": {
    "name": "Yinghai Lu",
    "email": "yinghai@kernel.org",
    "time": "Thu Dec 10 13:07:22 2009 -0800"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Fri Dec 11 09:28:22 2009 +0100"
  },
  "message": "x86: Use find_e820() instead of hard coded trampoline address\n\nJens found the following crash/regression:\n\n[    0.000000] found SMP MP-table at [ffff8800000fdd80] fdd80\n[    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 0-fff BIOS data page\n\nand\n\n[    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 6000-7fff TRAMPOLINE\n\nand bisected it to b24c2a9 (\"x86: Move find_smp_config()\nearlier and avoid bootmem usage\").\n\nIt turns out the BIOS is using the first 64k for mptable,\nwithout reserving it.\n\nSo try to find good range for the real-mode trampoline instead of\nhard coding it, in case some bios tries to use that range for sth.\n\nReported-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nTested-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c4B21630A.6000308@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90f06c25221d792dab33f662c25012b7d0c39f59",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/trampoline.h",
      "new_id": "cb507bb05d7923a32d9134e61a938fdba184a2c9",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/trampoline.h"
    },
    {
      "type": "modify",
      "old_id": "d17d482a04f4c84edd4e87229372b52621e5d1c8",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/e820.c",
      "new_id": "f50447d961c0fc1b1ff3a8e7e7283663863c558f",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/e820.c"
    },
    {
      "type": "modify",
      "old_id": "4f8e2507e8f3cad33a71d5fdb98f068d977c6aae",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/head32.c",
      "new_id": "5051b94c906986b80bc0c4ff62394fd5d2f3a962",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/head32.c"
    },
    {
      "type": "modify",
      "old_id": "0b06cd778fd9c73884f8c1cffc5a359ec4f9c425",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/head64.c",
      "new_id": "b5a9896ca1e74be8805c4f5384ffc8d50f6589b6",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/head64.c"
    },
    {
      "type": "modify",
      "old_id": "35a57c963df94ecd34cea14601edb81b5c780038",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/mpparse.c",
      "new_id": "40b54ceb68b560dc61ec81b5d7222298057bb133",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/mpparse.c"
    },
    {
      "type": "modify",
      "old_id": "946a311a25c9f894a152e2feba14935dfb5a1bbf",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/setup.c",
      "new_id": "f7b8b9894b226fd8498ab5f886381f68be2541c2",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/setup.c"
    },
    {
      "type": "modify",
      "old_id": "cd022121cab611629ec9b04de51677e44bef3567",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/trampoline.c",
      "new_id": "c652ef62742df62340d03465231e88885c8d5329",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/trampoline.c"
    }
  ]
}
