Permalink
Switch branches/tags
Nothing to show
Commits on Jan 25, 2013
Commits on Jan 12, 2013
  1. add debugging + bugfix

    Hashcode committed Jan 12, 2013
Commits on Nov 2, 2012
Commits on Oct 19, 2012
  1. kdump: pass acpi_rsdp= to 2nd kernel for efi booting

    daveyoung authored and horms committed Oct 18, 2012
    In case efi booting, kdump need kernel parameter acpi_rsdp= to retrieve
    the acpi root table physical address.
    
    Add a function cmdline_add_efi to get the address from /sys/firmware/efi/systab
    If there's no such file or read fail the function will just do nothing.
    
    Tested efi boot Fedora 17 on thinkpad T420.
    
    Some background info for this issue:
    http://lists.infradead.org/pipermail/kexec/2010-March/003889.html
    
    [v1 -> v2]:
    Address comments from Khalid and Simon
    use fgets instead of read(2) to iterate the file
    do not add 'noefi' because kexec does not construct EFI signature
    in bootloader signature in boot_params, so kexec'd kernel will
    disable EFI automatically even without noefi.
    
    Signed-off-by: Dave Young <dyoung@redhat.com>
    Reviewed-by: Khalid Aziz <khalid@gonehiking.org>
    Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Oct 11, 2012
  1. kexec: fix Makefile.in binaries_arch

    jones-tony authored and horms committed Oct 10, 2012
    Definitions of BINARIES_ARCH in Makefile.in seems to have been broken since commit 0775c60.
    
    Signed-off-by: Tony Jones <tonyj@suse.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Sep 18, 2012
  1. kexec: Define some constants and structures conditionally

    Daniel Kiper authored and horms committed Sep 10, 2012
    Some definitions in include/x86/x86-linux.h conflicts
    with definitions placed in Xen headers. Make them
    conditional. This patch is required by future
    Xen kdump fixes.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  2. xen: Fix Xen kdump support

    Daniel Kiper authored and horms committed Sep 10, 2012
    get_crash_memory_ranges() is unreliable under Xen. Proper machine
    memory map could be obtained under Xen by calling __HYPERVISOR_memory_op
    hypercall with XENMEM_machine_memory_map argument. get_crash_memory_ranges_xen()
    does that. It is implemented using ioctl() or libxenctrl interface.
    This solution is compatible with 3.x and 4.x Xen versions.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  3. kexec: Move crash memory ranges logging

    Daniel Kiper authored and horms committed Sep 10, 2012
    Move crash memory ranges logging from get_crash_memory_ranges()
    to load_crashdump_segments(). This solution will be used by
    fixed Xen kdump support, too.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  4. kexec: Get backup area start address and size directly from mem_range

    Daniel Kiper authored and horms committed Sep 10, 2012
    Get backup area start address and size directly from mem_range.
    Under Xen /proc/iomem contains invalid values.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  5. kexec: Add segregate_lowmem_region()

    Daniel Kiper authored and horms committed Sep 10, 2012
    Extract code segregating lowmem region and move it to new
    segregate_lowmem_region(). This function will be used by
    fixed Xen kdump support, too.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  6. kexec: Move crash kernel area placement and size detection to is_cras…

    Daniel Kiper authored and horms committed Sep 10, 2012
    …hkernel_mem_reserved()
    
    Move crash kernel area placement and size detection
    from get_crash_memory_ranges() to is_crashkernel_mem_reserved().
    Former one will not be used by fixed Xen kdump support.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  7. xen: Rename e820_to_kexec_type() to xen_e820_to_kexec_type() and expo…

    Daniel Kiper authored and horms committed Sep 10, 2012
    …rt it
    
    Rename e820_to_kexec_type() to xen_e820_to_kexec_type() and export it.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Sep 12, 2012
  1. ARM: Add device tree support to the ARM platform

    Matthew Leach authored and horms committed Sep 7, 2012
    To allow newer ARM platforms to use kexec, pass device tree
    information to the kernel during boot.
    
    By default the dtb is found from /proc/device-tree. A user can specify
    a dtb file or use legacy ATAGs
    
    Signed-off-by: Matthew Leach <matthew.leach@arm.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  2. arm: Make use of memory_ranges

    horms committed Sep 7, 2012
    Make use of struct memory_ranges and provide a global usablemem_rgns.
    This is in preparation for adding device tree support.
    
    Signed-off-by: Simon Horman <horms@verge.net.au>
  3. libfdt: Move from kexec/arch/ppc/libfdt/ to kexec/libfdt/

    horms committed Sep 7, 2012
    This is in preparation for using the code on ARM as well as PPC.
    
    Signed-off-by: Simon Horman <horms@verge.net.au>
  4. kexec-elf.h: Include headers for types used

    horms committed Sep 7, 2012
    Signed-off-by: Simon Horman <horms@verge.net.au>
  5. fs2dt: Add a generic copy of fs2dt

    horms committed Sep 7, 2012
    The motivation for this is to remove duplicated code by sharing the fs2dt
    between different architectures.
    
    The code added by this patch is very close to the code currently used by
    ppc64, and thus migrating that architecture should not be difficult.  The
    32bit powerpc code is a little different and thus more care is needed when
    migrating that architecture to this code.
    
    Unfortunately I do not have any powerpc equipment available to test this
    code.
    
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Sep 6, 2012
  1. kexec: Fix the purgatory Makefile to build arch specific purgatory code.

    maheshsal authored and horms committed Sep 6, 2012
    The latest commit 5e48916 has removed a line from purgatory/Makefile that was
    responsible for building arch specific purgatory code. This causes kexec -p
    (loading of panic kernel) to fail. This patch reverts the deleted line.
    
    Verified this fix on x86_64 and ppc64.
    
    Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Aug 2, 2012
  1. build: Avoid duplicate files in tarball

    horms committed Aug 2, 2012
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Aug 1, 2012
  1. vmcore-dmesg: vmcore-dmesg: Make it work with new structured logging …

    rhvgoyal authored and horms committed Jul 30, 2012
    …format
    
    Now kernel has made kernel logging structured and exsisting vmcore-dmesg
    does not work with this new format. Hence kernel version 3.5 is broken. In
    3.6 now a kernel patch has been put which exports relevant fields. This
    patch parses those fields and makes vmcore-dmesg work with new logging
    format.
    
    Currently it does not display log levels or dictionary. I personally think
    that log levels are not very useful and it also requires additional kernel
    patches so that log levels are not bitfields and relevant information is
    exported to user space properly.
    
    Concept of dictionary is new and relevant information is exported. One can
    possibly enahnce vmcore-dmesg to also print dictionary contents based on
    a user command line option.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jul 24, 2012
  1. vmcore-dmesg: Do not write beyond end of buffer

    rhvgoyal authored and horms committed Jul 18, 2012
    scan_vmcoreinfo() currently assumes that every vmcoreinfo note line ends
    with \n and overwrites new line with \0. But last entry in note, CRASHTIME=
    does not end with \n and this leads to corrupting memory as we write beyond
    end of buffer.
    
    Normally things were fine but when I added some fields to vmcoreinfo, this
    bug started showing and vmcore-dmesg started crashing.
    
    I am planning to send a patch to fix this in kernel but it might be good
    idea to handle this case in user space too so that vmcore-dmesg works
    fine with cores of older kernels.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jul 13, 2012
  1. kexec: simply pass LINUX_REBOOT_CMD_KEXEC to reboot

    brainflux authored and horms committed May 22, 2012
    While trying to port kexec cleanly to klibc,
    came across this syscall usage for reboot(2).
    Calling reboot directly simplifies the code.
    
    Signed-off-by: maximilian attems <max@stro.at>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  2. Do not reserve cpu spin-table for crash kernel

    Suzuki K. Poulose authored and horms committed May 24, 2012
    As of now, the kexec reserves the spin-table for all the CPUs
    on an SMP machine. The spin-table is pointed to by the
    cpu-release-addr property in the device-tree. Reserving the
    spin-table in the crash kernel will cause a BUG(), if the table
    lies outside the memory reserved for the crashkernel.
    
    Disable reserving the spin-table regions and use maxcpus=1 to
    use only the crashing CPU to boot the crash kernel.
    
    Signed-off-by: Suzuki K. Poulose <suzuki@in.ibm.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jul 6, 2012
  1. kexec-tools: Read always one vmcoreinfo file

    Daniel Kiper authored and horms committed Jul 5, 2012
    vmcoreinfo file could exists under /sys/kernel (valid on baremetal only)
    and/or under /sys/hypervisor (valid when Xen dom0 is running).
    Read only one of them. It means that only one PT_NOTE will be
    always created. Remove extra code for second PT_NOTE creation.
    
    Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jun 27, 2012
  1. Fix format strings of die()

    aleksey-makarov authored and horms committed Jun 26, 2012
    One of them caused crash when user specifies a file that does not
    exist.
    
    Signed-off-by: Aleksey Makarov <aleksey.makarov@gmail.com>
    
    Removed trailing whitespace.
    
    Signed-off-by: Simon Horman <horms@verge.net.au>
  2. Check format string of die()

    aleksey-makarov authored and horms committed Jun 26, 2012
    Use gcc's __attribute__ to check format string.
    
    Signed-off-by: Aleksey Makarov <aleksey.makarov@gmail.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jun 18, 2012
  1. Support kernel_noload uImage type

    Gnurou authored and horms committed Jun 16, 2012
    Do not trigger an error when loading a uImage with the
    IH_TYPE_KERNEL_NOLOAD type. These images do not need to be copied to
    their load address before being executed.
    
    All archs (excepted PPC) do not use the uImage load and entry point
    parameters, so their current behavior needs not be changed further than
    just accepting the image type.
    
    Tested and validated on ARM.
    
    Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jun 13, 2012
  1. Load bzImages smaller than 32 KiB

    ebiggers authored and horms committed Jun 5, 2012
    Allow bzImages smaller than 32KiB to be kexec'ed.
    
    The current code will fail to load a bzImage smaller than 32768 bytes (sizeof
    struct x86_linux_header), but the 'memdisk' program that comes with syslinux is
    only about 26 KiB.  This patch changes the minimum size to 1024 bytes (2
    sectors), which appears to be the limit that syslinux enforces.
    
    Removed the "tail" field of struct x86_linux_header because it doesn't seem to
    actually be used (is there a reason for it?).
    
    Also, note that bzImage_probe() was incorrectly using `sizeof (header)', even
    though header is a pointer.
    
    Signed-off-by: Eric Biggers <ebiggers3@gmail.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Jun 11, 2012
  1. ppc/ppc64: Compile purgatory code with gcc option -msoft-float

    rhvgoyal authored and horms committed Jun 8, 2012
    Recently we faced an issue on power7 machine where kernel hanged in purgatory.
    Some investigation revealed that gcc is generating hardware FPU instructions.
    I have been told we can't use it at this point of time and as kernel is
    compiled with -msoft-float for ppc/ppc64, so should be purgatory (as it runs
    inside kernel context).
    
    Thanks to Jakub Jelinek and Lingzhu Xiang for debugging and coming up with
    a fix for this issue.
    
    Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
    Tested-by: Lingzhu Xiang <lxiang@redhat.com>
    Tested-by: Suzuki K. Poulose <suzuki@in.ibm.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on May 18, 2012
  1. ppc: move DEBUG code to --debug

    congwang authored and horms committed May 14, 2012
    From: Cong Wang <xiyou.wangcong@gmail.com>
    V2: Fix a compile error
    
    Like commit 28d4ab5
    ("Add generic debug option"), this one moves code
    under #if DEBUG to --debug on ppc arch.
    
    Sorry that I still can't find a ppc32 machine to test this.
    
    Cc: Simon Horman <horms@verge.net.au>
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Apr 23, 2012
  1. Correct section number for shutdown and clarify what -e does in manpage

    Khalid Aziz authored and horms committed Apr 20, 2012
    Another patch that I have been carrying in debian kexec-tools package.
    It corrects the section number for shutdown in the man page. This
    patch also adds little more descriptive note for the -e option to
    clarify that this does not do an orderly shutdown.
    
    Please apply.
    
    Signed-off-by: Khalid Aziz <khalid.aziz@hp.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>
  2. kexec-tools: Fix CRC calculation for padded uImage

    helmut-jacob authored and horms committed Apr 20, 2012
    Instead of calulating the CRC on the whole file just calculate the CRC
    on the actual uImage length as given by the uImage header. This fixes
    loading padded uImages, for example from a mtd partition.
    
    Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Commits on Apr 16, 2012
  1. Add more debug infos when usable memory range changing

    Han Pingtian authored and horms committed Apr 13, 2012
    In the past, we did neglected some usable memory range
    changing infos. With those deubg code added, we can now
    catch them.
    
    Signed-off-by: Simon Horman <horms@verge.net.au>
Commits on Mar 28, 2012
  1. Add a descriptive error message for kexec load failure

    Khalid Aziz authored and horms committed Mar 28, 2012
    kexec-tools package for debian includes a patch that adds a more
    descriptive error message when someone tries to laod a crash kernel
    and didn't remember to boot up with crashkernel= parameter. This
    patch would be of general interest. This patch was originally written
    by Alastair McKinstry.
    
    Please apply.
    
    Signed-off-by: Khalid Aziz <khalid.aziz@hp.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>