Message ID | 20180623022058.10935-6-takahiro.akashi@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | arm64: kexec: add kexec_file_load() support | expand |
Hi Akashi, On 23/06/18 03:20, AKASHI Takahiro wrote: > Those image head's flags will be used later by kexec_file loader. > diff --git a/arch/arm64/include/asm/boot.h b/arch/arm64/include/asm/boot.h > index 355e552a9175..0bab7eed3012 100644 > --- a/arch/arm64/include/asm/boot.h > +++ b/arch/arm64/include/asm/boot.h > @@ -5,6 +5,21 @@ > > #include <asm/sizes.h> > > +#define ARM64_MAGIC "ARM\x64" > + > +#define HEAD_FLAG_BE_SHIFT 0 > +#define HEAD_FLAG_PAGE_SIZE_SHIFT 1 > +#define HEAD_FLAG_BE_MASK 0x1 > +#define HEAD_FLAG_PAGE_SIZE_MASK 0x3 > + > +#define HEAD_FLAG_BE 1 > +#define HEAD_FLAG_PAGE_SIZE_4K 1 > +#define HEAD_FLAG_PAGE_SIZE_16K 2 > +#define HEAD_FLAG_PAGE_SIZE_64K 3 These match the linker-script-header kernel/image.h. Generating one from the other is something we can do later. Acked-by: James Morse <james.morse@arm.com> Thanks, James
diff --git a/arch/arm64/include/asm/boot.h b/arch/arm64/include/asm/boot.h index 355e552a9175..0bab7eed3012 100644 --- a/arch/arm64/include/asm/boot.h +++ b/arch/arm64/include/asm/boot.h @@ -5,6 +5,21 @@ #include <asm/sizes.h> +#define ARM64_MAGIC "ARM\x64" + +#define HEAD_FLAG_BE_SHIFT 0 +#define HEAD_FLAG_PAGE_SIZE_SHIFT 1 +#define HEAD_FLAG_BE_MASK 0x1 +#define HEAD_FLAG_PAGE_SIZE_MASK 0x3 + +#define HEAD_FLAG_BE 1 +#define HEAD_FLAG_PAGE_SIZE_4K 1 +#define HEAD_FLAG_PAGE_SIZE_16K 2 +#define HEAD_FLAG_PAGE_SIZE_64K 3 + +#define head_flag_field(flags, field) \ + (((flags) >> field##_SHIFT) & field##_MASK) + /* * arm64 requires the DTB to be 8 byte aligned and * not exceed 2MB in size. diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index b0853069702f..8cbac6232ed1 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -91,7 +91,7 @@ _head: .quad 0 // reserved .quad 0 // reserved .quad 0 // reserved - .ascii "ARM\x64" // Magic number + .ascii ARM64_MAGIC // Magic number #ifdef CONFIG_EFI .long pe_header - _head // Offset to the PE header.
Those image head's flags will be used later by kexec_file loader. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> --- arch/arm64/include/asm/boot.h | 15 +++++++++++++++ arch/arm64/kernel/head.S | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) -- 2.17.0