1. 23 11月, 2016 2 次提交
  2. 17 11月, 2016 4 次提交
  3. 15 11月, 2016 1 次提交
  4. 11 11月, 2016 6 次提交
  5. 08 11月, 2016 1 次提交
  6. 07 11月, 2016 2 次提交
  7. 01 11月, 2016 2 次提交
    • P
      s390: kernel: make lgr explicitly non-modular · 8ba8b05f
      Paul Gortmaker 提交于
      The Makefile currently controlling compilation of this code is obj-y
      meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      We replace module.h with init.h and export.h since the file does
      export some symbols.
      
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      8ba8b05f
    • P
      s390: hypfs: make inode explicitly non-modular · cee672e1
      Paul Gortmaker 提交于
      The Kconfig currently controlling compilation of this code is:
      
      arch/s390/Kconfig:config S390_HYPFS_FS
      arch/s390/Kconfig:      def_bool y
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      Also note that MODULE_ALIAS is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Build testing indicated the presence of module.h was masking an
      implicit include of kobject.h, hence the addition of that.
      
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      cee672e1
  8. 28 10月, 2016 4 次提交
  9. 24 10月, 2016 2 次提交
  10. 21 10月, 2016 1 次提交
    • C
      KVM: s390: reject invalid modes for runtime instrumentation · a5efb6b6
      Christian Borntraeger 提交于
      Usually a validity intercept is a programming error of the host
      because of invalid entries in the state description.
      We can get a validity intercept if the mode of the runtime
      instrumentation control block is wrong. As the host does not know
      which modes are valid, this can be used by userspace to trigger
      a WARN.
      Instead of printing a WARN let's return an error to userspace as
      this can only happen if userspace provides a malformed initial
      value (e.g. on migration). The kernel should never warn on bogus
      input. Instead let's log it into the s390 debug feature.
      
      While at it, let's return -EINVAL for all validity intercepts as
      this will trigger an error in QEMU like
      
      error: kvm run failed Invalid argument
      PSW=mask 0404c00180000000 addr 000000000063c226 cc 00
      R00=000000000000004f R01=0000000000000004 R02=0000000000760005 R03=000000007fe0a000
      R04=000000000064ba2a R05=000000049db73dd0 R06=000000000082c4b0 R07=0000000000000041
      R08=0000000000000002 R09=000003e0804042a8 R10=0000000496152c42 R11=000000007fe0afb0
      [...]
      
      This will avoid an endless loop of validity intercepts.
      
      Cc: stable@vger.kernel.org # v4.5+
      Fixes: c6e5f166 ("KVM: s390: implement the RI support of guest")
      Acked-by: NFan Zhang <zhangfan@linux.vnet.ibm.com>
      Reviewed-by: NPierre Morel <pmorel@linux.vnet.ibm.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      a5efb6b6
  11. 19 10月, 2016 1 次提交
  12. 17 10月, 2016 6 次提交
  13. 08 10月, 2016 5 次提交
  14. 28 9月, 2016 1 次提交
  15. 27 9月, 2016 1 次提交
  16. 22 9月, 2016 1 次提交
    • S
      s390/pci_dma: improve lazy flush for unmap · 13954fd6
      Sebastian Ott 提交于
      Lazy unmap (defer tlb flush after unmap until dma address reuse) can
      greatly reduce the number of RPCIT instructions in the best case. In
      reality we are often far away from the best case scenario because our
      implementation suffers from the following problem:
      
      To create dma addresses we maintain an iommu bitmap and a pointer into
      that bitmap to mark the start of the next search. That pointer moves from
      the start to the end of that bitmap and we issue a global tlb flush
      once that pointer wraps around. To prevent address reuse before we issue
      the tlb flush we even have to move the next pointer during unmaps - when
      clearing a bit > next. This could lead to a situation where we only use
      the rear part of that bitmap and issue more tlb flushes than expected.
      
      To fix this we no longer clear bits during unmap but maintain a 2nd
      bitmap which we use to mark addresses that can't be reused until we issue
      the global tlb flush after wrap around.
      Signed-off-by: NSebastian Ott <sebott@linux.vnet.ibm.com>
      Reviewed-by: NGerald Schaefer <gerald.schaefer@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      13954fd6