)]}'
{
  "commit": "7b27718bdb1b70166383dec91391df5534d449ee",
  "tree": "1268fcfdaa93cd1e9c480334d31154e5cd93b09c",
  "parents": [
    "0ed89b06e49c326bff81d81f24b9ba955eb912d5"
  ],
  "author": {
    "name": "Joerg Roedel",
    "email": "joro@8bytes.org",
    "time": "Wed Aug 13 10:07:05 2008 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Wed Aug 13 11:59:18 2008 +0200"
  },
  "message": "x86: fix setup code crashes on my old 486 box\n\nyesterday I tried to reactivate my old 486 box and wanted to install a\ncurrent Linux with latest kernel on it. But it turned out that the\nlatest kernel does not boot because the machine crashes early in the\nsetup code.\n\nAfter some debugging it turned out that the problem is the query_ist()\nfunction. If this interrupt with that function is called the machine\nsimply locks up. It looks like a BIOS bug. Looking for a workaround for\nthis problem I wrote the attached patch. It checks for the CPUID\ninstruction and if it is not implemented it does not call the speedstep\nBIOS function. As far as I know speedstep should be available since some\nPentium earliest.\n\nAlan Cox observed that it\u0027s available since the Pentium II, so cpuid\nlevels 4 and 5 can be excluded altogether.\n\nH. Peter Anvin cleaned up the code some more:\n\n\u003e Right in concept, but I dislike the implementation (duplication of the\n\u003e CPU detect code we already have).  Could you try this patch and see if\n\u003e it works for you?\n\nwhich, with a small modification to fix a build error with it the\nresulting kernel boots on my machine.\n\nSigned-off-by: Joerg Roedel \u003cjoro@8bytes.org\u003e\nSigned-off-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a34b9982c7cbcf928bd96e3b17955a789f226f57",
      "old_mode": 33188,
      "old_path": "arch/x86/boot/boot.h",
      "new_id": "9d4b4b43d97af59f6ed45d8680b8d58a04469c5c",
      "new_mode": 33188,
      "new_path": "arch/x86/boot/boot.h"
    },
    {
      "type": "modify",
      "old_id": "7804389ee0059eb8f4be589cccd24a2623f9567f",
      "old_mode": 33188,
      "old_path": "arch/x86/boot/cpucheck.c",
      "new_id": "c1ce0303d994206faa386226dcba435dbba2aa97",
      "new_mode": 33188,
      "new_path": "arch/x86/boot/cpucheck.c"
    },
    {
      "type": "modify",
      "old_id": "2296164b54d2abc3ad8edc343af2b76c830d6693",
      "old_mode": 33188,
      "old_path": "arch/x86/boot/main.c",
      "new_id": "01aa64b5575bab043cd43df70b3f0ebedfe05025",
      "new_mode": 33188,
      "new_path": "arch/x86/boot/main.c"
    }
  ]
}
