Re: [PATCH v4 0/2] Add capability to dump fdt blob for arm64 platforms

2018-07-24 Thread AKASHI Takahiro
On Tue, Jul 24, 2018 at 08:31:54AM +0200, Simon Horman wrote: > On Tue, Jul 17, 2018 at 02:13:42AM +0530, Bhupesh Sharma wrote: > > Hi Akashi, > > > > On 07/09/2018 12:41 PM, AKASHI Takahiro wrote: > > > Bhupesh, Simon, > > > > > > #I'm afraid that I gonna rehash the old discussion. > > > > > >

non-elf multiboot image support on x86

2018-07-24 Thread cinap_lenrek
ok, this patch get me to load plan9 kernel. also adds acpi memory types to multiboot memory map instead of marking them as reserved. this is needed for the kernel to locate acpi tables in lack of a explicit rsd pointer. sorry, not attaching this as a file as the list appears to block my mails

Re: [PATCH v12 03/16] s390, kexec_file: drop arch_kexec_mem_walk()

2018-07-24 Thread Philipp Rudo
Hi AKASHI, the patch looks good to me. Reviewed-by: Philipp Rudo Thanks Philipp On Tue, 24 Jul 2018 15:57:46 +0900 AKASHI Takahiro wrote: > Since s390 already knows where to locate buffers, calling > arch_kexec_mem_walk() has no sense. So we can just drop it as kbuf->mem > indicates this

[PATCH v12 04/16] powerpc, kexec_file: factor out memblock-based arch_kexec_walk_mem()

2018-07-24 Thread AKASHI Takahiro
Memblock list is another source for usable system memory layout. So move powerpc's arch_kexec_walk_mem() to common code so that other memblock-based architectures, particularly arm64, can also utilise it. A moved function is now renamed to kexec_walk_memblock() and integrated into

[PATCH v12 09/16] arm64: enable KEXEC_FILE config

2018-07-24 Thread AKASHI Takahiro
Modify arm64/Kconfig to enable kexec_file_load support. Signed-off-by: AKASHI Takahiro Cc: Catalin Marinas Cc: Will Deacon Acked-by: James Morse --- arch/arm64/Kconfig | 9 + arch/arm64/kernel/Makefile | 3 ++- arch/arm64/kernel/machine_kexec_file.c

[PATCH v12 08/16] arm64: cpufeature: add MMFR0 helper functions

2018-07-24 Thread AKASHI Takahiro
Those helper functions for MMFR0 register will be used later by kexec_file loader. Signed-off-by: AKASHI Takahiro Cc: Catalin Marinas Cc: Will Deacon Reviewed-by: James Morse --- arch/arm64/include/asm/cpufeature.h | 48 + 1 file changed, 48 insertions(+) diff

[PATCH v12 14/16] include: pe.h: remove message[] from mz header definition

2018-07-24 Thread AKASHI Takahiro
message[] field won't be part of the definition of mz header. This change is crucial for enabling kexec_file_load on arm64 because arm64's "Image" binary, as in PE format, doesn't have any data for it and accordingly the following check in pefile_parse_binary() will fail: chkaddr(cursor,

[PATCH v12 05/16] kexec_file: kexec_walk_memblock() only walks a dedicated region at kdump

2018-07-24 Thread AKASHI Takahiro
In kdump case, there exists only one dedicated memblock region as usable memory (crashk_res). With this patch, kexec_walk_memblock() runs a given callback function on this region. Signed-off-by: AKASHI Takahiro Cc: Dave Young Cc: Vivek Goyal Cc: Baoquan He --- kernel/kexec_file.c | 3 +++ 1

[PATCH v12 10/16] arm64: kexec_file: load initrd and device-tree

2018-07-24 Thread AKASHI Takahiro
load_other_segments() is expected to allocate and place all the necessary memory segments other than kernel, including initrd and device-tree blob (and elf core header for crash). While most of the code was borrowed from kexec-tools' counterpart, users may not be allowed to specify dtb explicitly,

[PATCH v12 13/16] arm64: kexec_file: invoke the kernel without purgatory

2018-07-24 Thread AKASHI Takahiro
On arm64, purgatory would do almost nothing. So just invoke secondary kernel directly by jumping into its entry code. While, in this case, cpu_soft_restart() must be called with dtb address in the fifth argument, the behavior still stays compatible with kexec_load case as long as the argument is

[PATCH v12 15/16] arm64: kexec_file: add kernel signature verification support

2018-07-24 Thread AKASHI Takahiro
With this patch, kernel verification can be done without IMA security subsystem enabled. Turn on CONFIG_KEXEC_VERIFY_SIG instead. On x86, a signature is embedded into a PE file (Microsoft's format) header of binary. Since arm64's "Image" can also be seen as a PE file as far as CONFIG_EFI is

[PATCH v12 16/16] arm64: kexec_file: add kaslr support

2018-07-24 Thread AKASHI Takahiro
Adding "kaslr-seed" to dtb enables triggering kaslr, or kernel virtual address randomization, at secondary kernel boot. We always do this as it will have no harm on kaslr-incapable kernel. We don't have any "switch" to turn off this feature directly, but still can suppress it by passing "nokaslr"

[PATCH v12 12/16] arm64: kexec_file: add crash dump support

2018-07-24 Thread AKASHI Takahiro
Enabling crash dump (kdump) includes * prepare contents of ELF header of a core dump file, /proc/vmcore, using crash_prepare_elf64_headers(), and * add two device tree properties, "linux,usable-memory-range" and "linux,elfcorehdr", which represent respectively a memory range to be used by

[PATCH v12 11/16] arm64: kexec_file: allow for loading Image-format kernel

2018-07-24 Thread AKASHI Takahiro
This patch provides kexec_file_ops for "Image"-format kernel. In this implementation, a binary is always loaded with a fixed offset identified in text_offset field of its header. Regarding signature verification for trusted boot, this patch doesn't contains CONFIG_KEXEC_VERIFY_SIG support, which

[PATCH v12 07/16] arm64: add image head flag definitions

2018-07-24 Thread AKASHI Takahiro
Those image head's flags will be used later by kexec_file loader. Signed-off-by: AKASHI Takahiro Cc: Catalin Marinas Cc: Will Deacon Acked-by: James Morse --- arch/arm64/include/asm/boot.h | 15 +++ arch/arm64/kernel/head.S | 2 +- 2 files changed, 16 insertions(+), 1

[PATCH v12 06/16] of/fdt: add helper functions for handling properties

2018-07-24 Thread AKASHI Takahiro
These functions will be used later to handle kexec-specific properties in arm64's kexec_file implementation. Signed-off-by: AKASHI Takahiro Cc: Rob Herring Cc: Frank Rowand --- drivers/of/fdt.c | 62 -- include/linux/of_fdt.h | 10 +-- 2 files

[PATCH v12 03/16] s390, kexec_file: drop arch_kexec_mem_walk()

2018-07-24 Thread AKASHI Takahiro
Since s390 already knows where to locate buffers, calling arch_kexec_mem_walk() has no sense. So we can just drop it as kbuf->mem indicates this while all other architectures sets it to 0 initially. This change is a preparatory work for the next patch, where all the variant memory walks, either

[PATCH v12 02/16] kexec_file: make kexec_image_post_load_cleanup_default() global

2018-07-24 Thread AKASHI Takahiro
Change this function from static to global so that arm64 can implement its own arch_kimage_file_post_load_cleanup() later using kexec_image_post_load_cleanup_default(). Signed-off-by: AKASHI Takahiro Acked-by: Dave Young Cc: Vivek Goyal Cc: Baoquan He --- include/linux/kexec.h | 1 +

[PATCH v12 01/16] asm-generic: add kexec_file_load system call to unistd.h

2018-07-24 Thread AKASHI Takahiro
The initial user of this system call number is arm64. Signed-off-by: AKASHI Takahiro Acked-by: Arnd Bergmann --- include/uapi/asm-generic/unistd.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index

[PATCH v12 00/16] arm64: kexec: add kexec_file_load() support

2018-07-24 Thread AKASHI Takahiro
This is the twelfth round of implementing kexec_file_load() support on arm64.[1] (See "Changes" below) Most of the code is based on kexec-tools. This patch series enables us to * load the kernel by specifying its file descriptor, instead of user- filled buffer, at kexec_file_load() system

Re: [PATCH v4 0/2] Add capability to dump fdt blob for arm64 platforms

2018-07-24 Thread Simon Horman
On Tue, Jul 17, 2018 at 02:13:42AM +0530, Bhupesh Sharma wrote: > Hi Akashi, > > On 07/09/2018 12:41 PM, AKASHI Takahiro wrote: > > Bhupesh, Simon, > > > > #I'm afraid that I gonna rehash the old discussion. > > > > Looking into ppc's kexec-tools code, I found that ppc version of > > this tool

Re: kexec support for plan9 on x86

2018-07-24 Thread Simon Horman
On Sat, Jul 21, 2018 at 06:46:42PM +0200, cinap_len...@felloff.net wrote: > implemented support in kexec-tools to boot plan9 kernel last night > (see attachment). > > this is very basic support. it loads the kernel and provides it > a memory map (from info->memory_range) in its config area and