11 Jan, 2006

17 commits

  • The comment in compat.c is wrong, every architecture provides a
    get_compat_sigevent() for the IPC compat code already.

    This basically moves the x86_64 version to common code and removes all the
    others.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Mackerras
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Acked-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • The only own ioctl, TAPE390_DISPLAY, is compat_clean, everything else is
    routed through common translation code.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • These ioctls are definitely not compat clean, but we already have a proper
    handler in common code, over-riding it in architecture code is
    counter-productive.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Again easy because all ioctls are compat clean.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • I have heard some complaints about people not finding CONFIG_CRASH_DUMP
    option and also some objections about its dependency on CONFIG_EMBEDDED.
    The following patch ends that dependency. I thought of hiding it under
    CONFIG_KEXEC, but CONFIG_PHYSICAL_START could also be used for some reasons
    other than kexec/kdump and hence left it visible. I will also update the
    documentation accordingly.

    o Following patch removes the config dependency of CONFIG_PHYSICAL_START
    on CONFIG_EMBEDDED. The reason being CONFIG_CRASH_DUMP option for
    kdump needs CONFIG_PHYSICAL_START which makes CONFIG_CRASH_DUMP depend
    on CONFIG_EMBEDDED. It is not always obvious for kdump users to choose
    CONFIG_EMBEDDED.

    o It also shifts the palce where this option appears, to make it closer
    to kexec and kdump options.

    Signed-off-by: Maneesh Soni
    Cc: "Eric W. Biederman"
    Cc: Haren Myneni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maneesh Soni
     
  • - Moving the crash_dump.c file to arch dependent part as kmap_atomic_pfn is
    specific to i386 and highmem may not exist in other archs.

    - Use ioremap for x86_64 to map the previous kernel memory.

    - In copy_oldmem_page(), we now directly copy to the user/kernel buffer and
    avoid the unneccesary copy to a kmalloc'd page.

    Signed-off-by: Rachita Kothiyal
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - Saving the cpu registers of all cpus before booting in to the crash
    kernel.

    - crash_setup_regs will save the registers of the cpu on which panic has
    occured. One of the concerns ppc64 folks raised is that after capturing the
    register states, one should not pop the current call frame and push new one.
    Hence it has been inlined. More call frames later get pushed on to stack
    (machine_crash_shutdown() and machine_kexec()), but one will not want to
    backtrace those.

    - Not very sure about the CFI annotations. With this patch I am getting
    decent backtrace with gdb. Assuming, compiler has generated enough
    debugging information for crash_kexec(). Coding crash_setup_regs() in pure
    assembly makes it tricky because then it can not be inlined and we don't
    want to return back after capturing register states we don't want to pop
    this call frame.

    - Saving the non-panicing cpus registers will be done in the NMI handler
    while shooting down them in machine_crash_shutdown.

    - Introducing CRASH_DUMP option in Kconfig for x86_64.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    - Implementing the machine_crash_shutdown for x86_64 which will be called by
    crash_kexec (called in case of a panic, sysrq etc.). Here we do things
    similar to i386. Disable the interrupts, shootdown the cpus and shutdown
    LAPIC and IOAPIC.

    Changes in this version:

    - As the Eric's APIC initialization patches are reverted back, reintroducing
    LAPIC and IOAPIC shutdown.

    - Added some comments on CPU hotplug, modified code as suggested by Andi
    kleen.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • - elfcorehdr= specifies the location of elf core header stored by the
    crashed kernel. This command line option will be passed by the kexec-tools
    to capture kernel.

    Changes in this version :

    - Added more comments in kernel-parameters.txt and in code.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    - This patch introduces the memmap option for x86_64 similar to i386.

    - memmap=exactmap enables setting of an exact E820 memory map, as specified
    by the user.

    Changes in this version:

    - Used e820_end_of_ram() to find the max_pfn as suggested by Andi kleen.

    - removed PFN_UP & PFN_DOWN macros

    - Printing the user defined map also.

    Signed-off-by: Murali M Chakravarthy
    Signed-off-by: Hariprasad Nellitheertha
    Signed-off-by: Vivek Goyal
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • - If system panics then cpu register states are captured through funciton
    crash_get_current_regs(). This is not a inline function hence a stack frame
    is pushed on to the stack and then cpu register state is captured. Later
    this frame is popped and new frames are pushed (machine_kexec).

    - In theory this is not very right as we are capturing register states for a
    frame and that frame is no more valid. This seems to have created back
    trace problems for ppc64.

    - This patch fixes it up. The very first thing it does after entering
    crash_kexec() is to capture the register states. Anyway we don't want the
    back trace beyond crash_kexec(). crash_get_current_regs() has been made
    inline

    - crash_setup_regs() is the top architecture dependent function which should
    be responsible for capturing the register states as well as to do some
    architecture dependent tricks. For ex. fixing up ss and esp for i386.
    crash_setup_regs() has also been made inline to ensure no new call frame is
    pushed onto stack.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • - In case of system crash, current state of cpu registers is saved in memory
    in elf note format. So far memory for storing elf notes was being allocated
    statically for NR_CPUS.

    - This patch introduces dynamic allocation of memory for storing elf notes.
    It uses alloc_percpu() interface. This should lead to better memory usage.

    - Introduced based on Andi Kleen's and Eric W. Biederman's suggestions.

    - This patch also moves memory allocation for elf notes from architecture
    dependent portion to architecture independent portion. Now crash_notes is
    architecture independent. The whole idea is that size of memory to be
    allocated per cpu (MAX_NOTE_BYTES) can be architecture dependent and
    allocation of this memory can be architecture independent.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     
  • )

    From: Vivek Goyal

    This patch fixes a minor bug based on Andi Kleen's suggestion. asm's can't be
    broken in this particular case, hence merging them.

    Signed-off-by: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • )

    From: Adrian Bunk

    - create one common dump_thread() prototype in kernel.h

    - dump_thread() is only used in fs/binfmt_aout.c and can therefore be
    removed on all architectures where CONFIG_BINFMT_AOUT is not
    available

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • Especially useful when users have booted with 'quiet'. In the regular 'oops'
    path, we set the console_loglevel before we start spewing debug info, but we
    can call the backtrace code from other places now too, such as the spinlock
    debugging code.

    Signed-off-by: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • It seems the "make UID16 support optional" patch was checked when it
    edited the -tiny tree some time ago, but it wasn't checked whether it
    still matches the current situation when it was submitted for inclusion
    in -mm. This patch fixes the following bugs:
    - ARCH_S390X does no longer exist, nowadays this has to be expressed
    through (S390 && 64BIT)
    - in five architecture specific Kconfig files the UID16 options
    weren't removed

    Additionally, it changes the fragile negative dependencies of UID16 to
    positive dependencies (new architectures are more likely to not require
    UID16 support).

    Signed-off-by: Adrian Bunk
    Acked-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Cc: Eric Dumazet
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

10 Jan, 2006

23 commits