1. 12 6月, 2017 1 次提交
  2. 02 3月, 2017 1 次提交
  3. 25 12月, 2016 1 次提交
  4. 20 9月, 2016 1 次提交
    • P
      s390: migrate exception table users off module.h and onto extable.h · dcc096c5
      Paul Gortmaker 提交于
      These files were only including module.h for exception table
      related functions.  We've now separated that content out into its
      own file "extable.h" so now move over to that and avoid all the
      extra header content in module.h that we don't really need to compile
      these files.
      
      The additions of uaccess.h are to deal with implict includes like:
      
      arch/s390/kernel/traps.c: In function 'do_report_trap':
      arch/s390/kernel/traps.c:56:4: error: implicit declaration of function 'extable_fixup' [-Werror=implicit-function-declaration]
      arch/s390/kernel/traps.c: In function 'illegal_op':
      arch/s390/kernel/traps.c:173:3: error: implicit declaration of function 'get_user' [-Werror=implicit-function-declaration]
      
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      dcc096c5
  5. 02 3月, 2016 1 次提交
  6. 19 1月, 2016 2 次提交
  7. 18 12月, 2015 1 次提交
  8. 16 10月, 2015 1 次提交
  9. 14 10月, 2015 1 次提交
  10. 03 8月, 2015 1 次提交
  11. 22 7月, 2015 3 次提交
    • H
      s390/kernel: lazy restore fpu registers · 9977e886
      Hendrik Brueckner 提交于
      Improve the save and restore behavior of FPU register contents to use the
      vector extension within the kernel.
      
      The kernel does not use floating-point or vector registers and, therefore,
      saving and restoring the FPU register contents are performed for handling
      signals or switching processes only.  To prepare for using vector
      instructions and vector registers within the kernel, enhance the save
      behavior and implement a lazy restore at return to user space from a
      system call or interrupt.
      
      To implement the lazy restore, the save_fpu_regs() sets a CPU information
      flag, CIF_FPU, to indicate that the FPU registers must be restored.
      Saving and setting CIF_FPU is performed in an atomic fashion to be
      interrupt-safe.  When the kernel wants to use the vector extension or
      wants to change the FPU register state for a task during signal handling,
      the save_fpu_regs() must be called first.  The CIF_FPU flag is also set at
      process switch.  At return to user space, the FPU state is restored.  In
      particular, the FPU state includes the floating-point or vector register
      contents, as well as, vector-enablement and floating-point control.  The
      FPU state restore and clearing CIF_FPU is also performed in an atomic
      fashion.
      
      For KVM, the restore of the FPU register state is performed when restoring
      the general-purpose guest registers before the SIE instructions is started.
      Because the path towards the SIE instruction is interruptible, the CIF_FPU
      flag must be checked again right before going into SIE.  If set, the guest
      registers must be reloaded again by re-entering the outer SIE loop.  This
      is the same behavior as if the SIE critical section is interrupted.
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      9977e886
    • H
      s390/kernel: dynamically allocate FP register save area · 155e839a
      Hendrik Brueckner 提交于
      Make the floating-point save area dynamically allocated and uses a flag
      to distinguish whether a task uses floating-point or vector registers.
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      155e839a
    • H
      s390/kernel: introduce fpu-internal.h with fpu helper functions · 904818e2
      Hendrik Brueckner 提交于
      Introduce a new structure to manage FP and VX registers. Refactor the
      save and restore of floating point and vector registers with a set
      of helper functions in fpu-internal.h.
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      904818e2
  12. 20 7月, 2015 1 次提交
  13. 25 3月, 2015 2 次提交
    • H
      s390/traps: panic() instead of die() on translation exception · e1d12d70
      Heiko Carstens 提交于
      In case of a translation exception the page tables are corrupted. If the
      exception handler then calls die() which again calls show_regs()
      -> show_code() -> copy_from_user(), the kernel may access the same memory
      location again and generates yet another translation exception. Which in turn
      will lead to a deadlock on the die_lock spinlock, which the kernel tries to
      grab recursively.
      
      Given that the page tables are corrupted anyway, if we see such an exception,
      let's simply panic.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      e1d12d70
    • H
      s390: remove 31 bit support · 5a79859a
      Heiko Carstens 提交于
      Remove the 31 bit support in order to reduce maintenance cost and
      effectively remove dead code. Since a couple of years there is no
      distribution left that comes with a 31 bit kernel.
      
      The 31 bit kernel also has been broken since more than a year before
      anybody noticed. In addition I added a removal warning to the kernel
      shown at ipl for 5 minutes: a960062e ("s390: add 31 bit warning
      message") which let everybody know about the plan to remove 31 bit
      code. We didn't get any response.
      
      Given that the last 31 bit only machine was introduced in 1999 let's
      remove the code.
      Anybody with 31 bit user space code can still use the compat mode.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      5a79859a
  14. 21 11月, 2014 2 次提交
  15. 27 10月, 2014 1 次提交
  16. 09 10月, 2014 1 次提交
    • M
      s390: add support for vector extension · 80703617
      Martin Schwidefsky 提交于
      The vector extension introduces 32 128-bit vector registers and a set of
      instruction to operate on the vector registers.
      
      The kernel can control the use of vector registers for the problem state
      program with a bit in control register 0. Once enabled for a process the
      kernel needs to retain the content of the vector registers on context
      switch. The signal frame is extended to include the vector registers.
      Two new register sets NT_S390_VXRS_LOW and NT_S390_VXRS_HIGH are added
      to the regset interface for the debugger and core dumps.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      80703617
  17. 25 9月, 2014 1 次提交
  18. 17 4月, 2013 1 次提交
    • H
      s390/dumpstack: fix call chain walking · 1bca09f7
      Heiko Carstens 提交于
      dumpstack() did not always print a sane callchain when being called.
      The reason is that show_trace() accessed register 15 directly to get
      the current stack pointer and passed that pointer to __show_trace()
      which expects a valid stack frame pointer as argument.
      However due to tail call optimization the stack frame may not exist
      anymore when __show_trace() gets called and therefore an invalid
      stack frame pointer gets passed.
      To prevent that disable tail call optimization for call chain walking
      functions.
      So move all the show_* functions to a dumpstack.c file like other
      architectures have it already and add a -fno-optimize-sibling-calls
      compile flag to both dumpstack.c and stacktrace.c to prevent tail
      call optimization.
      
      Fixes callchains that looked e.g. like this:
      
      [   12.868258] Call Trace:
      [   12.868262] ([<0000000000008000>] 0x8000)
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1bca09f7
  19. 21 1月, 2013 1 次提交
  20. 23 11月, 2012 1 次提交
  21. 26 9月, 2012 3 次提交
  22. 30 7月, 2012 1 次提交
  23. 20 7月, 2012 1 次提交
    • H
      s390/comments: unify copyright messages and remove file names · a53c8fab
      Heiko Carstens 提交于
      Remove the file name from the comment at top of many files. In most
      cases the file name was wrong anyway, so it's rather pointless.
      
      Also unify the IBM copyright statement. We did have a lot of sightly
      different statements and wanted to change them one after another
      whenever a file gets touched. However that never happened. Instead
      people start to take the old/"wrong" statements to use as a template
      for new files.
      So unify all of them in one go.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      a53c8fab
  24. 29 3月, 2012 1 次提交
  25. 11 3月, 2012 2 次提交
  26. 27 12月, 2011 2 次提交
  27. 30 10月, 2011 2 次提交
  28. 27 7月, 2011 1 次提交
  29. 24 7月, 2011 2 次提交