From: "Łukasz Stelmach" <l.stelmach@samsung.com> To: Russell King <linux@armlinux.org.uk>, Masahiro Yamada <masahiroy@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, Thomas Gleixner <tglx@linutronix.de>, Enrico Weigelt <info@metux.net>, Kees Cook <keescook@chromium.org>, Ingo Molnar <mingo@kernel.org>, Ben Dooks <ben-linux@fluff.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: "AKASHI Takahiro" <takahiro.akashi@linaro.org>, "Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>, "Marek Szyprowski" <m.szyprowski@samsung.com>, "Łukasz Stelmach" <l.stelmach@samsung.com> Subject: [PATCH v2 2/5] arm: add image header definitions Date: Tue, 2 Jun 2020 18:17:28 +0200 [thread overview] Message-ID: <20200602161731.23033-3-l.stelmach@samsung.com> (raw) In-Reply-To: <20200602161731.23033-1-l.stelmach@samsung.com> This structure will be used later by kexec_file loader. Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- arch/arm/boot/compressed/head.S | 3 +- arch/arm/boot/compressed/vmlinux.lds.S | 13 ++----- arch/arm/include/asm/image.h | 48 ++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 arch/arm/include/asm/image.h diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 55758264e776..005b172d504f 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -7,6 +7,7 @@ */ #include <linux/linkage.h> #include <asm/assembler.h> +#include <asm/image.h> #include <asm/v7m.h> #include "efi-header.S" @@ -211,7 +212,7 @@ start: .word _magic_start @ absolute load/run zImage address .word _magic_end @ zImage end address .word 0x04030201 @ endianness flag - .word 0x45454545 @ another magic number to indicate + .word ARM_ZIMAGE_MAGIC2 @ another magic number to indicate .word _magic_table @ additional data table __EFI_HEADER diff --git a/arch/arm/boot/compressed/vmlinux.lds.S b/arch/arm/boot/compressed/vmlinux.lds.S index f82b5962d97e..308e9cd6a897 100644 --- a/arch/arm/boot/compressed/vmlinux.lds.S +++ b/arch/arm/boot/compressed/vmlinux.lds.S @@ -3,14 +3,7 @@ * Copyright (C) 2000 Russell King */ -#ifdef CONFIG_CPU_ENDIAN_BE8 -#define ZIMAGE_MAGIC(x) ( (((x) >> 24) & 0x000000ff) | \ - (((x) >> 8) & 0x0000ff00) | \ - (((x) << 8) & 0x00ff0000) | \ - (((x) << 24) & 0xff000000) ) -#else -#define ZIMAGE_MAGIC(x) (x) -#endif +#include <asm/image.h> OUTPUT_ARCH(arm) ENTRY(_start) @@ -43,7 +36,7 @@ SECTIONS .table : ALIGN(4) { _table_start = .; LONG(ZIMAGE_MAGIC(4)) - LONG(ZIMAGE_MAGIC(0x5a534c4b)) + LONG(ARM_ZIMAGE_MAGIC3) LONG(ZIMAGE_MAGIC(__piggy_size_addr - _start)) LONG(ZIMAGE_MAGIC(_kernel_bss_size)) LONG(0) @@ -107,7 +100,7 @@ SECTIONS _edata_real = .; } - _magic_sig = ZIMAGE_MAGIC(0x016f2818); + _magic_sig = ARM_ZIMAGE_MAGIC1; _magic_start = ZIMAGE_MAGIC(_start); _magic_end = ZIMAGE_MAGIC(_edata); _magic_table = ZIMAGE_MAGIC(_table_start - _start); diff --git a/arch/arm/include/asm/image.h b/arch/arm/include/asm/image.h new file mode 100644 index 000000000000..d5c18a0f6a34 --- /dev/null +++ b/arch/arm/include/asm/image.h @@ -0,0 +1,48 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __ASM_IMAGE_H +#define __ASM_IMAGE_H + +#ifdef CONFIG_CPU_ENDIAN_BE8 +#define ZIMAGE_MAGIC(x) ((((x) >> 24) & 0x000000ff) | \ + (((x) >> 8) & 0x0000ff00) | \ + (((x) << 8) & 0x00ff0000) | \ + (((x) << 24) & 0xff000000)) +#else +#define ZIMAGE_MAGIC(x) (x) +#endif + +#define ARM_ZIMAGE_MAGIC1 ZIMAGE_MAGIC(0x016f2818) +#define ARM_ZIMAGE_MAGIC2 (0x45454545) +#define ARM_ZIMAGE_MAGIC3 ZIMAGE_MAGIC(0x5a534c4b) + +#ifndef __ASSEMBLY__ + +#include <linux/types.h> +#include <asm/setup.h> + +/* ARM zImage header format */ +struct arm_zimage_header { + __le32 code[9]; + __le32 magic; + __le32 start; + __le32 end; + __le32 endian; + __le32 magic2; + __le32 extension_tag_offset; +}; + +struct arm_zimage_tag { + struct tag_header hdr; + union { +#define ZIMAGE_TAG_KRNL_SIZE ARM_ZIMAGE_MAGIC3 + struct zimage_krnl_size { + __le32 size_ptr; + __le32 bss_size; + } krnl_size; + } u; +}; + +#endif /* __ASSEMBLY__ */ + +#endif /* __ASM_IMAGE_H */ -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: "Łukasz Stelmach" <l.stelmach@samsung.com> To: Russell King <linux@armlinux.org.uk>, Masahiro Yamada <masahiroy@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, Thomas Gleixner <tglx@linutronix.de>, Enrico Weigelt <info@metux.net>, Kees Cook <keescook@chromium.org>, Ingo Molnar <mingo@kernel.org>, Ben Dooks <ben-linux@fluff.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: "AKASHI Takahiro" <takahiro.akashi@linaro.org>, "Marek Szyprowski" <m.szyprowski@samsung.com>, "Łukasz Stelmach" <l.stelmach@samsung.com>, "Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com> Subject: [PATCH v2 2/5] arm: add image header definitions Date: Tue, 2 Jun 2020 18:17:28 +0200 [thread overview] Message-ID: <20200602161731.23033-3-l.stelmach@samsung.com> (raw) In-Reply-To: <20200602161731.23033-1-l.stelmach@samsung.com> This structure will be used later by kexec_file loader. Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- arch/arm/boot/compressed/head.S | 3 +- arch/arm/boot/compressed/vmlinux.lds.S | 13 ++----- arch/arm/include/asm/image.h | 48 ++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 arch/arm/include/asm/image.h diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 55758264e776..005b172d504f 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -7,6 +7,7 @@ */ #include <linux/linkage.h> #include <asm/assembler.h> +#include <asm/image.h> #include <asm/v7m.h> #include "efi-header.S" @@ -211,7 +212,7 @@ start: .word _magic_start @ absolute load/run zImage address .word _magic_end @ zImage end address .word 0x04030201 @ endianness flag - .word 0x45454545 @ another magic number to indicate + .word ARM_ZIMAGE_MAGIC2 @ another magic number to indicate .word _magic_table @ additional data table __EFI_HEADER diff --git a/arch/arm/boot/compressed/vmlinux.lds.S b/arch/arm/boot/compressed/vmlinux.lds.S index f82b5962d97e..308e9cd6a897 100644 --- a/arch/arm/boot/compressed/vmlinux.lds.S +++ b/arch/arm/boot/compressed/vmlinux.lds.S @@ -3,14 +3,7 @@ * Copyright (C) 2000 Russell King */ -#ifdef CONFIG_CPU_ENDIAN_BE8 -#define ZIMAGE_MAGIC(x) ( (((x) >> 24) & 0x000000ff) | \ - (((x) >> 8) & 0x0000ff00) | \ - (((x) << 8) & 0x00ff0000) | \ - (((x) << 24) & 0xff000000) ) -#else -#define ZIMAGE_MAGIC(x) (x) -#endif +#include <asm/image.h> OUTPUT_ARCH(arm) ENTRY(_start) @@ -43,7 +36,7 @@ SECTIONS .table : ALIGN(4) { _table_start = .; LONG(ZIMAGE_MAGIC(4)) - LONG(ZIMAGE_MAGIC(0x5a534c4b)) + LONG(ARM_ZIMAGE_MAGIC3) LONG(ZIMAGE_MAGIC(__piggy_size_addr - _start)) LONG(ZIMAGE_MAGIC(_kernel_bss_size)) LONG(0) @@ -107,7 +100,7 @@ SECTIONS _edata_real = .; } - _magic_sig = ZIMAGE_MAGIC(0x016f2818); + _magic_sig = ARM_ZIMAGE_MAGIC1; _magic_start = ZIMAGE_MAGIC(_start); _magic_end = ZIMAGE_MAGIC(_edata); _magic_table = ZIMAGE_MAGIC(_table_start - _start); diff --git a/arch/arm/include/asm/image.h b/arch/arm/include/asm/image.h new file mode 100644 index 000000000000..d5c18a0f6a34 --- /dev/null +++ b/arch/arm/include/asm/image.h @@ -0,0 +1,48 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __ASM_IMAGE_H +#define __ASM_IMAGE_H + +#ifdef CONFIG_CPU_ENDIAN_BE8 +#define ZIMAGE_MAGIC(x) ((((x) >> 24) & 0x000000ff) | \ + (((x) >> 8) & 0x0000ff00) | \ + (((x) << 8) & 0x00ff0000) | \ + (((x) << 24) & 0xff000000)) +#else +#define ZIMAGE_MAGIC(x) (x) +#endif + +#define ARM_ZIMAGE_MAGIC1 ZIMAGE_MAGIC(0x016f2818) +#define ARM_ZIMAGE_MAGIC2 (0x45454545) +#define ARM_ZIMAGE_MAGIC3 ZIMAGE_MAGIC(0x5a534c4b) + +#ifndef __ASSEMBLY__ + +#include <linux/types.h> +#include <asm/setup.h> + +/* ARM zImage header format */ +struct arm_zimage_header { + __le32 code[9]; + __le32 magic; + __le32 start; + __le32 end; + __le32 endian; + __le32 magic2; + __le32 extension_tag_offset; +}; + +struct arm_zimage_tag { + struct tag_header hdr; + union { +#define ZIMAGE_TAG_KRNL_SIZE ARM_ZIMAGE_MAGIC3 + struct zimage_krnl_size { + __le32 size_ptr; + __le32 bss_size; + } krnl_size; + } u; +}; + +#endif /* __ASSEMBLY__ */ + +#endif /* __ASM_IMAGE_H */ -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-06-02 16:17 UTC|newest] Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20200601142806eucas1p2680c5625411e7a695d8469760a926520@eucas1p2.samsung.com> 2020-06-01 14:27 ` [PATCH 0/5] kexec_file_load() for arm Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach [not found] ` <CGME20200601142810eucas1p1767585cf172d26aedb551d7453aa7402@eucas1p1.samsung.com> 2020-06-01 14:27 ` [PATCH 1/5] arm: decompressor: set malloc pool size for the decompressor Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach 2020-06-01 14:46 ` Russell King - ARM Linux admin 2020-06-01 14:46 ` Russell King - ARM Linux admin [not found] ` <CGME20200601145652eucas1p11dcea1cea21824d0a6bfe6ab38c1cab7@eucas1p1.samsung.com> 2020-06-01 14:56 ` Lukasz Stelmach 2020-06-01 14:56 ` Lukasz Stelmach 2020-06-01 15:10 ` Russell King - ARM Linux admin 2020-06-01 15:10 ` Russell King - ARM Linux admin [not found] ` <CGME20200601165420eucas1p273e0cdb143312b9a621e2444c5daae9b@eucas1p2.samsung.com> 2020-06-01 16:54 ` Lukasz Stelmach 2020-06-01 16:54 ` Lukasz Stelmach [not found] ` <CGME20200601142810eucas1p23056f7997a880ff7d676c64703f87115@eucas1p2.samsung.com> 2020-06-01 14:27 ` [PATCH 2/5] arm: add image header definitions Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach [not found] ` <CGME20200601142810eucas1p1c42ff7c9b417f04bc506261726f08b4f@eucas1p1.samsung.com> 2020-06-01 14:27 ` [PATCH 3/5] arm: decompressor: define a new zImage tag Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach 2020-06-01 14:55 ` Russell King - ARM Linux admin 2020-06-01 14:55 ` Russell King - ARM Linux admin [not found] ` <CGME20200601162002eucas1p28eb08a42de6f313458e9391bd5976e90@eucas1p2.samsung.com> 2020-06-01 16:19 ` Lukasz Stelmach 2020-06-01 16:19 ` Lukasz Stelmach 2020-06-01 18:25 ` Russell King - ARM Linux admin 2020-06-01 18:25 ` Russell King - ARM Linux admin [not found] ` <CGME20200601202757eucas1p11d380be9e0b2fe912a358d21e2d8dc2a@eucas1p1.samsung.com> 2020-06-01 20:27 ` Lukasz Stelmach 2020-06-01 20:27 ` Lukasz Stelmach 2020-06-01 20:41 ` Russell King - ARM Linux admin 2020-06-01 20:41 ` Russell King - ARM Linux admin [not found] ` <CGME20200602161720eucas1p257e9e892ed4679ed1d168db34d089a82@eucas1p2.samsung.com> 2020-06-02 16:17 ` Lukasz Stelmach 2020-06-02 16:17 ` Lukasz Stelmach [not found] ` <CGME20200601142811eucas1p260e5a434ea7743eecdb37c4d975c5f05@eucas1p2.samsung.com> 2020-06-01 14:27 ` [PATCH 4/5] arm: Add kexec_image_info Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach 2020-06-01 14:56 ` Russell King - ARM Linux admin 2020-06-01 14:56 ` Russell King - ARM Linux admin [not found] ` <CGME20200601163034eucas1p1f9c726b605c18bf3944254cd83dd67b3@eucas1p1.samsung.com> 2020-06-01 16:30 ` Lukasz Stelmach 2020-06-01 16:30 ` Lukasz Stelmach [not found] ` <CGME20200601142811eucas1p1604c8e6ca06c09f1ec821ea5e1918c53@eucas1p1.samsung.com> 2020-06-01 14:27 ` [PATCH 5/5] arm: kexec_file: load zImage or uImage, initrd and dtb Łukasz Stelmach 2020-06-01 14:27 ` Łukasz Stelmach 2020-06-01 15:07 ` Russell King - ARM Linux admin 2020-06-01 15:07 ` Russell King - ARM Linux admin 2020-06-01 15:14 ` Russell King - ARM Linux admin 2020-06-01 15:14 ` Russell King - ARM Linux admin [not found] ` <CGME20200601164700eucas1p2e30af458bae7e820ca55f7936ac3579a@eucas1p2.samsung.com> 2020-06-01 16:46 ` Lukasz Stelmach 2020-06-01 16:46 ` Lukasz Stelmach [not found] ` <CGME20200601184829eucas1p1b06bfc130083f6248d624febed1de9fc@eucas1p1.samsung.com> 2020-06-01 18:48 ` Lukasz Stelmach 2020-06-01 18:48 ` Lukasz Stelmach [not found] ` <CGME20200602161737eucas1p241dd0e0a9b5eea7c5d5774c46b3c570b@eucas1p2.samsung.com> 2020-06-02 16:17 ` [PATCH v2 0/5] kexec_file_load() for arm Łukasz Stelmach 2020-06-02 16:17 ` Łukasz Stelmach [not found] ` <CGME20200602161737eucas1p2c83700f7c17296c4367ee3fda1c6e783@eucas1p2.samsung.com> 2020-06-02 16:17 ` [PATCH v2 1/5] arm: decompressor: set malloc pool size for the decompressor Łukasz Stelmach 2020-06-02 16:17 ` Łukasz Stelmach [not found] ` <CGME20200602161738eucas1p27dfbe386bd76555598d5574faf4fdad3@eucas1p2.samsung.com> 2020-06-02 16:17 ` Łukasz Stelmach [this message] 2020-06-02 16:17 ` [PATCH v2 2/5] arm: add image header definitions Łukasz Stelmach [not found] ` <CGME20200602161738eucas1p2151f88b526bb009c27820a4f290a961e@eucas1p2.samsung.com> 2020-06-02 16:17 ` [PATCH v2 3/5] arm: decompressor: define a new zImage tag Łukasz Stelmach 2020-06-02 16:17 ` Łukasz Stelmach [not found] ` <CGME20200602161738eucas1p2ccfaa7610dc6f76e209ba96d6278259e@eucas1p2.samsung.com> 2020-06-02 16:17 ` [PATCH v2 4/5] arm: Add kexec_image_info Łukasz Stelmach 2020-06-02 16:17 ` Łukasz Stelmach [not found] ` <CGME20200602161739eucas1p16a56ff590bf44e747d5ad6e178d57067@eucas1p1.samsung.com> 2020-06-02 16:17 ` [PATCH v2 5/5] arm: kexec_file: load zImage or uImage, initrd and dtb Łukasz Stelmach 2020-06-02 16:17 ` Łukasz Stelmach 2020-06-11 10:37 ` [PATCH 0/5] kexec_file_load() for arm Dave Young 2020-06-11 10:37 ` Dave Young 2020-06-11 10:37 ` Dave Young [not found] ` <CGME20200930183921eucas1p11a56f805421a614be67f869f5ed18b9b@eucas1p1.samsung.com> 2020-09-30 18:34 ` [PATCH v3 0/4] " Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach [not found] ` <CGME20200930183923eucas1p2241d3e1b8d4d05a2228448ff8fc4bb74@eucas1p2.samsung.com> 2020-09-30 18:34 ` [PATCH v3 1/4] arm: add image header definitions Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach [not found] ` <CGME20200930183924eucas1p2869520cc28e705073cb08c37c1e2fc6d@eucas1p2.samsung.com> 2020-09-30 18:34 ` [PATCH v3 2/4] arm: decompressor: define a new zImage tag Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach [not found] ` <CGME20200930183924eucas1p1eba72052e1723ce75e00cbadbe03b6fa@eucas1p1.samsung.com> 2020-09-30 18:34 ` [PATCH v3 3/4] arm: Add kexec_image_info Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach [not found] ` <CGME20200930183924eucas1p281730f3d651fc2c78d6a95e47a2c5220@eucas1p2.samsung.com> 2020-09-30 18:34 ` [PATCH v3 4/4] arm: kexec_file: load zImage or uImage, initrd and dtb Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-09-30 18:34 ` Łukasz Stelmach 2020-10-01 10:09 ` kernel test robot 2020-10-01 10:09 ` kernel test robot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200602161731.23033-3-l.stelmach@samsung.com \ --to=l.stelmach@samsung.com \ --cc=b.zolnierkie@samsung.com \ --cc=ben-linux@fluff.org \ --cc=info@metux.net \ --cc=keescook@chromium.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=m.szyprowski@samsung.com \ --cc=masahiroy@kernel.org \ --cc=mingo@kernel.org \ --cc=ndesaulniers@google.com \ --cc=takahiro.akashi@linaro.org \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.