)]}'
{
  "log": [
    {
      "commit": "71ca6744e118d6850bf47f58e872900f5f47b9ee",
      "tree": "60fcf5d1fd63fd2dd5df62cba294fd2c83b0a730",
      "parents": [
        "347b0c20f4f655b892f328635f3426f3e73ba241"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Tue Jun 03 16:55:36 2014 +1000"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Tue Jun 03 15:41:43 2014 +0800"
      },
      "message": "net/cxgb4: Fix referencing freed adapter\n\nThe adapter is freed before we check its flags. It was caused\nby commit 144be3d (\"net/cxgb4: Avoid disabling PCI device for\ntowice\"). The problem was reported by Intel\u0027s \"0-day\" tool.\n\nThe patch fixes it to avoid reverting commit 144be3d. It\u0027s\nresponsing to bug#110450.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "347b0c20f4f655b892f328635f3426f3e73ba241",
      "tree": "e3f9b6edab460d1003d271e2bef175333082976c",
      "parents": [
        "f682ee995b98b8f02de86c003a66d0ae39f53cfd"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Tue Jun 03 16:55:35 2014 +1000"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Tue Jun 03 15:41:43 2014 +0800"
      },
      "message": "net/cxgb4: Don\u0027t retrieve stats during recovery\n\nWe possibly retrieve the adapter\u0027s statistics during EEH recovery\nand that should be disallowed. Otherwise, it would possibly incur\nreplicate EEH error and EEH recovery is going to fail eventually.\n\nThe patch reuses statistics lock and checks net_device is attached\nbefore going to retrieve statistics, so that the problem can be\navoided.\n\nIt\u0027s responsing to bug#110450.\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f682ee995b98b8f02de86c003a66d0ae39f53cfd",
      "tree": "3eccfdddf3a4b4018032c77fb93ac14e72e6bf03",
      "parents": [
        "ee5f2c81b1a015d0d225d8f3fb33c4adbb60cad1"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Tue Jun 03 16:55:34 2014 +1000"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Tue Jun 03 15:41:42 2014 +0800"
      },
      "message": "net/cxgb4: Avoid disabling PCI device for towice\n\nIf we have EEH error happens to the adapter and we have to remove\nit from the system for some reasons (e.g. more than 5 EEH errors\ndetected from the device in last hour), the adapter will be disabled\nfor towice separately by eeh_err_detected() and remove_one(), which\nwill incur following unexpected backtrace. The patch tries to avoid\nit.\n\nIt\u0027s responsing bug#110450.\n\nWARNING: at drivers/pci/pci.c:1431\nCPU: 12 PID: 121 Comm: eehd Not tainted 3.13.0-rc7+ #1\ntask: c0000001823a3780 ti: c00000018240c000 task.ti: c00000018240c000\nNIP: c0000000003c1e40 LR: c0000000003c1e3c CTR: 0000000001764c5c\nREGS: c00000018240f470 TRAP: 0700   Not tainted  (3.13.0-rc7+)\nMSR: 8000000000029032 \u003cSF,EE,ME,IR,DR,RI\u003e  CR: 28000024  XER: 00000004\nCFAR: c000000000706528 SOFTE: 1\nGPR00: c0000000003c1e3c c00000018240f6f0 c0000000010fe1f8 0000000000000035\nGPR04: 0000000000000000 0000000000000000 00000000003ae509 0000000000000000\nGPR08: 000000000000346f 0000000000000000 0000000000000000 0000000000003fef\nGPR12: 0000000028000022 c00000000ec93000 c0000000000c11b0 c000000184ac3e40\nGPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000\nGPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000\nGPR24: 0000000000000000 c0000000009398d8 c00000000101f9c0 c0000001860ae000\nGPR28: c000000182ba0000 00000000000001f0 c0000001860ae6f8 c0000001860ae000\nNIP [c0000000003c1e40] .pci_disable_device+0xd0/0xf0\nLR [c0000000003c1e3c] .pci_disable_device+0xcc/0xf0\nCall Trace:\n[c0000000003c1e3c] .pci_disable_device+0xcc/0xf0 (unreliable)\n[d0000000073881c4] .remove_one+0x174/0x320 [cxgb4]\n[c0000000003c57e0] .pci_device_remove+0x60/0x100\n[c00000000046396c] .__device_release_driver+0x9c/0x120\n[c000000000463a20] .device_release_driver+0x30/0x60\n[c0000000003bcdb4] .pci_stop_bus_device+0x94/0xd0\n[c0000000003bcf48] .pci_stop_and_remove_bus_device+0x18/0x30\n[c00000000003f548] .pcibios_remove_pci_devices+0xa8/0x140\n[c000000000035c00] .eeh_handle_normal_event+0xa0/0x3c0\n[c000000000035f50] .eeh_handle_event+0x30/0x2b0\n[c0000000000362c4] .eeh_event_handler+0xf4/0x1b0\n[c0000000000c12b8] .kthread+0x108/0x130\n[c00000000000a168] .ret_from_kernel_thread+0x5c/0x74\n\nSigned-off-by: Gavin Shan \u003cshangw@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ee5f2c81b1a015d0d225d8f3fb33c4adbb60cad1",
      "tree": "e0b6ce5674045e8e792b3ef7399b7043906977b9",
      "parents": [
        "d7127f58839f17f5564deeda813c97d26e10bfed"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@au1.ibm.com",
        "time": "Tue Jun 03 08:48:50 2014 +1000"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Tue Jun 03 07:01:36 2014 +0800"
      },
      "message": "KVM: PPC: Book3S HV: Increase timeout for grabbing secondary threads\n\nOccasional failures have been seen with split-core mode and migration\nwhere the message \"KVM: couldn\u0027t grab cpu\" appears.  This increases\nthe length of time that we wait from 1ms to 10ms, which seems to\nwork around the issue.\n\nFixes: BZ 110865\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "d7127f58839f17f5564deeda813c97d26e10bfed",
      "tree": "81de605eefb46c60ee6f9509e61dbbf9ac96fd4f",
      "parents": [
        "653238008b2d74c1b850401640535ed93b439a5e"
      ],
      "author": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Fri May 23 11:36:23 2014 +0800"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Fri May 23 12:16:27 2014 +0800"
      },
      "message": "bnx2x: EEH recovory failed with Shiner adapter\n\nThis patch fixes the EEH recoery issue in bnx2x.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #110449\n"
    },
    {
      "commit": "653238008b2d74c1b850401640535ed93b439a5e",
      "tree": "804616fbad869ee2db32d60be4e8a197f9760db9",
      "parents": [
        "3a4a26ff19aa7735474b5e293c666b6617278397"
      ],
      "author": {
        "name": "wenxiong@linux.vnet.ibm.com",
        "email": "wenxiong@linux.vnet.ibm.com",
        "time": "Wed May 21 12:17:47 2014 -0500"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Thu May 22 07:01:45 2014 +0800"
      },
      "message": "bnx2x: Fix kernel crash and EEH recovery issues\n\nOn Tuleta system, HTX has miscompare data issue after EEH recovery.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a4a26ff19aa7735474b5e293c666b6617278397",
      "tree": "fe4ce4c80f2ef1aab9af2b2f8a5c460cc48db4fa",
      "parents": [
        "a832665a2b8bc831ade19b0cf4d301431dc29701"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed May 21 11:11:32 2014 -0500"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Thu May 22 00:14:47 2014 +0800"
      },
      "message": "lpfc: Add iotag memory barrier\n\nAdd a memory barrier to ensure the valid bit is read before\nany of the cqe payload is read. This fixes an issue seen\non Power where the cqe payload was getting loaded before\nthe valid bit. When this occurred, we saw an iotag out of\nrange error when a command completed, but since the iotag\nlooked invalid the command didn\u0027t get completed to scsi core.\nLater we hit the command timeout, attempted to abort the command,\nthen waited for the aborted command to get returned. Since the\nadapter already returned the command, we timeout waiting,\nand end up escalating EEH all the way to host reset. This\npatch fixes this issue.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a832665a2b8bc831ade19b0cf4d301431dc29701",
      "tree": "9a613f4bc6a5cd6d700a7cff3f1935d7c9dcc3d8",
      "parents": [
        "c52031d92710a00f745b2a542abd542542389f80"
      ],
      "author": {
        "name": "Mike Ranweiler",
        "email": "mjr@linux.vnet.ibm.com",
        "time": "Thu May 15 13:53:09 2014 -0700"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Fri May 16 07:02:42 2014 +0800"
      },
      "message": "CVE-2014-0196\n\nPulled from 3.10.23 stable for bug 110340..\n\n\u003eFrom abb5100737bba3f82b5514350fea89ca361ac66c Mon Sep 17 00:00:00 2001\nFrom: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nDate: Sat, 3 May 2014 14:04:59 +0200\nSubject: n_tty: Fix n_tty_write crash when echoing in raw mode\n\ncommit 4291086b1f081b869c6d79e5b7441633dc3ace00 upstream.\n\nThe tty atomic_write_lock does not provide an exclusion guarantee for\nthe tty driver if the termios settings are LECHO \u0026 !OPOST.  And since\nit is unexpected and not allowed to call TTY buffer helpers like\ntty_insert_flip_string concurrently, this may lead to crashes when\nconcurrect writers call pty_write. In that case the following two\nwriters:\n* the ECHOing from a workqueue and\n* pty_write from the process\nrace and can overflow the corresponding TTY buffer like follows.\n\nIf we look into tty_insert_flip_string_fixed_flag, there is:\n  int space \u003d __tty_buffer_request_room(port, goal, flags);\n  struct tty_buffer *tb \u003d port-\u003ebuf.tail;\n  ...\n  memcpy(char_buf_ptr(tb, tb-\u003eused), chars, space);\n  ...\n  tb-\u003eused +\u003d space;\n\nso the race of the two can result in something like this:\n              A                                B\n__tty_buffer_request_room\n                                  __tty_buffer_request_room\nmemcpy(buf(tb-\u003eused), ...)\ntb-\u003eused +\u003d space;\n                                  memcpy(buf(tb-\u003eused), ...) -\u003eBOOM\n\nB\u0027s memcpy is past the tty_buffer due to the previous A\u0027s tb-\u003eused\nincrement.\n\nSince the N_TTY line discipline input processing can output\nconcurrently with a tty write, obtain the N_TTY ldisc output_lock to\nserialize echo output with normal tty writes.  This ensures the tty\nbuffer helper tty_insert_flip_string is not called concurrently and\neverything is fine.\n\nNote that this is nicely reproducible by an ordinary user using\nforkpty and some setup around that (raw termios + ECHO). And it is\npresent in kernels at least after commit\nd945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to\nuse the normal buffering logic) in 2.6.31-rc3.\n\njs: add more info to the commit log\njs: switch to bool\njs: lock unconditionally\njs: lock only the tty-\u003eops-\u003ewrite call\n\nReferences: CVE-2014-0196\nReported-and-tested-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c52031d92710a00f745b2a542abd542542389f80",
      "tree": "ad11f404993979a276cb5bb012bc9ffec10eefcf",
      "parents": [
        "b8e3a51439bb0fefb318d990c95001967f41b7dc"
      ],
      "author": {
        "name": "Mike Ranweiler",
        "email": "mjr@linux.vnet.ibm.com",
        "time": "Thu May 15 13:53:10 2014 -0700"
      },
      "committer": {
        "name": "cstl-robot",
        "email": "robot@ibm.com",
        "time": "Fri May 16 07:02:41 2014 +0800"
      },
      "message": "CVE-2014-0155\n\nPulled from 3.10.23 stable for bug 110340.\n\n\u003eFrom a9ded882d5168e2fd5c0c20e2874f85c56016b4b Mon Sep 17 00:00:00 2001\nFrom: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nDate: Fri, 28 Mar 2014 20:41:50 +0100\nSubject: KVM: ioapic: fix assignment of ioapic-\u003ertc_status.pending_eoi\n (CVE-2014-0155)\n\ncommit 5678de3f15010b9022ee45673f33bcfc71d47b60 upstream.\n\nQE reported that they got the BUG_ON in ioapic_service to trigger.\nI cannot reproduce it, but there are two reasons why this could happen.\n\nThe less likely but also easiest one, is when kvm_irq_delivery_to_apic\ndoes not deliver to any APIC and returns -1.\n\nBecause irqe.shorthand \u003d\u003d 0, the kvm_for_each_vcpu loop in that\nfunction is never reached.  However, you can target the similar loop in\nkvm_irq_delivery_to_apic_fast; just program a zero logical destination\naddress into the IOAPIC, or an out-of-range physical destination address.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b8e3a51439bb0fefb318d990c95001967f41b7dc",
      "tree": "8954605cb18403cb27dc4f69e3e2839cd22fbf2d",
      "parents": [
        "b7b33876ec63e50620ab710f2e34c50ca7cb5541"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@au1.ibm.com",
        "time": "Thu May 15 11:05:12 2014 -0500"
      },
      "committer": {
        "name": "Badari Pulavarty",
        "email": "pbadari@ltcphx.austin.ibm.com",
        "time": "Thu May 15 11:05:12 2014 -0500"
      },
      "message": "KVM: PPC: Book3S HV: Reduce default CMA pool size\n\nWe have observed that on machines with all their memory in a single\nnode, it is possible to hit an out of memory situation where kernel\nallocations (which can\u0027t use the CMA pool) fail, triggering the OOM\nkiller, yet reclaim doesn\u0027t start because there is still free memory\nin the CMA pool.  To alleviate this situation somewhat, this reduces\nthe default CMA pool size from 5% to 3% of system memory.  The 3%\nshould still be enough in most situations, and if not, the user can\nspecify a different amount on the kernel command line.\n\nThis should help with BZ 110181.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "b7b33876ec63e50620ab710f2e34c50ca7cb5541",
      "tree": "285df31bc9ec9d6b5db78bf68d5fc6479f5e9054",
      "parents": [
        "afe34f689bff47714a18fd92c544f4318a8fc586"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Sat May 10 21:45:39 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon May 12 11:04:40 2014 +0800"
      },
      "message": "powerpc/eeh: Dump PE location code\n\nAs Ben suggested, it\u0027s meaningful to dump PE\u0027s location code\nfor site engineers when hitting EEH errors. The patch introduces\nfunction eeh_pe_loc_get() to retireve the location code from\ndev-tree so that we can output it when hitting EEH errors.\n\nIf primary PE bus is root bus, the PHB\u0027s dev-node would be tried\nprior to root port\u0027s dev-node. Otherwise, the upstream bridge\u0027s\ndev-node of the primary PE bus will be check for the location code\ndirectly.\n\nThis fixes BZ 109585. Please apply to the next build for GA.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "afe34f689bff47714a18fd92c544f4318a8fc586",
      "tree": "39188943862162629f9bdde2aa557501d7eb78c5",
      "parents": [
        "1beb8571b373cf5c6019029071a52028807287f1"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 08 13:31:23 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu May 08 12:31:17 2014 +0800"
      },
      "message": "KVM: PPC: Book3S HV: Fix two bugs in dirty-page tracking\n\nThe first bug is that we are testing the C (changed) bit in the hashed\npage table without first doing a tlbie.  The architecture allows the\nupdate of the C bit to happen at any time up until we do a tlbie for\nthe page.  However, we don\u0027t want to do a tlbie for every page on every\npass of a migration operation.  Thus we do the tlbie if there are no\nvcpus currently running, which would indicate the final phase of\nmigration.  If any vcpus are running then reading the dirty log is\nalready racy because pages could get dirtied immediately after we\ncheck them.  Also, we don\u0027t need to do the tlbie if the HPT entry\ndoesn\u0027t allow writing, since in that case the C bit can not get set.\n\nThe second bug is that in the case where we see a dirty 16MB page\nfollowed by a dirty 4kB page (both mapping to the same guest real\naddress), we return 1 rather than 16MB / PAGE_SIZE.  The return value,\nindicating the number of dirty pages, needs to reflect the largest\ndirty page we come across, not the last dirty page we see.\n\nFixes: 109551 (this time for sure)\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "1beb8571b373cf5c6019029071a52028807287f1",
      "tree": "acc472c8133135a15fa2a94b40bf4d06cdf380d5",
      "parents": [
        "2b71a05e56ad48cd52ec9b169df6dcbf961d9ed3"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@au1.ibm.com",
        "time": "Fri May 02 08:45:35 2014 -0500"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Sun May 04 10:55:22 2014 +0800"
      },
      "message": "PPC: KVM: fix dirty map for hugepages\n\nThe dirty map is system page (4K/64K) per bit, and when we populate dirty\nmap, we reset the Change bit in HPT which is expected to contains pages\nless or equal to the system page size. This works until we start using\nhuge pages (16MB). In this case, we mark dirty just a single system page\nand miss the rest of 16MB page which may be dirty as well.\n\nThis changes kvm_test_clear_dirty to return the actual number of pages\nwhich is calculated from HPT entry.\n\nThis changes kvmppc_hv_get_dirty_log() to make pages dirty starting from\nthe rounded guest physical page number.\n\n[paulus@samba.org - don\u0027t advance i in the loop to set dirty bits, so\n that we make sure to clear C in all HPTEs.]\n\nSigned-off-by: Alexey Kardashevskiy \u003caik@ozlabs.ru\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "2b71a05e56ad48cd52ec9b169df6dcbf961d9ed3",
      "tree": "a8118ad3454b5c3dceec588556344a0f025d1a5c",
      "parents": [
        "f7e85433c34d54cc49dd9fffc47d2bf3f86e6863"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu May 01 20:09:11 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Sun May 04 10:55:22 2014 +0800"
      },
      "message": "powerpc/kvm: Don\u0027t try to allocate from kernel page allocator for hash page table.\n\nWe reserve 5% of total ram for CMA allocation and not using that can\nresult in us running out of numa node memory with specific\nconfiguration. One caveat is we may not have node local hpt with pinned\nvcpu configuration. But currently libvirt also pins the vcpu to cpuset\nafter creating hash page table.\n\nReviewed-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f7e85433c34d54cc49dd9fffc47d2bf3f86e6863",
      "tree": "ba4286852ac423ff4c914d9c07540fa1a4331f9c",
      "parents": [
        "544b616f43a5569e9dc3012b357c2fcd0e74f421"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Thu May 01 19:49:48 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Sun May 04 10:55:21 2014 +0800"
      },
      "message": "powerpc/powernv: Don\u0027t escalate non-existing frozen PE\n\nCommit 63fa7d4 (\"powerpc/eeh: Escalate error on non-existing PE\")\nescalates the frozen state on non-existing PE to fenced PHB. It\nwas to improve kdump reliability. After that, commit 716a0e8 (\"\npowrpc/powernv: Reset PHB in kdump kernel\") was introduced to\napply complete reset on all PHBs to increase the kdump reliability.\n\nCommit 63fa7d4 becomes unuseful and to issue PHB reset on non-fenced\n(on HW level) PHB would cause unexpected problems. So I\u0027d like to\nrevert it.\n\nIt\u0027s responsing to bug#109562.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "544b616f43a5569e9dc3012b357c2fcd0e74f421",
      "tree": "6a437f98fd5806faac8ca7eac6808782ab67ca31",
      "parents": [
        "f28eb4181a14995cd719e30552af2e16eed03972"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Thu May 01 19:49:47 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Sun May 04 10:55:21 2014 +0800"
      },
      "message": "powerpc/eeh: Report frozen parent PE prior to child PE\n\nWhen we have the corner case of frozen parent and child PE at the\nsame time, we have to handle the frozen parent PE prior to the\nchild. Without clearning the frozen state on parent PE, the child\nPE can\u0027t be recovered successfully.\n\nThere\u0027re 2 ways (polling and interrupt) to have frozen PE to be\nreported. If we have frozen parent PE out there, we have to report\nand handle that firstly.\n\nIt\u0027s responsing to bug#109562.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f28eb4181a14995cd719e30552af2e16eed03972",
      "tree": "4a03995151c3c784fc454d66c39c779a9c3e7196",
      "parents": [
        "9bb3f57ada773ee8c9188f3d3710a13535b936f1"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Thu May 01 19:49:46 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Sun May 04 10:55:21 2014 +0800"
      },
      "message": "powerpc/eeh: Clear frozen state for child PE\n\nSince commit cb523e09 (\"powerpc/eeh: Avoid I/O access during PE\nreset\"), the PE is kept as frozen state on hardware level until\nthe PE reset is done completely. After that, we explicitly clear\nthe frozen state of the affected PE. However, there might have\nfrozen child PEs of the affected PE and we also need clear their\nfrozen state as well. Otherwise, the recovery is going to fail.\n\nIt\u0027s responsing to bug#109562.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9bb3f57ada773ee8c9188f3d3710a13535b936f1",
      "tree": "c1b6180704b6c8298dddef001e1fdc65b7dceef9",
      "parents": [
        "13a6cbe6b267beb50cea40a9dc7702cfd2a08678"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Mon Apr 28 18:41:39 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 29 13:24:13 2014 +0800"
      },
      "message": "powerpc/book3s: Improve machine check delivery to guest.\n\nCurrently we forward MCEs to guest which have been recovered by guest.\nAnd for unhandled errors we do not deliver the MCE to guest. It looks like\nwith no support of FWNMI in qemu, guest just panics whenever we deliver the\nrecovered MCEs to guest. Also, the existig code used to return to host for\nunhandled errors which was casuing guest to hang with soft lockups inside\nguest and makes it difficult to recover guest instance.\n\nThis patch now forwards all fatal MCEs to guest causing guest to crash/panic.\nAnd, for recovered errors we just go back to normal functioning of guest\ninstead of returning to host. This fixes soft lockup issues in guest.\nThis patch also fixes an issue where guest MCE events were not logged to\nhost console.\n\nThis patch fixes bz108165 and bz108413\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "13a6cbe6b267beb50cea40a9dc7702cfd2a08678",
      "tree": "823b3c007c10fa13cff108dad11acce932b987f0",
      "parents": [
        "60e7bd31571159280f7441338d4d74856b70cd3d"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Mon Apr 28 18:15:24 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 29 13:23:58 2014 +0800"
      },
      "message": "powerpc/powernv: Protect split-core operations from CPU hotplug\n\nDuring split-core operations, one of the online CPUs is nominated as the\n\"master\" and then stop_machine() is invoked to perform the split/unsplit\nprocedure. Between these 2 steps, if CPU hotplug occurs and takes the\njust nominated \"master\" CPU offline, then the split/unsplit procedure\ndoes not complete properly and leads to undesirable effects.\n\nSo protect the entire split-core operation with get/put_online_cpus()\nto synchronize with CPU hotplug.\n\nFixes bz 105509.\n\nAcked-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "60e7bd31571159280f7441338d4d74856b70cd3d",
      "tree": "9d3e7b04f6e787b0f08ad54aee6b88b904cc1bfe",
      "parents": [
        "fa68aaa0c8a081651cedd777fd1c3199cc82ff18"
      ],
      "author": {
        "name": "Alistair Popple",
        "email": "alistair@popple.id.au",
        "time": "Mon Apr 28 18:14:53 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 29 13:23:58 2014 +0800"
      },
      "message": "powerpc: Remove timebase resync during split-core operations on DD2.1 chips\n\nThe hardware manages the resync during split-core operations, on newer\nrevisions (DD2.1 and higher). So we don\u0027t need to call opal_resync_timebase()\non those systems.\n\nFixes bz 105856.\n\n[Srivatsa: Added changelog]\n\nSigned-off-by: Alistair Popple \u003calistair@popple.id.au\u003e\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fa68aaa0c8a081651cedd777fd1c3199cc82ff18",
      "tree": "b77a7b6b34a67b52044f2567b81adb629c54730c",
      "parents": [
        "2afe28a6c440e5aff6b2946dece71621c0c8a0f7"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Thu Apr 24 10:34:45 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu Apr 24 16:59:56 2014 +0800"
      },
      "message": "powerpc/book3s: Increment the mce counter during machine_check_early call.\n\nWe don\u0027t see MCE counter getting increased in /proc/interrupts which gives\nfalse impression of no MCE occurred even when there were MCE events.\nThe machine check early handling was added for PowerKVM and we missed to\nincrement the MCE count in the early handler.\n\nWe also increment mce counters in the machine_check_exception call, but\nin most cases where we handle the error hypervisor never reaches there\nunless its fatal and we want to crash. Only during fatal situation we may\nsee double increment of mce count. We need to fix that. But for\nnow it always good to have some count increased instead of zero.\n\nThis fixes the MCE count issue mentioned in bz108413\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2afe28a6c440e5aff6b2946dece71621c0c8a0f7",
      "tree": "4fb40f1643f75508ee6768702e8476915018757d",
      "parents": [
        "a80404d6856d3e56d79574a4a16f661f456019ef"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@au1.ibm.com",
        "time": "Tue Apr 22 18:38:20 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:31 2014 +0800"
      },
      "message": "powerpc/powernv: Add missing sysfs_attr_init()\n\nWithout this, we get lockdep errors\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a80404d6856d3e56d79574a4a16f661f456019ef",
      "tree": "def32e91d8f2e4fa46abcb5bb8952eafdf78b60b",
      "parents": [
        "d152a119e53f2b0f95a71e4a3c74a89224be099b"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Tue Apr 22 18:38:15 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:31 2014 +0800"
      },
      "message": "powerpc/book3s: Add stack overflow check in machine check handler.\n\nCurrently machine check handler does not check for stack overflow for\nnested machine check. If we hit another MCE while inside the machine check\nhandler repeatedly from same address then we get into risk of stack\noverflow which can cause huge memory corruption. This patch limits the\nnested MCE level to 4 and panic when we cross level 4.\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d152a119e53f2b0f95a71e4a3c74a89224be099b",
      "tree": "785dafca406153a6285483bc3fe11f294b1b5eea",
      "parents": [
        "eb198b7a0ed49f7aaa73f87d9ef270302f4aaec8"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 22 18:38:09 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:31 2014 +0800"
      },
      "message": "powerpc/powernv: Check sysparam size before creation\n\nThe size of the sysparam sysfs files is determined from the device tree\nat boot. However the buffer is hard coded to 64 bytes. If we encounter a\nparameter that is larger than 64, or miss-parse the device tree, the\nbuffer will overflow when reading or writing to the parameter.\n\nCheck it at discovery time, and if the parameter is too large, do not\ncreate a sysfs entry for it.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "eb198b7a0ed49f7aaa73f87d9ef270302f4aaec8",
      "tree": "43fe62925c2b5c25d66c452c3d931e66e90f0877",
      "parents": [
        "f76b84f4a85276fce8591c1d39ae2e919d9a9476"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 22 18:38:02 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:30 2014 +0800"
      },
      "message": "powerpc/powernv: Fix typos in sysparam code\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f76b84f4a85276fce8591c1d39ae2e919d9a9476",
      "tree": "024c1d0759e96e55f1707689b3391ebb8e19cb63",
      "parents": [
        "e174d946ff2c867da52998bbfa82bf9cf0eae527"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 22 18:37:35 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:30 2014 +0800"
      },
      "message": "powerpc/powernv: Check sysfs size before copying\n\nThe sysparam code currently uses the userspace supplied number of\nbytes when memcpy()ing in to a local 64-byte buffer.\n\nLimit the maximum number of bytes by the size of the buffer.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e174d946ff2c867da52998bbfa82bf9cf0eae527",
      "tree": "1be765b5a838b958f01bdbfb4d6c418f1688dd88",
      "parents": [
        "e8196a55149a30b05e318ba41a3c591c0963473d"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 22 18:36:54 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:30 2014 +0800"
      },
      "message": "powerpc/powernv: Use ssize_t for sysparam return values\n\nThe OPAL calls are returning int64_t values, which the sysparam code\nstores in an int, and the sysfs callback returns ssize_t. Make code a\neasier to read by consistently using ssize_t.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e8196a55149a30b05e318ba41a3c591c0963473d",
      "tree": "0c4c6b9c2054e67b8d32447a88e63d63cd4d9e2d",
      "parents": [
        "dbb1c98ee186dd6ee5bfe499140a1d8421565a1d"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 22 18:36:47 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:30 2014 +0800"
      },
      "message": "powerpc/powernv: Fix sysparam sysfs error handling\n\nWhen a sysparam query in OPAL returned a negative value (error code),\nsysfs would spew out a decent chunk of memory; almost 64K more than\nexpected. This was traced to a sign/unsigned mix up in the OPAL sysparam\nsysfs code at sys_param_show.\n\nThe return value of sys_param_show is a ssize_t, calculated using\n\n  return ret ? ret : attr-\u003eparam_size;\n\nAlan Modra explains:\n\n  \"attr-\u003eparam_size\" is an unsigned int, \"ret\" an int, so the overall\n  expression has type unsigned int.  Result is that ret is cast to\n  unsigned int before being cast to ssize_t.\n\nInstead of using the ternary operator, set ret to the param_size if an\nerror is not detected. The same bug exists in the sysfs write callback;\nthis patch fixes it in the same way.\n\nA note on debugging this next time: on my system gcc will warn about\nthis if compiled with -Wsign-compare, which is not enabled by -Wall,\nonly -Wextra.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "dbb1c98ee186dd6ee5bfe499140a1d8421565a1d",
      "tree": "a6cec647e421f07c1fd03e4a471f2309312b0f0c",
      "parents": [
        "3e4b562a7eb3c1250e9479c708f36f3a989ffad6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@au1.ibm.com",
        "time": "Tue Apr 22 17:35:05 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:30 2014 +0800"
      },
      "message": "tick-broadcast/cpuidle: Fix the programming of the broadcast hrtimer\n\nToday CPUs in fast sleep are being woken up to handle their timers\nby the tick broadcast framework using a hrtimer queued on a nominated\nbroadcast CPU. The hrtimer is programmed for the earlier of the next\nwakeup and a broadcast period which happens to be a jiffy. This\nprogramming is being done incorrectly today. The current time\nis noted, the tick broadcast interrupt handler is called, then the\ntime at which the hrtimer needs to be programmed is decided. By\nthen the noted current time would be stale and the hrtimer will\nbe forward much ahead than required, leading to delayed broadcast\ninterrupts being delivered to sleeping cpus.\n\nFix this by noting the current time just before programming the hrtimer.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3e4b562a7eb3c1250e9479c708f36f3a989ffad6",
      "tree": "b9d0c56f553bfb6c63c24595d7380327c6f6e91a",
      "parents": [
        "8b60dedf326e7dcae6ec3f4721fa30a1ecd98c24"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Tue Apr 22 18:36:39 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:29 2014 +0800"
      },
      "message": "powerpc/book3s: Improve machine check handling for unhandled errors\n\nCurrent code does not check for unhandled/unrecovered errors and return from\ninterrupt if it is recoverable exception which in-turn triggers same machine\ncheck exception in a loop causing hypervisor to be unresponsive.\n\nThis patch fixes this situation and forces hypervisor to panic for\nunhandled/unrecovered errors.\n\nThis patch also fixes another issue where unrecoverable_exception routine\nwas called in real mode in case of unrecoverable exception (MSR_RI \u003d 0).\nThis causes another exception vector 0x300 (data access) during system crash\nleading to confusion while debugging cause of the system crash.\n\nWith the above fixes we now throw correct console messages (see below) while\ncrashing the system in case of unhandled/unrecoverable machine checks.\n\n--------------\nSevere Machine check interrupt [[Not recovered]\n  Initiator: CPU\n  Error type: UE [Instruction fetch]\n    Effective address: 0000000030002864\nOops: Machine check, sig: 7 [#1]\nSMP NR_CPUS\u003d2048 NUMA PowerNV\nModules linked in: bork(O) bridge stp llc kvm [last unloaded: bork]\nCPU: 36 PID: 55162 Comm: bash Tainted: G           O 3.14.0mce #1\ntask: c000002d72d022d0 ti: c000000007ec0000 task.ti: c000002d72de4000\nNIP: 0000000030002864 LR: 00000000300151a4 CTR: 000000003001518c\nREGS: c000000007ec3d80 TRAP: 0200   Tainted: G           O  (3.14.0mce)\nMSR: 9000000000041002 \u003cSF,HV,ME,RI\u003e  CR: 28222848  XER: 20000000\nCFAR: 0000000030002838 DAR: d0000000004d0000 DSISR: 00000000 SOFTE: 1\nGPR00: 000000003001512c 0000000031f92cb0 0000000030078af0 0000000030002864\nGPR04: d0000000004d0000 0000000000000000 0000000030002864 ffffffffffffffc9\nGPR08: 0000000000000024 0000000030008af0 000000000000002c c00000000150e728\nGPR12: 9000000000041002 0000000031f90000 0000000010142550 0000000040000000\nGPR16: 0000000010143cdc 0000000000000000 00000000101306fc 00000000101424dc\nGPR20: 00000000101424e0 000000001013c6f0 0000000000000000 0000000000000000\nGPR24: 0000000010143ce0 00000000100f6440 c000002d72de7e00 c000002d72860250\nGPR28: c000002d72860240 c000002d72ac0038 0000000000000008 0000000000040000\nNIP [0000000030002864] 0x30002864\nLR [00000000300151a4] 0x300151a4\nCall Trace:\nInstruction dump:\nXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX\nXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX\n---[ end trace 7285f0beac1e29d3 ]---\n\nSending IPI to other CPUs\nIPI complete\nOPAL V3 detected !\n--------------\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8b60dedf326e7dcae6ec3f4721fa30a1ecd98c24",
      "tree": "dd295aa4d649b7bf76d0ebb4f8db6797223fe700",
      "parents": [
        "0a99a22d8216bd20712fc12a0796a7e70eaff125"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@au1.ibm.com",
        "time": "Tue Apr 22 17:34:40 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 22 16:55:28 2014 +0800"
      },
      "message": "tick-broadcast/cpuidle: Fix the demuxing of PPC_MSG_TIMER IPI message\n\nThe PPC_MSG_TIMER IPI message slot was introduced for the tick broadcast\nIPIs which are required to wakeup sleeping CPUs. The decrementer of the\nCPUs that enter fast sleep stops as a consequence of entering the idle\nstate. Therefore such CPUs have to be woken up in time to handle their\ntimers by a broadcast CPU which sends the PPC_MSG_TIMER IPIs to them.\n\nThis IPI message is being parsed wrongly in smp_ipi_demux(). Thus the\ntick broadcast interrupt handler is never executed on the sleeping CPU.\nThis could have led to unpleasant side effects like not handling timers\nin time on the sleeping cpus. But since the sleeping CPUs still receive\nthe tick broadcast IPI, they are awoken from the idle state and their\ndecrementers are back in action.\n  As a result, its possible that they are managing to handle timers\nbefore they go to sleep again.\n\nHence timers are being handled on the sleeping cpus although the tick\nbroadcast interrupt handler, which is actually supposed to ensure that\nis never being called today due to the wrong number of shift bits while\nparsing the tick broadcast IPI.\n  However we need to note that as a result of this discrepency, timer\nhandling on the sleeping cpus may be unstable. This could be one of\nthe reasons we are observing some softlockups in the cpuidle wakeup path.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0a99a22d8216bd20712fc12a0796a7e70eaff125",
      "tree": "1baea3f68a38c7323425ce03b6495136658905be",
      "parents": [
        "6fc64bb9fc5a754db38431937f0f3476317dc530"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Apr 15 10:28:38 2014 -0300"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:22 2014 +0800"
      },
      "message": "vfio-pci: Use pci \"try\" reset interface\n\nPCI resets will attempt to take the device_lock for any device to be\nreset.  This is a problem if that lock is already held, for instance\nin the device remove path.  It\u0027s not sufficient to simply kill the\nuser process or skip the reset if called after .remove as a race could\nresult in the same deadlock.  Instead, we handle all resets as \"best\neffort\" using the PCI \"try\" reset interfaces.  This prevents the user\nfrom being able to induce a deadlock by triggering a reset.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n(cherry picked from commit 890ed578df82f5b7b5a874f9f2fa4f117305df5f)\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #104951\n"
    },
    {
      "commit": "6fc64bb9fc5a754db38431937f0f3476317dc530",
      "tree": "99349c21688c40032a05349cf5ec91f9784b9218",
      "parents": [
        "c7969287b5b3a5a135dd046bb5a10c8a49144471"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue Apr 15 10:28:37 2014 -0300"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "PCI: Add pci_try_reset_function(), pci_try_reset_slot(), pci_try_reset_bus()\n\nWhen doing a function/slot/bus reset PCI grabs the device_lock for each\ndevice to block things like suspend and driver probes, but call paths exist\nwhere this lock may already be held.  This creates an opportunity for\ndeadlock.  For instance, vfio allows userspace to issue resets so long as\nit owns the device(s).  If a driver unbind .remove callback races with\nuserspace issuing a reset, we have a deadlock as userspace gets stuck\nwaiting on device_lock while another thread has device_lock and waits for\n.remove to complete.  To resolve this, we can make a version of the reset\ninterfaces which use trylock.  With this, we can safely attempt a reset and\nreturn error to userspace if there is contention.\n\n[bhelgaas: the deadlock happens when A (userspace) has a file descriptor for\nthe device, and B waits in this path:\n\n  driver_detach\n    device_lock                     # take device_lock\n    __device_release_driver\n      pci_device_remove             # pci_bus_type.remove\n        vfio_pci_remove             # pci_driver .remove\n          vfio_del_group_dev\n            wait_event(vfio.release_q, !vfio_dev_present)   # wait (holding device_lock)\n\nNow B is stuck until A gives up the file descriptor.  If A tries to acquire\ndevice_lock for any reason, we deadlock because A is waiting for B to release\nthe lock, and B is waiting for A to release the file descriptor.]\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n(cherry picked from commit 61cf16d8bd38c3dc52033ea75d5b1f8368514a17)\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #104951\n"
    },
    {
      "commit": "c7969287b5b3a5a135dd046bb5a10c8a49144471",
      "tree": "0f580d1b3e227f212370bb7e0cf2585700dd318b",
      "parents": [
        "46635fcc6554b2f99ba6fc252142150f96b7bfa3"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 16 09:51:38 2014 +1000"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "powerpc/eeh: Can\u0027t recover from non-PE-reset case\n\nWhen PCI_ERS_RESULT_CAN_RECOVER returned from device drivers, the\nEEH core should enable I/O and DMA for the affected PE. However,\nit was missed to have DMA enabled in eeh_handle_normal_event().\nBesides, the frozen state of the affected PE should be cleared\nafter successful recovery, but we didn\u0027t.\n\nThe patch fixes both of the issues as above. It\u0027s responsing to\nbug#105179.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "46635fcc6554b2f99ba6fc252142150f96b7bfa3",
      "tree": "ed9fa558c2469f13f46a17dac3c1b9858e9856b9",
      "parents": [
        "f6e9174d34a5af087b0510a41e9da2ddc4afef69"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 16 10:11:13 2014 +1000"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "PCI: Export MSI message relevant functions\n\nAs pointed by Alexey, we\u0027re going to hit build failure without\nexporting the functions when (CONFIG_VFIO_PCI \u003d\u003d M). It should\nbe part of commit 9762b50 (\"drivers/vfio/pci: Fix MSIx message\nlost\").\n\nReported-by: Alexey Kardashevskiy \u003caik@ozlabs.ru\u003e\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f6e9174d34a5af087b0510a41e9da2ddc4afef69",
      "tree": "640f0e879571140943107c5f63962bce1617d0c4",
      "parents": [
        "846274db638806ae00a048339f345c4779e92b1e"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Apr 14 19:52:28 2014 +1000"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "KVM: PPC: Book3S PR: Handle facility-unavailable interrupts gracefully\n\nAt present, if a PR guest on a POWER8 machine tries to access some\ndisabled functionality such as transactional memory, the result is\na facility-unavailable interrupt, which isn\u0027t handled in\nkvmppc_handle_exit_pr(), resulting in a call to BUG(), crashing\nthe PR host kernel.\n\nThis adds code to handle the facility-unavailable interrupts and\ngive the guest an illegal instruction interrupt, instead of crashing\nthe PR host.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "846274db638806ae00a048339f345c4779e92b1e",
      "tree": "a8351a1108ef772ccfd9ac04cd52b1aeb066bbc6",
      "parents": [
        "a758d7ee38f23bfb828f7e0abf470ca68191fe5c"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Apr 14 19:52:27 2014 +1000"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "KVM: PPC: Book3S PR: Implement ARCH_COMPAT register\n\nThis provides basic support for the KVM_REG_PPC_ARCH_COMPAT register\nin PR KVM.  At present the value is sanity-checked when set, but\ndoesn\u0027t actually affect anything yet.\n\nImplementing this makes it possible to use a qemu command-line\nargument such as \"-cpu host,compat\u003dpower7\" on a POWER8 machine,\njust as we would with HV KVM.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "a758d7ee38f23bfb828f7e0abf470ca68191fe5c",
      "tree": "0fb3eb03e532caeff1530478d30fd57df22bb6e1",
      "parents": [
        "6c71c41f52f9b763f52c333b781d939e9fbdba5f"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Apr 14 19:52:26 2014 +1000"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Wed Apr 16 11:15:21 2014 +0800"
      },
      "message": "KVM: PPC: Book3S PR: Unimplemented SPRs in supervisor mode don\u0027t cause trap\n\nThe Power ISA states that an mtspr or mfspr to/from an unimplemented\nSPR should be a no-op in privileged mode, rather than causing an\nprogram interrupt (0x700 vector), with the exception of mtspr to SPR 0\nand mfspr from SPRs 0, 4, 5 or 6.\n\nCurrently our SPR emulation code doesn\u0027t follow this rule.  This\nmodifies the code in kvmppc_core_emulate_m[ft]spr_pr() to check\nthe PR bit in the MSR when we detect an unknown SPR number, and\nonly return EMULATE_FAIL (which results in a program interrupt)\nif PR is 0 or the SPR number is one of the ones which are specifically\ndefined to cause a program interrupt.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "6c71c41f52f9b763f52c333b781d939e9fbdba5f",
      "tree": "5ce344d2f9ef7ca0b4ea5581580fc889012ee1ba",
      "parents": [
        "aaed5aa6b25ab969dac816449adeaba07d92882f"
      ],
      "author": {
        "name": "Preeti U Murthy",
        "email": "preeti@linux.vnet.ibm.com",
        "time": "Mon Apr 14 13:42:54 2014 +0530"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Mon Apr 14 17:02:54 2014 +0800"
      },
      "message": "tick, broadcast:Keep the cpu_online_mask and broadcast masks in sync with each other\n\nIts possible that the tick_broadcast_force_mask contains cpus which are not\nin cpu_online_mask when a broadcast tick occurs. This could happen under the\nfollowing circumstance assuming CPU1 is among the CPUs waiting for broadcast\nand the cpu being hotplugged out.\n\nCPU0\t\t\t\t\tCPU1\n\nRun CPU_DOWN_PREPARE notifiers\n\nStart stop_machine\t\t\tGets woken up by IPI to run\n\t\t\t\t\tstop_machine, sets itself in\n\t\t\t\t\ttick_broadcast_force_mask if the\n\t\t\t\t\ttime of broadcast interrupt is around\n\t\t\t\t\tthe same time as this IPI.\n\n\t\t\t\t\tStart stop_machine\n\t\t\t\t\t  set_cpu_online(cpu1, false)\nEnd stop_machine\t\t\tEnd stop_machine\n\nBroadcast interrupt\n  Finds that cpu1 in\n  tick_broadcast_force_mask is offline\n  and triggers the WARN_ON in\n  tick_handle_oneshot_broadcast()\n\nClears all broadcast masks\nin CPU_DEAD stage.\n\nWhile the hotplugged cpu clears its bit in the tick_broadcast_oneshot_mask\nand tick_broadcast_pending mask during BROADCAST_EXIT, it *sets* its bit\nin the tick_broadcast_force_mask if the broadcast interrupt is found to be\naround the same time as the present time. Today we clear all the broadcast\nmasks and shutdown tick devices in the CPU_DEAD stage. But as shown above\nthe broadcast interrupt could occur before this stage is reached and the\nWARN_ON() gets triggered when it is found that the tick_broadcast_force_mask\ncontains an offline cpu.\n\nPlease note that a scenario such as above will occur *only if the broadcast\ninterrupt is delayed under some circumstance*. Ideally the broadcast interrupt\nin the above scenario should have occured before we reach the irq_disabled\nstage of stop_machine and should have seen a valid broadcast mask. But for\nsome reason that is yet to be understood it is getting delayed leading to the\nabove scenario.\n\nBesides this another point to notice is that for a small duration between\nthe CPU_DYING stage where the hotplugged cpu clears its bit from the\ncpu_online_mask and the CPU_DEAD stage where the broadcast_force_mask gets\ncleared of the same, both these masks are out of sync with each other during that\ntime thus triggering the above scenario.\n\nThe temporary solution to this is to move the clearing of broadcast masks to\nthe CPU_DYING notification stage. The reason is, it is during this stage that\nthe hotplugged cpu clears itself from the cpu_online_mask() and runs\nnotifications relevant to this stage including those to clear the broadcast masks\n(with this patch).\n  All this, while the rest of the cpus are busy spinning in stop_machine to notice\nthis change. By the time this stage ends and all cpus resume work, the hotplugged\ncpu would have cleared itself from the cpu_online_mask and the broadcast cpu mask\nthus keeping them in sync with each other at such times when the rest of the cpus\ncan read these masks.\n\nSince the above mentioned delay in the broadcast interrupt has not triggered\nany soft lockups so far, we are assuming its a non-fatal issue and have this\npatch to prevent the warning from popping up in this case.\n\nSuggested-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@au1.ibm.com\u003e\n"
    },
    {
      "commit": "aaed5aa6b25ab969dac816449adeaba07d92882f",
      "tree": "b5cfa8c4f8f5d2d4a4c02550bf09b33864063117",
      "parents": [
        "716a0e89e5d7f1bd9398bb96b603e15a9cffd2f8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Apr 14 11:16:27 2014 +0530"
      },
      "committer": {
        "name": "Wang Sen",
        "email": "wangsen@linux.vnet.ibm.com",
        "time": "Mon Apr 14 17:02:54 2014 +0800"
      },
      "message": "powerpc/mm: Don\u0027t update page-\u003e_mapcount for hugetlb tail pages\n\nThe changes to increment _mapcount was added w.r.t THP change\n3526741f0964c88bc2ce511e1078359052bf225b. Later this was fixed\nto to handle the hugetlb case in 44518d2b32646e37b4b7a0813bbbe98dc21c7f8f\nInstead of backporting 44518, we can remove the _mapcount update since\nwe don\u0027t support THP for kvm host yet.\n\nFixes: bz# 108558\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "716a0e89e5d7f1bd9398bb96b603e15a9cffd2f8",
      "tree": "5471581d262fe7b39529ccc71bec35729ee242c9",
      "parents": [
        "354580fbfa50626718808ad2a67758b7e2833edf"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Thu Apr 10 08:29:53 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:35 2014 +0800"
      },
      "message": "powrpc/powernv: Reset PHB in kdump kernel\n\nIn the kdump scenario, the first kerenl doesn\u0027t shutdown PCI devices\nand the kdump kerenl clean PHB IODA table at the early probe time.\nThat means the kdump kerenl can\u0027t support PCI transactions piled\nby the first kerenl. Otherwise, lots of EEH errors and frozen PEs\nwill be detected.\n\nIn order to avoid the EEH errors, the PHB is resetted to drop all\nPCI transaction from the first kerenl. It looks good on P7, but need\nto be verified on P8.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "354580fbfa50626718808ad2a67758b7e2833edf",
      "tree": "97fa24dc317313278d9637f38fd36db2810a8018",
      "parents": [
        "699e0a732f49ec2758e2c4abb0a586fa7d12c090"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:59 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:35 2014 +0800"
      },
      "message": "powerpc/pci: Mask linkDown on resetting PCI bus\n\nThe problem was initially reported by Wendy who tried pass through\nIPR adapter, which was connected to PHB root port directly, to KVM\nbased guest. When doing that, pci_reset_bridge_secondary_bus() was\ncalled by VFIO driver and linkDown was detected by the root port.\nThat caused all PEs to be frozen.\n\nThe patch fixes the issue by routing the reset for the secondary bus\nof root port to underly firmware. For that, one more weak function\npci_reset_secondary_bus() is introduced so that the individual platforms\ncan override that and do specific reset for bridge\u0027s secondary bus.\n\nReported-by: Wendy Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "699e0a732f49ec2758e2c4abb0a586fa7d12c090",
      "tree": "9c0c28dbab77760ee7dd73b9900f368ab33f73ba",
      "parents": [
        "a76cb901d67f6c7737d12bbdcadd9fe4a312a339"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:59 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:34 2014 +0800"
      },
      "message": "powerpc/eeh: Make the delay for PE reset unified\n\nBasically, we have 3 types of resets to fulfil PE reset: fundamental,\nhot and PHB reset. For the later 2 cases, we need PCI bus reset hold\nand settlement delay as specified by PCI spec. PowerNV and pSeries\nplatforms are running on top of different firmware and some of the\ndelays have been covered by underly firmware (PowerNV).\n\nThe patch makes the delays unified to be done in backend, instead of\nEEH core.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a76cb901d67f6c7737d12bbdcadd9fe4a312a339",
      "tree": "afa537bcac66820265f45b3f6e5d232d828d928c",
      "parents": [
        "b788c8a834ffc62a78e6d59ade3ebe2bb6fa4e34"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:59 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:34 2014 +0800"
      },
      "message": "powerpc/powernv: Reset root port in firmware\n\nResetting root port has more stuff to do than that for PCIe switch\nports and we should have resetting root port done in firmware instead\nof the kernel itself. The problem was introduced by commit 5b2e198e\n(\"powerpc/powernv: Rework EEH reset\").\n\nCc: linux-stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b788c8a834ffc62a78e6d59ade3ebe2bb6fa4e34",
      "tree": "5db35e0dc0621309fe2898f0f235587b9c0902bf",
      "parents": [
        "5793dfb0760ffdbd2694b79e7752a98647845526"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:59 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:34 2014 +0800"
      },
      "message": "powerpc/pseries: Fix overwritten PE state\n\nIn pseries_eeh_get_state(), EEH_STATE_UNAVAILABLE is always\noverwritten by EEH_STATE_NOT_SUPPORT because of the missed\n\"break\" there. The patch fixes the issue.\n\nReported-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: linux-stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5793dfb0760ffdbd2694b79e7752a98647845526",
      "tree": "774b692b6be56ac988b9ba26c8cca5bdfb7f8fe0",
      "parents": [
        "890830cbe614422dc0ae18a0d7d9a6fffe87c6eb"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:59 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:34 2014 +0800"
      },
      "message": "powerpc/powernv: Fix endless reporting frozen PE\n\nOnce one specific PE has been marked as EEH_PE_ISOLATED, it\u0027s in\nthe middile of recovery or removed permenently. We needn\u0027t report\nthe frozen PE again. Otherwise, we will have endless reporting\nsame frozen PE.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "890830cbe614422dc0ae18a0d7d9a6fffe87c6eb",
      "tree": "097b4ab80d3ebc1f30e0a13245f91e03f0c7ea6e",
      "parents": [
        "354d6dc2bd3d9a9041120f049adfb3d0aa13d79c"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:58 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:33 2014 +0800"
      },
      "message": "powerpc/eeh: No hotplug on permanently removed dev\n\nThe issue was detected in a bit complicated test case where\nwe have multiple hierarchical PEs shown as following figure:\n\n                +-----------------+\n                | PE#3     p2p#0  |\n                |          p2p#1  |\n                +-----------------+\n                        |\n                +-----------------+\n                | PE#4     pdev#0 |\n                |          pdev#1 |\n                +-----------------+\n\nPE#4 (have 2 PCI devices) is the child of PE#3, which has 2 p2p\nbridges. We accidentally had less-known scenario: PE#4 was removed\npermanently from the system because of permanent failure (e.g.\nexceeding the max allowd failure times in last hour), then we detects\nEEH errors on PE#3 and tried to recover it. However, eeh_dev instances\nfor pdev#0/1 were not detached from PE#4, which was still connected to\nPE#3. All of that was because of the fact that we rely on count-based\npcibios_release_device(), which isn\u0027t reliable enough. When doing\nrecovery for PE#3, we still apply hotplug on PE#4 and pdev#0/1, which\nare not valid any more. Eventually, we run into kernel crash.\n\nThe patch fixes above issue from two aspects. For unplug, we simply\nskip those permanently removed PE, whose state is (EEH_PE_STATE_ISOLATED\n\u0026\u0026 !EEH_PE_STATE_RECOVERING) and its frozen count should be greater\nthan EEH_MAX_ALLOWED_FREEZES. For plug, we marked all permanently\nremoved EEH devices with EEH_DEV_REMOVED and return 0xFF\u0027s on read\nits PCI config so that PCI core will omit them.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "354d6dc2bd3d9a9041120f049adfb3d0aa13d79c",
      "tree": "419bafc7ae9d91237ce45a4f3548404a41ac789c",
      "parents": [
        "3424629b5affc9d86be99f6ec93941a2d74a2811"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:58 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:33 2014 +0800"
      },
      "message": "powerpc/eeh: Allow to disable EEH\n\nThe patch introduces bootarg \"eeh\u003doff\" to disable EEH functinality.\nAlso, it creates /sys/kerenl/debug/powerpc/eeh_enable to disable\nor enable EEH functionality. By default, we have the functionality\nenabled.\n\nFor PowerNV platform, we will restore to have the conventional\nmechanism of clearing frozen PE during PCI config access if we\u0027re\ngoing to disable EEH functionality. Conversely, we will rely on\nEEH for error recovery.\n\nThe patch also fixes the issue that we missed to cover the case\nof disabled EEH functionality in function ioda_eeh_event(). Those\nevents driven by interrupt should be cleared to avoid endless\nreporting.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3424629b5affc9d86be99f6ec93941a2d74a2811",
      "tree": "0ca071d3c79456c551b94284f16506618e965657",
      "parents": [
        "96e0cf4d253d86a5a2e34d716f7b1c3f476a2161"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:58 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:33 2014 +0800"
      },
      "message": "powerpc/eeh: Cleanup EEH subsystem variables\n\nThere\u0027re 2 EEH subsystem variables: eeh_subsystem_enabled and\neeh_probe_mode. We needn\u0027t maintain 2 variables and we can just\nhave one variable and introduce different flags. The patch also\nintroduces additional flag EEH_FORCE_DISABLE, which will be used\nto disable EEH subsystem via boot parameter (\"eeh\u003doff\") in future.\nBesides, the patch also introduces flag EEH_ENABLED, which is\nchanged to disable or enable EEH functionality on the fly through\ndebugfs entry in future.\n\nWith the patch applied, the creteria to check the enabled EEH\nfunctionality is changed to:\n\n!EEH_FORCE_DISABLED \u0026\u0026 EEH_ENABLED : Enabled\n                       Other cases : Disabled\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "96e0cf4d253d86a5a2e34d716f7b1c3f476a2161",
      "tree": "d93442946ed33f43d376b805b7ec039223f1ea1c",
      "parents": [
        "c6ce435aa9d0b17033f0ed01bc90ffa6a8f7e126"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:58 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:32 2014 +0800"
      },
      "message": "powerpc/eeh: Use cached capability for log dump\n\nWhen calling into eeh_gather_pci_data() on pSeries platform, we\npossiblly don\u0027t have pci_dev instance yet, but eeh_dev is always\nready. So we use cached capability from eeh_dev instead of pci_dev\nfor log dump there. In order to keep things unified, we also cache\nPCI capability positions to eeh_dev for PowerNV as well.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c6ce435aa9d0b17033f0ed01bc90ffa6a8f7e126",
      "tree": "711d079d080fd91738d824f8662d87b23ae9a834",
      "parents": [
        "93ad0164444cf04ba35491711ccf40a7f7f7d130"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:58 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:32 2014 +0800"
      },
      "message": "powerpc/eeh: Cleanup eeh_gather_pci_data()\n\nThe patch replaces printk(KERN_WARNING ...) with pr_warn() in the\nfunction eeh_gather_pci_data().\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "93ad0164444cf04ba35491711ccf40a7f7f7d130",
      "tree": "e0f1966547ea2199ca248e4ef096c504045fbd5a",
      "parents": [
        "095535a91ab5aad8f87e859022f7eb718f1c023c"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:57 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:32 2014 +0800"
      },
      "message": "powerpc/eeh: Avoid I/O access during PE reset\n\nWe have suffered recrusive frozen PE a lot, which was caused\nby IO accesses during the PE reset. Ben came up with the good\nidea to keep frozen PE until recovery (BAR restore) gets done.\nWith that, IO accesses during PE reset are dropped by hardware\nand wouldn\u0027t incur the recrusive frozen PE any more.\n\nThe patch implements the idea. We don\u0027t clear the frozen state\nuntil PE reset is done completely. During the period, the EEH\ncore expects unfrozen state from backend to keep going. So we\nhave to reuse EEH_PE_RESET flag, which has been set during PE\nreset, to return normal state from backend. The side effect is\nwe have to clear frozen state for towice (PE reset and clear it\nexplicitly), but that\u0027s harmless.\n\nWe have some limitations on pHyp. pHyp doesn\u0027t allow to enable\nIO or DMA for unfrozen PE. So we don\u0027t enable them on unfrozen PE\nin eeh_pci_enable(). We have to enable IO before grabbing logs on\npHyp. Otherwise, 0xFF\u0027s is always returned from PCI config space.\nAlso, we had wrong return value from eeh_pci_enable() for\nEEH_OPT_THAW_DMA case. The patch fixes it too.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "095535a91ab5aad8f87e859022f7eb718f1c023c",
      "tree": "938a3c79e30e68dc14665ab3e7b9a3982b4b3130",
      "parents": [
        "885fbb7e151f19dc532780e55bf5c6195199ef56"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:57 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:31 2014 +0800"
      },
      "message": "powerpc/powernv: Use EEH PCI config accessors\n\nFor EEH PowerNV backends, they need use their own PCI config\naccesors as the normal one could be blocked during PE reset.\nThe patch also removes necessary parameter \"hose\" for the\nfunction ioda_eeh_bridge_reset().\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "885fbb7e151f19dc532780e55bf5c6195199ef56",
      "tree": "ec5068376f3e01e199a8f304d2f40f178821d7ef",
      "parents": [
        "71c2fd97ed01be288beb20800597f374288a45e1"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:57 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:31 2014 +0800"
      },
      "message": "powerpc/eeh: Block PCI-CFG access during PE reset\n\nWe\u0027ve observed multiple PE reset failures because of PCI-CFG\naccess during that period. Potentially, some device drivers\ncan\u0027t support EEH very well and they can\u0027t put the device to\nmotionless state before PE reset. So those device drivers might\nproduce PCI-CFG accesses during PE reset. Also, we could have\nPCI-CFG access from user space (e.g. \"lspci\"). Since access to\nfrozen PE should return 0xFF\u0027s, we can block PCI-CFG access\nduring the period of PE reset so that we won\u0027t get recrusive EEH\nerrors.\n\nThe patch adds flag EEH_PE_RESET, which is kept during PE reset.\nThe PowerNV/pSeries PCI-CFG accessors reuse the flag to block\nPCI-CFG accordingly.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "71c2fd97ed01be288beb20800597f374288a45e1",
      "tree": "c12713cd53c06d90095c1cc3b3c36716b5145ef5",
      "parents": [
        "8bc6b3417651c82e781205b2c2bb5efdd5fd2818"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:57 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:29 2014 +0800"
      },
      "message": "powerpc/eeh: EEH_PE_ISOLATED not reflect HW state\n\nWhen doing PE reset, EEH_PE_ISOLATED is cleared unconditionally.\nHowever, We should remove that if the PE reset has cleared the\nfrozen state successfully. Otherwise, the flag should be kept.\nThe patch fixes the issue.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "8bc6b3417651c82e781205b2c2bb5efdd5fd2818",
      "tree": "d6eaecc715c74d51d9c7b5bf8e2f5b8958e17db0",
      "parents": [
        "45a88bf8a35a84c91115c328c8d797ada0f14098"
      ],
      "author": {
        "name": "Gavin Shan",
        "email": "gwshan@linux.vnet.ibm.com",
        "time": "Wed Apr 09 11:43:57 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Apr 14 10:12:28 2014 +0800"
      },
      "message": "powerpc/powernv: Remove fields in PHB diag-data dump\n\nFor some fields (e.g. LEM, MMIO, DMA) in PHB diag-data dump, it\u0027s\nmeaningless to print them if they have non-zero value in the\ncorresponding mask registers because we always have non-zero values\nin the mask registers. The patch only prints those fieds if we\nhave non-zero values in the primary registers (e.g. LEM, MMIO, DMA\nstatus) so that we can save couple of lines. The patch also removes\nunnecessary spare line before \"brdgCtl:\" and two leading spaces as\nprefix in each line as Ben suggested.\n\nSigned-off-by: Gavin Shan \u003cgwshan@linux.vnet.ibm.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "45a88bf8a35a84c91115c328c8d797ada0f14098",
      "tree": "82035e4549496522c65c8cfd27a019a2b4df12ea",
      "parents": [
        "9b2d298a1fe9d61e9fcacc9511926646b540b627"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Apr 11 16:29:45 2014 +1000"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Fri Apr 11 16:43:43 2014 +0800"
      },
      "message": "powerpc: Don\u0027t try to set LPCR unless we\u0027re in hypervisor mode\n\nCommit c7062d83fe7b (\"powerpc/ppc64: Do not turn AIL (reloc-on\ninterrupts) too early\") added code to set the AIL bit in the LPCR\nwithout checking whether the kernel is running in hypervisor mode.\nThe result is that when the kernel is running as a guest (i.e.,\nunder PowerKVM or PowerVM), the processor takes a privileged\ninstruction interrupt at that point, causing a panic.  The visible\nresult is that the kernel hangs after printing \"returning from\nprom_init\".\n\nThis fixes it by checking for hypervisor mode being available\nbefore setting LPCR.  If we are not in hypervisor mode, we enable\nrelocation-on interrupts later in pSeries_setup_arch using the\nH_SET_MODE hcall.\n\nThis fixes BZ 108728.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "9b2d298a1fe9d61e9fcacc9511926646b540b627",
      "tree": "300d5629e0f4c7d32dcd8f03e1cf6d11fc541f1c",
      "parents": [
        "d9d7d57a6fd38d23d12a309166426dca7e23ad59"
      ],
      "author": {
        "name": "Preeti U Murthy",
        "email": "preeti@linux.vnet.ibm.com",
        "time": "Thu Apr 10 09:15:45 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu Apr 10 12:28:28 2014 +0800"
      },
      "message": "kvm: Clear the runlatch bit of a vcpu before napping\n\nWhen the guest cedes the vcpu or the vcpu has no guest to\nrun it naps. Clear the runlatch bit of the vcpu before\nnapping to indicate an idle cpu.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d9d7d57a6fd38d23d12a309166426dca7e23ad59",
      "tree": "0f0b3d1f15a87bae0fa2d6eeeda49d7750257351",
      "parents": [
        "cf05d568d7b8bda30561d86976df73c16c17b42a"
      ],
      "author": {
        "name": "Preeti U Murthy",
        "email": "preeti@linux.vnet.ibm.com",
        "time": "Thu Apr 10 09:15:30 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu Apr 10 12:28:27 2014 +0800"
      },
      "message": "kvm: Set the runlatch bit of a CPU just before starting guest\n\nThe secondary threads in the core have their runlatch bits cleared since they\nare offline. When the secondary threads are called in to start a guest their\nrunlatch bits need to be set to indicate that they are busy. The primary\nthread has its runlatch bit set though, but there is no harm in setting this\nbit once again. Hence set the runlatch bit for all threads before they start\nguest.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cf05d568d7b8bda30561d86976df73c16c17b42a",
      "tree": "14524923f6ed2f8fc6ecc60cd16d1fadd72725c4",
      "parents": [
        "fe93cac67c196c1cb7501a1ccbf18e12d1f50861"
      ],
      "author": {
        "name": "Preeti U Murthy",
        "email": "preeti@linux.vnet.ibm.com",
        "time": "Thu Apr 10 09:15:12 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu Apr 10 12:28:26 2014 +0800"
      },
      "message": "kvm: Set the runlatch bits correctly for offline cpus\n\nUp until now we have been setting the runlatch bits for a busy CPU and\nclearing it when a CPU enters idle state. The runlatch bit has thus\nbeen consistent with the utilization of a CPU as long as the CPU is online.\n\nHowever when a CPU is hotplugged out the runlatch bit is not cleared. It\nneeds to be cleared to indicate an unused CPU. OCC consumes the runlatch bit\nto decide the utilization of a thread and ends up seeing the offline threads\nas busy. Hence this patch has the runlatch bit cleared for an offline CPU\njust before entering an idle state and sets it immediately after it exits\nthe idle state.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fe93cac67c196c1cb7501a1ccbf18e12d1f50861",
      "tree": "114f2b26b8c5f1226f3aa0f21d4e6da08b14bf78",
      "parents": [
        "81afe467e5243fb7c91f7241b0d11be4e67065b3"
      ],
      "author": {
        "name": "wenxiong@linux.vnet.ibm.com",
        "email": "wenxiong@linux.vnet.ibm.com",
        "time": "Tue Apr 08 09:26:40 2014 -0500"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Apr 09 10:30:40 2014 +0800"
      },
      "message": "enclosure: fix WARN_ON in dual path device removing\n\nThe issue is happened in dual controller configuration. We got the\nsysfs warnings when rmmod the ipr module.\n\nenclosure_unregister() in drivers/msic/enclosure.c, call device_unregister()\nfor each componment deivce, device_unregister() -\u003edevice_del()-\u003ekobject_del()\n-\u003esysfs_remove_dir(). In sysfs_remove_dir(), set kobj-\u003esd \u003d NULL.\n\nFor each componment device, enclosure_component_release()-\u003eenclosure_remove_links()-\u003esysfs_remove_link() in which checking kobj-\u003esd again, it has been set as NULL when doing device_unregister. So we saw all these sysfs WARNING.\n\nsysfs: can not remove \u0027enclosure_device: P1-D1      2SS6\u0027, no directory\n------------[ cut here ]------------\nWARNING: at fs/sysfs/inode.c:325\nModules linked in: fuse loop dm_mod ses enclosure ipr(-) ipv6 ibmveth libata sg ext3 jbd mbcache sd_mod crc_t10dif crct10dif_common ibmvscsi scsi_transport_srp scsi_tgt scsi_dh_rdac scsi_dh_emc scsi_dh_hp_sw scsi_dh_alua scsi_dh scsi_mod\nCPU: 0 PID: 4006 Comm: rmmod Not tainted 3.12.0-scsi-0.11-ppc64 #1\ntask: c0000000f769aba0 ti: c0000000f8f9c000 task.ti: c0000000f8f9c000\nNIP: c0000000002b038c LR: c0000000002b0388 CTR: 0000000000000000\nREGS: c0000000f8f9ee70 TRAP: 0700   Not tainted  (3.12.0-scsi-0.11-ppc64)\nMSR: 8000000000029032 \u003cSF,EE,ME,IR,DR,RI\u003e  CR: 28008444  XER: 20000000\nSOFTE: 1\nCFAR: c000000000736118\n\nGPR00: c0000000002b0388 c0000000f8f9f0f0 c0000000010ed630 0000000000000047\nGPR04: c000000001502628 c000000001513010 0000000000000689 652027656e636c6f\nGPR08: 737572655f646576 c000000000ae2b7c 0000000000a20000 c000000000add630\nGPR12: 0000000028008442 c000000007f20000 0000000000000000 0000000010146920\nGPR16: 00000000100cb9d8 0000000010093088 0000000010146920 0000000000000000\nGPR20: 0000000000000000 0000000010161900 00000000100ce458 0000000000000000\nGPR24: 0000000010161940 0000000000000000 d0000000046ad440 0000000000000000\nGPR28: c0000000f8f9f270 0000000000000000 c0000000fcb882c8 0000000000000000\nNIP [c0000000002b038c] .sysfs_hash_and_remove+0xe4/0xf0\nLR [c0000000002b0388] .sysfs_hash_and_remove+0xe0/0xf0\nCall Trace:\n[c0000000f8f9f0f0] [c0000000002b0388] .sysfs_hash_and_remove+0xe0/0xf0 (unreliable)\n[c0000000f8f9f190] [c0000000002b4134] .sysfs_remove_link+0x24/0x60\n[c0000000f8f9f200] [d000000004df037c] .enclosure_remove_links+0x64/0xa0 [enclosure]\n[c0000000f8f9f2d0] [d000000004df0518] .enclosure_component_release+0x30/0x60 [enclosure]\n[c0000000f8f9f350] [c000000000540068] .device_release+0x50/0xd8\n[c0000000f8f9f3d0] [c0000000003b6f80] .kobject_cleanup+0xb8/0x230\n[c0000000f8f9f460] [c00000000053f404] .put_device+0x1c/0x30\n[c0000000f8f9f4d0] [d000000004df0db0] .enclosure_unregister+0xa0/0xe8 [enclosure]\n[c0000000f8f9f560] [d000000004f90094] .ses_intf_remove_enclosure+0x8c/0xa8 [ses]\n[c0000000f8f9f5f0] [c0000000005413ec] .device_del+0xf4/0x268\n[c0000000f8f9f680] [c000000000541594] .device_unregister+0x34/0x88\n[c0000000f8f9f700] [d000000001423d3c] .__scsi_remove_device+0x104/0x128 [scsi_mod]\n[c0000000f8f9f780] [d00000000141eff8] .scsi_forget_host+0x70/0xa0 [scsi_mod]\n[c0000000f8f9f800] [d000000001413dc0] .scsi_remove_host+0x88/0x178 [scsi_mod]\n[c0000000f8f9f890] [d00000000469db5c] .ipr_remove+0x7c/0xf8 [ipr]\n[c0000000f8f9f920] [c0000000003fe1f4] .pci_device_remove+0x64/0xf0\n[c0000000f8f9f9b0] [c000000000544f10] .__device_release_driver+0xd0/0x158\n[c0000000f8f9fa40] [c0000000005450d8] .driver_detach+0x140/0x148\n[c0000000f8f9fae0] [c000000000543848] .bus_remove_driver+0xe0/0x188\n[c0000000f8f9fb70] [c00000000054628c] .driver_unregister+0x3c/0x80\n[c0000000f8f9fbf0] [c0000000003fe35c] .pci_unregister_driver+0x34/0xe8\n[c0000000f8f9fc90] [d0000000046a5fb4] .ipr_exit+0x2c/0x44 [ipr]\n[c0000000f8f9fd20] [c0000000001359dc] .SyS_delete_module+0x204/0x308\n[c0000000f8f9fe30] [c000000000009f60] syscall_exit+0x0/0xa0\nInstruction dump:\ne8010010 eb81ffe0 7c0803a6 eba1ffe8 ebc1fff0 ebe1fff8 4e800020 3c62ff8a\n7ca42b78 3863c388 48485d45 60000000 \u003c0fe00000\u003e 3860fffe 4bffff94 fba1ffe8\no\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "81afe467e5243fb7c91f7241b0d11be4e67065b3",
      "tree": "72a41b33b51e8bec9dafb84a100962bd7baa1dcd",
      "parents": [
        "1c2f35366426173c9b87b336629199de3d6293fe"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Apr 08 15:34:46 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Apr 09 10:21:51 2014 +0800"
      },
      "message": "md/raid5: Fix CPU hotplug callback registration\n\ncommit 789b5e0315284463617e106baad360cb9e8db3ac upstream.\n\nSubsystems that want to register CPU hotplug callbacks, as well as perform\ninitialization for the CPUs that are already online, often do it as shown\nbelow:\n\n\tget_online_cpus();\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\tregister_cpu_notifier(\u0026foobar_cpu_notifier);\n\n\tput_online_cpus();\n\nThis is wrong, since it is prone to ABBA deadlocks involving the\ncpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently\nwith CPU hotplug operations).\n\nInterestingly, the raid5 code can actually prevent double initialization and\nhence can use the following simplified form of callback registration:\n\n\tregister_cpu_notifier(\u0026foobar_cpu_notifier);\n\n\tget_online_cpus();\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\tput_online_cpus();\n\nA hotplug operation that occurs between registering the notifier and calling\nget_online_cpus(), won\u0027t disrupt anything, because the code takes care to\nperform the memory allocations only once.\n\nSo reorganize the code in raid5 this way to fix the deadlock with callback\nregistration.\n\nThis fixes BZ 103213.\n\nCc: linux-raid@vger.kernel.org\nFixes: 36d1c6476be51101778882897b315bd928c8c7b5\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n[Srivatsa: Fixed the unregister_cpu_notifier() deadlock, added the\nfree_scratch_buffer() helper to condense code further and wrote the changelog.]\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1c2f35366426173c9b87b336629199de3d6293fe",
      "tree": "eff16442de8e05aeaab1a2f03bea16b2c328f5b8",
      "parents": [
        "9466852d027bca067746207aca410ef4b0c0725b"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Tue Apr 08 15:34:16 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Apr 09 10:21:51 2014 +0800"
      },
      "message": "md/raid5: Revert partial fix of CPU hotplug callback registration\n\nCommit 2775d6230 (md: Avoid deadlock in raid5_alloc_percpu) only partially\nfixed the deadlock involving CPU hotplug notifiers. In particular, it fixed\nthe deadlock possibility in register_cpu_notifier(), but left the deadlock\nin unregister_cpu_notifier() unfixed. So revert this commit so that we can\nfix both the deadlocks properly, using the solution that was accepted\nupstream.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9466852d027bca067746207aca410ef4b0c0725b",
      "tree": "e503b509cc8332f2ce6c05c03f6110c0156a4d5e",
      "parents": [
        "b5942ea1135c22174455ac433304db1d32c2d75d"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Apr 02 15:32:04 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Thu Apr 03 10:36:58 2014 +0800"
      },
      "message": "KVM: PPC: VFIO: Fix compile error introduced by a typo\n\nkvm_vfio_spapr_tce_release was spelled as ikvm_vfio_ispapr_tce_release\nwhich caused compilation to break in case of CONFIG_KVM_VFIO\u003dn. Fix it.\n\nCc: Alexey Kardashevskiy \u003caik@ozlabs.ru\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b5942ea1135c22174455ac433304db1d32c2d75d",
      "tree": "c5fa9516006cfa8d2ae906488e80a575e92cb55c",
      "parents": [
        "c6c8b0afa84e0aa6cdfd88c8bcf10549e4b4d848"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Apr 02 18:26:37 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Apr 02 15:49:28 2014 +0800"
      },
      "message": "KVM: PPC: Book3S HV: Fix check for running inside guest in global_invalidates()\n\nThe global_invalidates() function contains a check that is intended\nto tell whether we are currently executing in the context of a hypercall\nissued by the guest.  The reason is that the optimization of using a\nlocal TLB invalidate instruction is only valid in that context.  The\ncheck was testing local_paca-\u003ekvm_hstate.kvm_vcore, which gets set\nwhen entering the guest but no longer gets cleared when exiting the\nguest.  To fix this, we use the kvm_vcpu field instead, which does\nget cleared when exiting the guest, by the kvmppc_release_hwthread()\ncalls inside kvmppc_run_core().\n\nThe effect of having the check wrong was that when kvmppc_do_h_remove()\ngot called from htab_write() on the destination machine during a\nmigration, it cleared the current cpu\u0027s bit in kvm-\u003earch.need_tlb_flush.\nThis meant that when the guest started running in the destination VM,\nit may miss out on doing a complete TLB flush, and therefore may end\nup using stale TLB entries from a previous guest that used the same\nLPID value.\n\nThis should make migration more reliable.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "c6c8b0afa84e0aa6cdfd88c8bcf10549e4b4d848",
      "tree": "6e49e32c592aa2db644699b2b80524b69391c903",
      "parents": [
        "4042aeb691e65581e20f985e8d687070976ae63b"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Wed Apr 02 16:38:14 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Apr 02 14:38:36 2014 +0800"
      },
      "message": "powerpc/powernv: Remove unused debugfs OPAL log interface\n\nThe OPAL log is now accessed through sysfs at /sys/firmware/opal/msglog,\nso remove the old and buggy debugfs file.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\n"
    },
    {
      "commit": "4042aeb691e65581e20f985e8d687070976ae63b",
      "tree": "49d6e8df8d177230ecb58942d9940825c95e3688",
      "parents": [
        "7f2cc2ee99d283c187fca23b9b7e390e765868b1"
      ],
      "author": {
        "name": "Gautham R. Shenoy",
        "email": "ego@linux.vnet.ibm.com",
        "time": "Tue Apr 01 13:28:03 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 01 16:10:30 2014 +0800"
      },
      "message": "powernv, cpufreq: Export nominal frequency via sysfs.\n\nCreate a driver attribute named \"cpuinfo_nominal_freq\" which will in\nturn create a read-only sysfs interface that will be used to export\nthe nominal frequency to the userspace. This will be necessary for\ncreating an optimal \"performance\" policy which should be running the\non-demand governor with \"scaling_max_freq\" to be set to the value\nexported via \"cpuinfo_max_freq\" and \"scaling_min_freq\" to be set to\nthe nominal frequency exported via \"cpuinfo_nominal_freq\".\n\nThe patch caches the values of max, min, nominal pstate ids and\nnr_pstates queried from the DT during the initialization of the driver\nso that they can be used in other places in the driver for\nvalidatation.\n\nAlso, it adds a helper method that returns the frequency corresponding to\na pstate id.\n\nThis has been backported from the version posted against mainline\nwhich can be found here:\nhttps://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg76990.html\n\nReviewed-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R. Shenoy \u003cego@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7f2cc2ee99d283c187fca23b9b7e390e765868b1",
      "tree": "58e163b23c52e5229566780454ef10ace61e8ef5",
      "parents": [
        "6c45251bf7b23b187e58f5f8fc271606d46fb463"
      ],
      "author": {
        "name": "Preeti U Murthy",
        "email": "preeti@linux.vnet.ibm.com",
        "time": "Fri Mar 28 12:38:54 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 01 14:45:08 2014 +0800"
      },
      "message": "cpuidle:Remove the debug messages printed on exit from idle state\n\nWe had added the debug prints to confirm the idle state exit\nby the cpus. This was mainly to test if fast sleep was working\nfine. Now that we are confident about its functioning we\ncan get rid of these prints.\n\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6c45251bf7b23b187e58f5f8fc271606d46fb463",
      "tree": "fdf75bede72c8163a8d24a926685e19b9b8dadf0",
      "parents": [
        "19da3e46931fa15713c0503720f567c2b8d8ff2b"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Tue Apr 01 17:04:43 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Apr 01 14:30:36 2014 +0800"
      },
      "message": "powerpc/powernv: OPAL message log interface rework\n\nThis reworks the opal message log following upstream review.  A bug was\nfixed where wrapped logs were not read correctly, and locking was added\nto reduce the impact of races between reading counters and the buffer\ncontents.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "19da3e46931fa15713c0503720f567c2b8d8ff2b",
      "tree": "b592ed65eb1dff582e677f737ff2a93cb5f2121e",
      "parents": [
        "f2043fc9c0847bf8c70892c48c5b70b2b6743a67"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Wed Mar 26 12:37:47 2014 +0530"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 13:50:57 2014 +0800"
      },
      "message": "sched/autogroup: Fix race with task_groups list\n\nIn autogroup_create(), a tg is allocated and added to the task_groups\nlist. If CONFIG_RT_GROUP_SCHED is set, this tg is then modified while on\nthe list, without locking. This can race with someone walking the list,\nlike __enable_runtime() during CPU unplug, and result in a use-after-free\nbug.\n\nTo fix this, move sched_online_group(), which adds the tg to the list,\nto the end of the autogroup_create() function after the modification.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1369411669-46971-2-git-send-email-gerald.schaefer@de.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Preeti U Murthy \u003cpreeti@linux.vnet.ibm.com\u003e\n(cherry picked from commit 41261b6a832ea0e788627f6a8707854423f9ff49)\n"
    },
    {
      "commit": "f2043fc9c0847bf8c70892c48c5b70b2b6743a67",
      "tree": "badfb25a15fe1c06d7aab887363ca5022dd1ce6c",
      "parents": [
        "dfb70cdcb7d6a8fee3bb66ea3ac76a3557842e28"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:42 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:43 2014 +0800"
      },
      "message": "tty/hvc_opal: Kick the HVC thread on OPAL console events\n\nThe firmware can notify us when new input data is available, so\nlet\u0027s make sure we wakeup the HVC thread in that case.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "dfb70cdcb7d6a8fee3bb66ea3ac76a3557842e28",
      "tree": "25b1fbf4ddbf312db11522fa423c6500af06894a",
      "parents": [
        "c7062d83fe7b9beaf4e848a2c92321f462ab54ae"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:41 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:43 2014 +0800"
      },
      "message": "powerpc/powernv: Add opal_notifier_unregister() and export to modules\n\nopal_notifier_register() is missing a pending \"unregister\" variant\nand should be exposed to modules.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c7062d83fe7b9beaf4e848a2c92321f462ab54ae",
      "tree": "67ad6c88ca0b349958aafcad4f01f7be9da3a63c",
      "parents": [
        "4d2c729771c7758335700a7c244314d8a50fa4cd"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:40 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:42 2014 +0800"
      },
      "message": "powerpc/ppc64: Do not turn AIL (reloc-on interrupts) too early\n\nTurn them on at the same time as we allow MSR_IR/DR in the paca\nkernel MSR, ie, after the MMU has been setup enough to be able\nto handle relocated access to the linear mapping.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4d2c729771c7758335700a7c244314d8a50fa4cd",
      "tree": "3902f30190d164f86d111446508cab601f7036de",
      "parents": [
        "2fadb5567f4bd6baefe229b3894e006a8a03bca7"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:39 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:42 2014 +0800"
      },
      "message": "powerpc/ppc64: Gracefully handle early interrupts\n\nIf we take an interrupt such as a trap caused by a BUG_ON before the\nMMU has been setup, the interrupt handlers try to enable virutal mode\nand cause a recursive crash, making the original problem very hard\nto debug.\n\nThis fixes it by adjusting the \"kernel_msr\" value in the PACA so that\nit only has MSR_IR and MSR_DR (translation for instruction and data)\nset after the MMU has been initialized for the processor.\n\nWe may still not have a console yet but at least we don\u0027t get into\na recursive fault (and early debug console or memory dump via JTAG\nof the kernel buffer *will* give us the proper error).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "2fadb5567f4bd6baefe229b3894e006a8a03bca7",
      "tree": "588f5ec35d90983de150bc45c8e182da3390035c",
      "parents": [
        "d40e89ae8fc0f539f074e20bdf529650d715dc51"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Sat Mar 29 08:38:38 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:42 2014 +0800"
      },
      "message": "powerpc/powernv: Add invalid OPAL call\n\nThis call will not be understood by OPAL, and cause it to add an error\nto it\u0027s log. Among other things, this is useful for testing the\nbehaviour of the log as it fills up.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d40e89ae8fc0f539f074e20bdf529650d715dc51",
      "tree": "86747bfc0342a0de55227a91cf2734e44351145c",
      "parents": [
        "6679ffd7d85fe8155172774d0ba3370be5e82d1d"
      ],
      "author": {
        "name": "Joel Stanley",
        "email": "joel@jms.id.au",
        "time": "Sat Mar 29 08:38:37 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:41 2014 +0800"
      },
      "message": "powerpc/powernv: Add OPAL message log interface\n\nOPAL provides an in-memory circular buffer containing a message log\npopulated with various runtime messages produced by the firmware.\n\nProvide a sysfs interface /sys/firmware/opal/messages for userspace to\nview the messages.\n\nSigned-off-by: Joel Stanley \u003cjoel@jms.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6679ffd7d85fe8155172774d0ba3370be5e82d1d",
      "tree": "0201943924a57a2d121287768b6123fb15a744f5",
      "parents": [
        "e21380ef4b2a9b0575a964f22b861d6c6eda588a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:36 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:41 2014 +0800"
      },
      "message": "powerpc/serial: Use saner flags when creating legacy ports\n\nWe had a mix \u0026 match of flags used when creating legacy ports\ndepending on where we found them in the device-tree. Among others\nwe were missing UPF_SKIP_TEST for some kind of ISA ports which is\na problem as quite a few UARTs out there don\u0027t support the loopback\ntest (such as a lot of BMCs).\n\nLet\u0027s pick the set of flags used by the SoC code and generalize it\nwhich means autoconf, no loopback test, irq maybe shared and fixed\nport.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e21380ef4b2a9b0575a964f22b861d6c6eda588a",
      "tree": "234ebf03c6760f76fd4097470dd8bc48f89fec02",
      "parents": [
        "0da78b73bb245274703585c1bd0a79989e71744a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:35 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:41 2014 +0800"
      },
      "message": "powerpc/ppc64: Print CPU/MMU/FW features at boot\n\nHelps debug funky firmware issues\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "0da78b73bb245274703585c1bd0a79989e71744a",
      "tree": "add5443878a3c5f6f547fda48d0a05017e23808f",
      "parents": [
        "e035063a1a6e8fbfa17ae024a807ebc753fd0289"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sat Mar 29 08:38:34 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Mon Mar 31 11:16:40 2014 +0800"
      },
      "message": "powerpc/mm: Fix page size passed to tlbie\n\nCommit b1022fbd293564de91596b8775340cf41ad5214c and subsequent ones\n(in 3.10) introduced some preparatory changes for THP which consist\nof trying to read the actual HPTE page size from the hash table to\nperform the right variant of tlbie. However this has two issues:\n\n   - The hash entry can have been evicted and replaced by another\none with a different page size. This can in turn cause us to use\nan impossible combination of psize and actual_psize, in turn\ncausing tlbie to be called with an invalid LP bit combination\ncausing a HW checkstop\n\n   - The whole business is unnecessary as in 3.10 we don\u0027t have THP\nand thus always have psize \u003d\u003d actual_psize\n\nWhen THP was actual enabled in 3.11, we discovered that this wasn\u0027t\ngoing to work and changed the code significantly to pass the proper\nactual_psize from the upper layers rather than tyring to deduce it\nfrom the HPTE.\n\nHowever, we didn\u0027t \"fix\" 3.10 as we didn\u0027t realize that the bug\nintroduced an exposure without THP being enabled.\n\nIf a user page was hashed as a 64k page, and later got evicted from\nthe hash and replaced with a 4k hash entry (due to a segment being\ndemoted to 4k, for example by subpage protection or because it\u0027s\nan IO page), we could get into a situation where we tried to\ndo a tlbie with a psize of 64k and actual_psize of 4k which is\ndeadly.\n\nThis is a 3.10-only fix for this situation which essentially removes\nthe actual_psize business from the normal updatepp and invalidate\npath in hash_native_64.c since we know on 3.10 that the psize coming\nfrom the upper levels is always correct (no THP).\n\nAs such it\u0027s a partial revert of b1022fbd293564de91596b8775340cf41ad5214c\n(we don\u0027t touch the bolted path etc... those should be fine and we\nwant to minimize churn).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e035063a1a6e8fbfa17ae024a807ebc753fd0289",
      "tree": "0739017146e909847937793d6df33c3c72f97a4e",
      "parents": [
        "ae648279e90dc555683394514b4ce13c257db7f5"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Mar 19 14:34:21 2014 -0300"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 25 17:00:53 2014 +0800"
      },
      "message": "drm/radeon: remove generic rptr/wptr functions (v2)\n\nFill in asic family specific versions rather than\nusing the generic version.  This lets us handle asic\nspecific differences more easily.  In this case, we\ndisable sw swapping of the rtpr writeback value on\nr6xx+ since the hw does it for us.  Fixes bogus\nrptr readback on BE systems.\n\nv2: remove missed cpu_to_le32(), add comments\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n(backported from commit ea31bf697d27270188a93cd78cf9de4bc968aca3)\n\nSigned-off-by: Kleber Sacilotto de Souza \u003cklebers@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #99530\n"
    },
    {
      "commit": "ae648279e90dc555683394514b4ce13c257db7f5",
      "tree": "c10bc1365e403443523a9b51a514038c54a78b63",
      "parents": [
        "c4071924107e1eac14da825f58984f51dda3ec07"
      ],
      "author": {
        "name": "Christian König",
        "email": "christian.koenig@amd.com",
        "time": "Wed Mar 19 14:34:20 2014 -0300"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 25 17:00:52 2014 +0800"
      },
      "message": "drm/radeon: remove special handling for the DMA ring\n\nNow that we have callbacks for [rw]ptr handling we can\nremove the special handling for the DMA rings and use\nthe callbacks instead.\n\nSigned-off-by: Christian König \u003cchristian.koenig@amd.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n(backported from commit 2e1e6dad6a6d437e4c40611fdcc4e6cd9e2f969e)\n\nSigned-off-by: Kleber Sacilotto de Souza \u003cklebers@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #99530\n"
    },
    {
      "commit": "c4071924107e1eac14da825f58984f51dda3ec07",
      "tree": "79277716a1af087700dd37eac88c9e1112b734e9",
      "parents": [
        "eaf2b79e10c5e16a6e58ac5db6e43f732d5d50bd"
      ],
      "author": {
        "name": "Christian König",
        "email": "christian.koenig@amd.com",
        "time": "Wed Mar 19 14:34:19 2014 -0300"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 25 17:00:52 2014 +0800"
      },
      "message": "drm/radeon: rework UVD writeback \u0026 [rw]ptr handling\n\nThe hardware just doesn\u0027t support this correctly.\nDisable it before we accidentally write anywhere we shouldn\u0027t.\n\nSigned-off-by: Christian König \u003cchristian.koenig@amd.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n(backported from commit 02c9f7fa4e7230fc4ae8bf26f64e45aa76011f9c)\n\nSigned-off-by: Kleber Sacilotto de Souza \u003cklebers@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #99530\n"
    },
    {
      "commit": "eaf2b79e10c5e16a6e58ac5db6e43f732d5d50bd",
      "tree": "fbba9b7de676da779d3a15e86956d041eb1b7a9a",
      "parents": [
        "4f09519c596a3b1097f7d945c59746c17b6454e3"
      ],
      "author": {
        "name": "Christian König",
        "email": "christian.koenig@amd.com",
        "time": "Wed Mar 19 14:34:18 2014 -0300"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 25 17:00:51 2014 +0800"
      },
      "message": "drm/radeon: rework ring function handling\n\nGive the ring functions a separate structure and let the asic\nstructure point to the ring specific functions. This simplifies\nthe code and allows us to make changes at only one point.\n\nNo change in functionality.\n\nSigned-off-by: Christian König \u003cchristian.koenig@amd.com\u003e\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n(backported from commit 76a0df859defc53e6cb61f698a48ac7da92c8d84)\n\nSigned-off-by: Kleber Sacilotto de Souza \u003cklebers@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #99530\n"
    },
    {
      "commit": "4f09519c596a3b1097f7d945c59746c17b6454e3",
      "tree": "37c88223613e6c563f2934bb296ba780f58cad94",
      "parents": [
        "4937819ed610e6ca64338e4bbcb552d213c0ee0f"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Wed Mar 19 14:34:17 2014 -0300"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 25 17:00:51 2014 +0800"
      },
      "message": "drm/radeon: use callbacks for ring pointer handling (v3)\n\nAdd callbacks to the radeon_asic struct to handle\nrptr/wptr fetchs and wptr updates.\nWe currently use one version for all rings, but this\nallows us to override with a ring specific versions.\n\nNeeded for compute rings on CIK.\n\nv2: udpate as per Christian\u0027s comments\nv3: fix some rebase cruft\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\n(cherry picked from commit f93bdefe6269067afc85688d45c646cde350e0d8)\n\nSigned-off-by: Kleber Sacilotto de Souza \u003cklebers@linux.vnet.ibm.com\u003e\nLTC-Bugzilla: #99530\n"
    },
    {
      "commit": "4937819ed610e6ca64338e4bbcb552d213c0ee0f",
      "tree": "60333347234020241ad53a5ba1cbfbdb22840fdc",
      "parents": [
        "7cc68e73086b2c4d65c9b45a8dc25bfcb47f68b2"
      ],
      "author": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:27:23 2014 +0800"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:27:23 2014 +0800"
      },
      "message": "conf: default IO scheduler is set to deadline\n\nSigned-off-by: Eli Qiao \u003ctaget@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7cc68e73086b2c4d65c9b45a8dc25bfcb47f68b2",
      "tree": "8702ee10302b6051779a405b93b05bd2651080a1",
      "parents": [
        "2e73930093bf4597e11e9ef40d3c41d65d9ed2b5"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:48:08 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:08 2014 +0800"
      },
      "message": "powerpc/book3s: Fix CFAR clobbering issue in machine check handler.\n\nWhile checking powersaving mode in machine check handler at 0x200, we\nclobber CFAR register. Fix it by saving and restoring it during beq/bgt.\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2e73930093bf4597e11e9ef40d3c41d65d9ed2b5",
      "tree": "aa80384fb9066ec7ef37e0fff45b28bb6a539974",
      "parents": [
        "ee428a2ac3592e73990ac69596f217427c77b91d"
      ],
      "author": {
        "name": "Liu Ping Fan",
        "email": "kernelfans@gmail.com",
        "time": "Tue Mar 18 17:10:05 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:07 2014 +0800"
      },
      "message": "powerpc/ftrace: bugfix for test_24bit_addr\n\nThe branch target should be the func addr, not the addr of func_descr_t.\nSo using ppc_function_entry() to generate the right target addr.\n\nSigned-off-by: Liu Ping Fan \u003cpingfank@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ee428a2ac3592e73990ac69596f217427c77b91d",
      "tree": "be8fe51d93768df0c449ec229571e6affc236330",
      "parents": [
        "ed5e5ff37b00e990b4dd92409524f71e4f728757"
      ],
      "author": {
        "name": "Neelesh Gupta",
        "email": "neelegup@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:45:46 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:05 2014 +0800"
      },
      "message": "hwsensors/ibmpowernv: Fix up sysfs file duplication\n\nFixing up the \u0027sysfs\u0027 file duplication by passing the initialized\nchar array to strncpy() function as the result is not %NUL-terminated\nif the source exceeds \u0027copy_length\u0027 bytes.\n\nSigned-off-by: Neelesh Gupta \u003cneelegup@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ed5e5ff37b00e990b4dd92409524f71e4f728757",
      "tree": "33012f1e5b6a534bbaadb7db2ca102fc227caaa6",
      "parents": [
        "c4db723991b5d4107ddfe037753298cada59c24a"
      ],
      "author": {
        "name": "wenxiong@vmlinux.vnet.ibm.com",
        "email": "wenxiong@vmlinux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:35 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:04 2014 +0800"
      },
      "message": "ipr: Add new CCIN definition for Grand Canyon support\n\nAdd the appropriate definition and table entry for new hardware support.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c4db723991b5d4107ddfe037753298cada59c24a",
      "tree": "f29eebc3dbf3b646eee460ec61e94f6c5cd9b14c",
      "parents": [
        "f70df1294e2d73bb83951d9b74e0a1f4e87deede"
      ],
      "author": {
        "name": "wenxiong@vmlinux.vnet.ibm.com",
        "email": "wenxiong@vmlinux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:34 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:04 2014 +0800"
      },
      "message": "ipr: Format HCAM overlay ID 0x21\n\nThis patch adds formatting error overlay 0x21 to improve debug capabilities.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f70df1294e2d73bb83951d9b74e0a1f4e87deede",
      "tree": "36c0358799ad82d12cc17e718ee09c20b31b7784",
      "parents": [
        "69f83985aec7993f9ad0964c529ef0cce7ba4c74"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Tue Mar 18 15:30:33 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:04 2014 +0800"
      },
      "message": "ipr: Get rid of superfluous call to pci_disbale_msi/msix()\n\nThere is no need to call pci_disable_msi() or pci_disable_msix()\nin case the call to pci_enable_msi() or pci_enable_msix() failed.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nAcked-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "69f83985aec7993f9ad0964c529ef0cce7ba4c74",
      "tree": "ceffdafa614255cb7eb5f862c9345772e951e420",
      "parents": [
        "c91ce24f85dbe348355156944ba4208b98c056fb"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:32 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:03 2014 +0800"
      },
      "message": "ipr: Handle early EEH\n\nIf, when the ipr driver loads, the adapter is in an EEH error state,\nit will currently oops and not be able to recover, as it attempts\nto access memory that has not yet been allocated. We\u0027ve seen this\noccur in some kexec scenarios. The following patch fixes the oops\nand also allows the driver to recover from these probe time EEH errors.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c91ce24f85dbe348355156944ba4208b98c056fb",
      "tree": "67e880a7b16fd1329c9c7bc9f612566540b11916",
      "parents": [
        "c6f4d8d1a52ee9163f47e2912a8d371d6a98669e"
      ],
      "author": {
        "name": "wenxiong@vmlinux.vnet.ibm.com",
        "email": "wenxiong@vmlinux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:31 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:03 2014 +0800"
      },
      "message": "ipr: Add new CCIN definition for new hardware support\n\nAdd the appropriate definition and table entry for new hardware support.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c6f4d8d1a52ee9163f47e2912a8d371d6a98669e",
      "tree": "00c0fa0cafce061677463e40f5ed5e7ee4f25977",
      "parents": [
        "ac167ed47d3d07959d49178b0c2bc5f152611edb"
      ],
      "author": {
        "name": "wenxiong@vmlinux.vnet.ibm.com",
        "email": "wenxiong@vmlinux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:30 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:03 2014 +0800"
      },
      "message": "ipr: Remove extended delay bit on GSCSI reads/writes ops\n\nThis patch removes extended delay bit on GSCSI reads/writes ops, the\nperformance will be significanly better.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ac167ed47d3d07959d49178b0c2bc5f152611edb",
      "tree": "4c07d4e0515a5e4833fd2ff26255d3f3e0a1c2ff",
      "parents": [
        "af34b58dd25876a880ea572bb2ab20ba1da68b52"
      ],
      "author": {
        "name": "wenxiong@linux.vnet.ibm.com",
        "email": "wenxiong@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:29 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:03 2014 +0800"
      },
      "message": "ipr: Increase msi-x interrupt vectors to 16\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nAcked-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "af34b58dd25876a880ea572bb2ab20ba1da68b52",
      "tree": "942d84006772dc0267f42d2c0afe54fbc791d942",
      "parents": [
        "58248e9ee5718a5bdab31425dcd729d098ef4d5f"
      ],
      "author": {
        "name": "wenxiong@linux.vnet.ibm.com",
        "email": "wenxiong@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:28 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:02 2014 +0800"
      },
      "message": "ipr: Add sereral new CCIN definitions for new adapters support\n\nAdd the appropriate definitions and table entries for new adapter support.\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "58248e9ee5718a5bdab31425dcd729d098ef4d5f",
      "tree": "a910a1a6ff3f28bf442da661c5a1f2dd9e69fa0f",
      "parents": [
        "6d08cb7dd46529a4943f19430540bef3c967c13f"
      ],
      "author": {
        "name": "wenxiong@linux.vnet.ibm.com",
        "email": "wenxiong@linux.vnet.ibm.com",
        "time": "Tue Mar 18 15:30:27 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:02 2014 +0800"
      },
      "message": "ipr: IOA Status Code(IOASC) update\n\nSigned-off-by: Wen Xiong \u003cwenxiong@linux.vnet.ibm.com\u003e\nAcked-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6d08cb7dd46529a4943f19430540bef3c967c13f",
      "tree": "c1f71a8d81747fec3771276e054822276b2d7a49",
      "parents": [
        "803b6820b0acf3c2d6b57273258a4135da506f56"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sergei.shtylyov@cogentembedded.com",
        "time": "Tue Mar 18 15:30:26 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Wed Mar 19 10:23:01 2014 +0800"
      },
      "message": "ipr: qc_fill_rtf() method should not store alternate status register\n\nThe \u0027ctl\u0027 field of  the \u0027struct ata_taskfile\u0027 is not really dual purpose, i.e.\nit is not intended  for storing the alternate status register (which is mapped\nat the same address in the legacy IDE controllers) in the qc_fill_rtf() method.\nNo other \u0027libata\u0027 driver except \u0027drivers/scsi/ipr.c\u0027 stores the alternate status\nregister\u0027s value in the \u0027ctl\u0027 field of \u0027qc-\u003eresult_tf\u0027, hence this driver should\nnot do this as well...\n\nSigned-off-by: Sergei Shtylyov \u003csergei.shtylyov@cogentembedded.com\u003e\nAcked-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "803b6820b0acf3c2d6b57273258a4135da506f56",
      "tree": "c4cc299683fa2fe0b6b5340c3cce33401e6ed70b",
      "parents": [
        "4acca13bbe2438323d962bd96cb81432580bef32"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 17 20:48:27 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 18 10:23:12 2014 +0800"
      },
      "message": "KVM: PPC: Book3S HV: Save/restore host PMU registers that are new in POWER8\n\nCurrently we save the host PMU configuration, counter values, etc.,\nwhen entering a guest, and restore it on return from the guest.\n(We have to do this because the guest has control of the PMU while\nit is executing.)  However, we missed saving/restoring the SIAR and\nSDAR registers, as well as the registers which are new on POWER8,\nnamely SIER and MMCR2.\n\nThis adds code to save the values of these registers when entering\nthe guest and restore them on exit.  This also works around the bug\nwhere setting PMAE with a counter already negative doesn\u0027t generate\nan interrupt.  This was already worked around for the guest PMU state\nin an earlier commit, and is worked around for the host PMU state here.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "4acca13bbe2438323d962bd96cb81432580bef32",
      "tree": "ed77446e4d34272312ee0d41f4e8930ef0757853",
      "parents": [
        "86732699d4a1eb69370bf481e40cecf83c299250"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 17 20:48:26 2014 +1100"
      },
      "committer": {
        "name": "Eli Qiao",
        "email": "taget@linux.vnet.ibm.com",
        "time": "Tue Mar 18 10:23:11 2014 +0800"
      },
      "message": "KVM: PPC: Book3S HV: Work around POWER8 performance monitor bugs\n\nThis adds workarounds for two hardware bugs in the POWER8 performance\nmonitor unit (PMU), both related to interrupt generation.  The effect\nof these bugs is that PMU interrupts can get lost, leading to tools\nsuch as perf reporting fewer counts and samples than they should.\n\nThe first bug relates to the PMAO (perf. mon. alert occurred) bit in\nMMCR0; setting it should cause an interrupt, but doesn\u0027t.  The other\nbug relates to the PMAE (perf. mon. alert enable) bit in MMCR0.\nSetting PMAE when a counter is negative and counter negative\nconditions are enabled to cause alerts should cause an alert, but\ndoesn\u0027t.\n\nThe workaround for the first bug is to create conditions where a\ncounter will overflow, whenever we are about to restore a MMCR0\nvalue that has PMAO set (and PMAO_SYNC clear).  The workaround for\nthe second bug is to freeze all counters using MMCR2 before reading\nMMCR0.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    }
  ],
  "next": "86732699d4a1eb69370bf481e40cecf83c299250"
}
