1. 05 Sep, 2005 1 commit
    • Martin Schwidefsky's avatar
      [PATCH] s390: machine check handler bugs · ae6aa2ea
      Martin Schwidefsky authored
      
      
      The new machine check handler still has a few bugs.
      
      1) The system entry time has to be stored in the machine check handler,
      
      2) the machine check return psw may not be stored at the usual place
         because it might overwrite the return psw of the interrupted context,
      
      3) the return address for the call to s390_handle_mcck in the i/o interrupt
         handler is not correct,
      
      4) the system call cleanup has to take the different save area of the
         machine check handler into account,
      
      5) the machine check handler may not call UPDATE_VTIME before
         CREATE_STACK_FRAME, and
      
      6) the io leave path needs a critical section cleanup to make sure that the
         TIF_MCCK_PENDING bit is really checked before switching back to user space.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ae6aa2ea
  2. 29 Aug, 2005 1 commit
    • Steven Rostedt's avatar
      [PATCH] convert signal handling of NODEFER to act like other Unix boxes. · 69be8f18
      Steven Rostedt authored
      
      
      It has been reported that the way Linux handles NODEFER for signals is
      not consistent with the way other Unix boxes handle it.  I've written a
      program to test the behavior of how this flag affects signals and had
      several reports from people who ran this on various Unix boxes,
      confirming that Linux seems to be unique on the way this is handled.
      
      The way NODEFER affects signals on other Unix boxes is as follows:
      
      1) If NODEFER is set, other signals in sa_mask are still blocked.
      
      2) If NODEFER is set and the signal is in sa_mask, then the signal is
      still blocked. (Note: this is the behavior of all tested but Linux _and_
      NetBSD 2.0 *).
      
      The way NODEFER affects signals on Linux:
      
      1) If NODEFER is set, other signals are _not_ blocked regardless of
      sa_mask (Even NetBSD doesn't do this).
      
      2) If NODEFER is set and the signal is in sa_mask, then the signal being
      handled is not blocked.
      
      The patch converts signal handling in all current Linux architectures to
      the way most Unix boxes work.
      
      Unix boxes that were tested:  DU4, AIX 5.2, Irix 6.5, NetBSD 2.0, SFU
      3.5 on WinXP, AIX 5.3, Mac OSX, and of course Linux 2.6.13-rcX.
      
      * NetBSD was the only other Unix to behave like Linux on point #2. The
      main concern was brought up by point #1 which even NetBSD isn't like
      Linux.  So with this patch, we leave NetBSD as the lonely one that
      behaves differently here with #2.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      69be8f18
  3. 24 Aug, 2005 1 commit
  4. 02 Aug, 2005 2 commits
  5. 29 Jul, 2005 1 commit
  6. 27 Jul, 2005 4 commits
  7. 26 Jul, 2005 1 commit
  8. 13 Jul, 2005 1 commit
    • Martin Schwidefsky's avatar
      [PATCH] s390: fadvise hint values. · 068e1b94
      Martin Schwidefsky authored
      
      
      Add special case for the POSIX_FADV_DONTNEED and POSIX_FADV_NOREUSE hint
      values for s390-64.  The user space values in the s390-64 glibc headers for
      these two defines have always been 6 and 7 instead of 4 and 5.  All 64 bit
      applications therefore use the "wrong" values.  To get these applications
      working without recompiling the kernel needs to accept the "wrong" values.
      Since the values for s390-31 are 4 and 5 the compat wrapper for fadvise64
      and fadvise64_64 need to rewrite the values for 31 bit system calls.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      068e1b94
  9. 25 Jun, 2005 7 commits
    • Maneesh Soni's avatar
      [PATCH] kexec code cleanup · 72414d3f
      Maneesh Soni authored
      
      
      o Following patch provides purely cosmetic changes and corrects CodingStyle
        guide lines related certain issues like below in kexec related files
      
        o braces for one line "if" statements, "for" loops,
        o more than 80 column wide lines,
        o No space after "while", "for" and "switch" key words
      
      o Changes:
        o take-2: Removed the extra tab before "case" key words.
        o take-3: Put operator at the end of line and space before "*/"
      Signed-off-by: default avatarManeesh Soni <maneesh@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      72414d3f
    • Alexander Nyberg's avatar
      [PATCH] kdump: Use real pt_regs from exception · 6e274d14
      Alexander Nyberg authored
      
      
      Makes kexec_crashdump() take a pt_regs * as an argument.  This allows to
      get exact register state at the point of the crash.  If we come from direct
      panic assertion NULL will be passed and the current registers saved before
      crashdump.
      
      This hooks into two places:
      die(): check the conditions under which we will panic when calling
      do_exit and go there directly with the pt_regs that caused the fatal
      fault.
      
      die_nmi(): If we receive an NMI lockup while in the kernel use the
      pt_regs and go directly to crash_kexec(). We're probably nested up badly
      at this point so this might be the only chance to escape with proper
      information.
      Signed-off-by: default avatarAlexander Nyberg <alexn@telia.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6e274d14
    • Heiko Carstens's avatar
      [PATCH] kexec: s390 support · cf13f0ea
      Heiko Carstens authored
      
      
      Add kexec support for s390 architecture.
      
      From: Milton Miller <miltonm@bga.com>
      
      - Fix passing of first argument to relocate_kernel assembly.
      - Fix Kconfig description.
      - Remove wrong comment and comments that describe obvious things.
      - Allow only KEXEC_TYPE_DEFAULT as image type -> dump not supported.
      Acked-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cf13f0ea
    • Michael Holzheu's avatar
      [PATCH] s390: debug feature changes · 66a464db
      Michael Holzheu authored
      
      
      This patch changes the memory allocation method for the s390 debug feature.
      Trace buffers had been allocated using the get_free_pages() function before.
      Therefore it was not possible to get big memory areas in a running system due
      to memory fragmentation.  Now the trace buffers are subdivided into several
      subbuffers with pagesize.  Therefore it is now possible to allocate more
      memory for the trace buffers and more trace records can be written.
      
      In addition to that, dynamic specification of the size of the trace buffers is
      implemented.  It is now possible to change the size of a trace buffer using a
      new debugfs file instance.  When writing a number into this file, the trace
      buffer size is changed to 'number * pagesize'.
      
      In the past all the traces could be obtained from userspace by accessing files
      in the "proc" filesystem.  Now with debugfs we have a new filesystem which
      should be used for debugging purposes.  This patch moves the debug feature
      from procfs to debugfs.
      
      Since the interface of debug_register() changed, all device drivers, which use
      the debug feature had to be adjusted.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      66a464db
    • Christian Borntraeger's avatar
      [PATCH] s390: add vmcp interface · 6b979de3
      Christian Borntraeger authored
      
      
      Add interface to issue VM control program commands.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6b979de3
    • Heiko Carstens's avatar
      [PATCH] s390: improved machine check handling · 77fa2245
      Heiko Carstens authored
      
      
      Improved machine check handling.  Kernel is now able to receive machine checks
      while in kernel mode (system call, interrupt and program check handling).
      Also register validation is now performed.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      77fa2245
    • Zwane Mwaikambo's avatar
      [PATCH] i386 CPU hotplug · f3705136
      Zwane Mwaikambo authored
      
      
      (The i386 CPU hotplug patch provides infrastructure for some work which Pavel
      is doing as well as for ACPI S3 (suspend-to-RAM) work which Li Shaohua
      <shaohua.li@intel.com> is doing)
      
      The following provides i386 architecture support for safely unregistering and
      registering processors during runtime, updated for the current -mm tree.  In
      order to avoid dumping cpu hotplug code into kernel/irq/* i dropped the
      cpu_online check in do_IRQ() by modifying fixup_irqs().  The difference being
      that on cpu offline, fixup_irqs() is called before we clear the cpu from
      cpu_online_map and a long delay in order to ensure that we never have any
      queued external interrupts on the APICs.  There are additional changes to s390
      and ppc64 to account for this change.
      
      1) Add CONFIG_HOTPLUG_CPU
      2) disable local APIC timer on dead cpus.
      3) Disable preempt around irq balancing to prevent CPUs going down.
      4) Print irq stats for all possible cpus.
      5) Debugging check for interrupts on offline cpus.
      6) Hacky fixup_irqs() to redirect irqs when cpus go off/online.
      7) play_dead() for offline cpus to spin inside.
      8) Handle offline cpus set in flush_tlb_others().
      9) Grab lock earlier in smp_call_function() to prevent CPUs going down.
      10) Implement __cpu_disable() and __cpu_die().
      11) Enable local interrupts in cpu_enable() after fixup_irqs()
      12) Don't fiddle with NMI on dead cpu, but leave intact on other cpus.
      13) Program IRQ affinity whilst cpu is still in cpu_online_map on offline.
      Signed-off-by: default avatarZwane Mwaikambo <zwane@linuxpower.ca>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f3705136
  10. 23 Jun, 2005 1 commit
  11. 22 Jun, 2005 4 commits
  12. 05 Jun, 2005 2 commits
    • Bodo Stroesser's avatar
      [PATCH] s390: uml ptrace fixes · c5c3a6d8
      Bodo Stroesser authored
      
      
      To make UML build and run on s390, I needed to do these two little
      changes:
      
      1) UML includes some of the subarch's (s390) headers. I had to
         change one of them with the following one-liner, to make this
         compile. AFAICS, this change doesn't break compilation of s390
         itself.
      
      2) UML needs to intercept syscalls via ptrace to invalidate the syscall,
         read syscall's parameters and write the result with the result of
         UML's syscall processing. Also, UML needs to make sure, that the host
         does no syscall restart processing. On i386 for example, this can be
         done by writing -1 to orig_eax on the 2nd syscall interception
         (orig_eax is the syscall number, which after the interception is used
         as a "interrupt was a syscall" flag only.
         Unfortunately, s390 holds syscall number and syscall result in gpr2 and
         its "interrupt was a syscall" flag (trap) is unreachable via ptrace.
         So I changed the host to set trap to -1, if the syscall number is changed
         to an invalid value on the first syscall interception.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c5c3a6d8
    • Martin Schwidefsky's avatar
      [PATCH] s390: ptrace peek and poke · 778959db
      Martin Schwidefsky authored
      
      
      The special cases of peek and poke on acrs[15] and the fpc register are not
      handled correctly.  A poke on acrs[15] will clobber the 4 bytes after the
      access registers in the thread_info structure.  That happens to be the kernel
      stack pointer.  A poke on the fpc with an invalid value is not caught by the
      validity check.  On the next context switch the broken fpc value will cause a
      program check in the kernel.  Improving the checks in peek and poke fixes
      this.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      778959db
  13. 01 May, 2005 5 commits
  14. 29 Apr, 2005 1 commit
    • 's avatar
      [AUDIT] Don't allow ptrace to fool auditing, log arch of audited syscalls. · 2fd6f58b
      authored
      
      
      We were calling ptrace_notify() after auditing the syscall and arguments,
      but the debugger could have _changed_ them before the syscall was actually
      invoked. Reorder the calls to fix that.
      
      While we're touching ever call to audit_syscall_entry(), we also make it
      take an extra argument: the architecture of the syscall which was made,
      because some architectures allow more than one type of syscall.
      
      Also add an explicit success/failure flag to audit_syscall_exit(), for
      the benefit of architectures which return that in a condition register
      rather than only returning a single register.
      
      Change type of syscall return value to 'long' not 'int'.
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      2fd6f58b
  15. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4