Skip to content
  1. Feb 22, 2019
  2. Feb 21, 2019
  3. Feb 20, 2019
    • Sebastian Ott's avatar
      s390/ism: ignore some errors during deregistration · 0ff06c44
      Sebastian Ott authored
      
      
      Prior to dma unmap/free operations the ism driver tries to ensure
      that the memory is no longer accessed by the HW. When errors
      during deregistration of memory regions from the HW occur the ism
      driver will not unmap/free this memory.
      
      When we receive notification from the hypervisor that a PCI function
      has been detached we can no longer access the device and would never
      unmap/free these memory regions which led to complaints by the DMA
      debug API.
      
      Treat this kind of errors during the deregistration of memory regions
      from the HW as success since it is already ensured that the memory
      is no longer accessed by HW.
      
      Reported-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Reported-by: default avatarHans Wippel <hwippel@linux.ibm.com>
      Signed-off-by: default avatarSebastian Ott <sebott@linux.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      0ff06c44
    • Martin Schwidefsky's avatar
      s390/setup: fix boot crash for machine without EDAT-1 · 86a86804
      Martin Schwidefsky authored
      
      
      The fix to make WARN work in the early boot code created a problem
      on older machines without EDAT-1. The setup_lowcore_dat_on function
      uses the pointer from lowcore_ptr[0] to set the DAT bit in the new
      PSWs. That does not work if the kernel page table is set up with
      4K pages as the prefix address maps to absolute zero.
      
      To make this work the PSWs need to be changed with via address 0 in
      form of the S390_lowcore definition.
      
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarCornelia Huck <cohuck@redhat.com>
      Fixes: 94f85ed3e2f8 ("s390/setup: fix early warning messages")
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      86a86804
    • Martin Schwidefsky's avatar
      s390/setup: fix early warning messages · 87276384
      Martin Schwidefsky authored
      
      
      The setup_lowcore() function creates a new prefix page for the boot CPU.
      The PSW mask for the system_call, external interrupt, i/o interrupt and
      the program check handler have the DAT bit set in this new prefix page.
      
      At the time setup_lowcore is called the system still runs without virtual
      address translation, the paging_init() function creates the kernel page
      table and loads the CR13 with the kernel ASCE.
      
      Any code between setup_lowcore() and the end of paging_init() that has
      a BUG or WARN statement will create a program check that can not be
      handled correctly as there is no kernel page table yet.
      
      To allow early WARN statements initially setup the lowcore with DAT off
      and set the DAT bit only after paging_init() has completed.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      87276384
    • Ilya Leoshkevich's avatar
      s390/jump_label: Use "jdd" constraint on gcc9 · 14644852
      Ilya Leoshkevich authored
      
      
      [heiko.carstens@de.ibm.com]:
      -----
      Laura Abbott reported that the kernel doesn't build anymore with gcc 9,
      due to the "X" constraint. Ilya provided the gcc 9 patch "S/390:
      Introduce jdd constraint" which introduces the new "jdd" constraint
      which fixes this.
      -----
      
      The support for section anchors on S/390 introduced in gcc9 has changed
      the behavior of "X" constraint, which can now produce register
      references. Since existing constraints, in particular, "i", do not fit
      the intended use case on S/390, the new machine-specific "jdd"
      constraint was introduced. This patch makes jump labels use "jdd"
      constraint when building with gcc9.
      
      Reported-by: default avatarLaura Abbott <labbott@redhat.com>
      Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      14644852
  4. Feb 13, 2019
    • Harald Freudenberger's avatar
      s390/zcrypt: use new state UNBOUND during queue driver rebind · b1af7528
      Harald Freudenberger authored
      
      
      When an alternate driver (vfio-ap) has bound an ap queue and this
      binding is revised the ap queue device is in an intermittent
      state not bound to any driver. The internal state variable
      covered this with the state AP_STATE_BORKED which is also used to
      reflect broken devices. When now an ap bus scan runs such a
      device is destroyed and on the next scan reconstructed.
      
      So a stress test with high frequency switching the queue driver
      between the default and the vfio-ap driver hit this gap and the
      queue was removed until the next ap bus scan. This fix now
      introduces another state for the in-between condition for a queue
      momentary not bound to a driver and so the ap bus scan function
      skips this device instead of removing it.
      
      Also some very slight but maybe helpful debug feature messages
      come with this patch - in particular a message showing that a
      broken card/queue device will get removed.
      
      Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
      Reviewed-by: default avatarIngo Franzki <ifranzki@linux.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      b1af7528
  5. Feb 07, 2019
  6. Feb 04, 2019
  7. Jan 28, 2019
  8. Jan 23, 2019
  9. Jan 18, 2019