1. 07 Jun, 2015 3 commits
    • Anshuman Khandual's avatar
      powerpc: Fix handling of DSCR related facility unavailable exception · c952c1c4
      Anshuman Khandual authored
      Currently DSCR (Data Stream Control Register) can be accessed with
      mfspr or mtspr instructions inside a thread via two different SPR
      numbers. One being the user accessible problem state SPR number 0x03
      and the other being the privilege state SPR number 0x11. All access
      through the privilege state SPR number get emulated through illegal
      instruction exception. Any access through the problem state SPR number
      raises one facility unavailable exception which sets the thread based
      dscr_inherit bit and enables DSCR facility through FSCR register thus
      allowing direct access to DSCR without going through this exception in
      the future. We set the thread.dscr_inherit bit whether the access was
      with mfspr or mtspr instruction which is neither correct nor does it
      match the behaviour through the instruction emulation code path driven
      from privilege state SPR number. User currently observes two different
      kind of behaviour when accessing the DSCR through these two SPR numbers.
      This problem can be observed through these two test cases by replacing
      the privilege state SPR number with the problem state SPR number.
      
      	(1) http://ozlabs.org/~anton/junkcode/dscr_default_test.c
      	(2) http://ozlabs.org/~anton/junkcode/dscr_explicit_test.c
      
      This patch fixes the problem by making sure that the behaviour visible
      to the user remains the same irrespective of which SPR number is being
      used. Inside facility unavailable exception, we check whether it was
      cuased by a mfspr or a mtspr isntrucction. In case of mfspr instruction,
      just emulate the instruction. In case of mtspr instruction, set the
      thread based dscr_inherit bit and also enable the facility through FSCR.
      All user SPR based mfspr instruction will be emulated till one user SPR
      based mtspr has been executed.
      Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      c952c1c4
    • Michael Neuling's avatar
      cxl: Reset default context for vPHB on release · f67b4938
      Michael Neuling authored
      When we release the device, we should also invalidate the default context.
      With this cxl_get_context() will return null after removal.
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      f67b4938
    • David Gibson's avatar
      powerpc/eeh: Fix trivial error in eeh_restore_dev_state() · 502f159c
      David Gibson authored
      Commit 28158cd1 "powerpc/eeh: Enhance pcibios_set_pcie_reset_state()"
      introduced a fix for a problem where certain configurations could lead to
      pci_reset_function() destroying the state of PCI devices other than the one
      specified.
      
      Unfortunately, the fix has a trivial bug - it calls pci_save_state() again,
      when it should be calling pci_restore_state().  This corrects the problem.
      
      Cc: Gavin Shan <gwshan@au1.ibm.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Acked-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      502f159c
  2. 04 Jun, 2015 5 commits
  3. 03 Jun, 2015 27 commits
  4. 02 Jun, 2015 5 commits