)]}'
{
  "commit": "e503f9e4b092e2349a9477a333543de8f3c7f5d9",
  "tree": "adfae63a1d704f667abe176413db191c732d05f0",
  "parents": [
    "d9a5ac9ef306eb5cc874f285185a15c303c50009"
  ],
  "author": {
    "name": "Youquan Song",
    "email": "youquan.song@intel.com",
    "time": "Fri Apr 22 00:22:43 2011 +0800"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Mon May 16 13:48:25 2011 +0200"
  },
  "message": "x86, apic: Fix spurious error interrupts triggering on all non-boot APs\n\nThis patch fixes a bug reported by a customer, who found\nthat many unreasonable error interrupts reported on all\nnon-boot CPUs (APs) during the system boot stage.\n\nAccording to Chapter 10 of Intel Software Developer Manual\nVolume 3A, Local APIC may signal an illegal vector error when\nan LVT entry is set as an illegal vector value (0~15) under\nFIXED delivery mode (bits 8-11 is 0), regardless of whether\nthe mask bit is set or an interrupt actually happen. These\nerrors are seen as error interrupts.\n\nThe initial value of thermal LVT entries on all APs always reads\n0x10000 because APs are woken up by BSP issuing INIT-SIPI-SIPI\nsequence to them and LVT registers are reset to 0s except for\nthe mask bits which are set to 1s when APs receive INIT IPI.\n\nWhen the BIOS takes over the thermal throttling interrupt,\nthe LVT thermal deliver mode should be SMI and it is required\nfrom the kernel to keep AP\u0027s LVT thermal monitoring register\nprogrammed as such as well.\n\nThis issue happens when BIOS does not take over thermal throttling\ninterrupt, AP\u0027s LVT thermal monitor register will be restored to\n0x10000 which means vector 0 and fixed deliver mode, so all APs will\nsignal illegal vector error interrupts.\n\nThis patch check if interrupt delivery mode is not fixed mode before\nrestoring AP\u0027s LVT thermal monitor register.\n\nSigned-off-by: Youquan Song \u003cyouquan.song@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Yong Wang \u003cyong.y.wang@intel.com\u003e\nCc: hpa@linux.intel.com\nCc: joe@perches.com\nCc: jbaron@redhat.com\nCc: trenn@suse.de\nCc: kent.liu@intel.com\nCc: chaohong.guo@intel.com\nCc: \u003cstable@kernel.org\u003e # As far back as possible\nLink: http://lkml.kernel.org/r/1303402963-17738-1-git-send-email-youquan.song@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d87988bacf3ec497a6a5db9ee1e2b54214b4cdf2",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/apicdef.h",
      "new_id": "34595d5e1038615eeac0ac943a15e9bcf9f4e0d9",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/apicdef.h"
    },
    {
      "type": "modify",
      "old_id": "6f8c5e9da97f0f3e4c0ac89557a3b2f1c3a5f01e",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/cpu/mcheck/therm_throt.c",
      "new_id": "0f034460260d5d7eb4ceb1d1b923c6de8393f2bf",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/cpu/mcheck/therm_throt.c"
    }
  ]
}
