• AKASHI Takahiro's avatar
    arm64: kdump: provide /proc/vmcore file · e62aaeac
    AKASHI Takahiro authored
    Arch-specific functions are added to allow for implementing a crash dump
    file interface, /proc/vmcore, which can be viewed as a ELF file.
    
    A user space tool, like kexec-tools, is responsible for allocating
    a separate region for the core's ELF header within crash kdump kernel
    memory and filling it in when executing kexec_load().
    
    Then, its location will be advertised to crash dump kernel via a new
    device-tree property, "linux,elfcorehdr", and crash dump kernel preserves
    the region for later use with reserve_elfcorehdr() at boot time.
    
    On crash dump kernel, /proc/vmcore will access the primary kernel's memory
    with copy_oldmem_page(), which feeds the data page-by-page by ioremap'ing
    it since it does not reside in linear mapping on crash dump kernel.
    
    Meanwhile, elfcorehdr_read() is simple as the region is always mapped.
    Signed-off-by: default avatarAKASHI Takahiro <takahiro.akashi@linaro.org>
    Reviewed-by: default avatarJames Morse <james.morse@arm.com>
    Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    e62aaeac
init.c 19.2 KB