Translate ../loongarch/boot-image-header.rst into Chinese. Suggested-by: Xiaotian Wu <wuxiaotian@xxxxxxxxxxx> Signed-off-by: Yanteng Si <siyanteng@xxxxxxxxxxx> --- .../zh_CN/loongarch/boot-image-header.rst | 77 +++++++++++++++++++ .../translations/zh_CN/loongarch/index.rst | 1 + 2 files changed, 78 insertions(+) create mode 100644 Documentation/translations/zh_CN/loongarch/boot-image-header.rst diff --git a/Documentation/translations/zh_CN/loongarch/boot-image-header.rst b/Documentation/translations/zh_CN/loongarch/boot-image-header.rst new file mode 100644 index 000000000000..826bce5bf550 --- /dev/null +++ b/Documentation/translations/zh_CN/loongarch/boot-image-header.rst @@ -0,0 +1,77 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. include:: ../disclaimer-zh_CN.rst + +:Original: Documentation/loongarch/boot-image-header.rst + +:翻译: + + 司延腾 Yanteng Si <siyanteng@xxxxxxxxxxx> + +============================= +LoongArch Linux启动镜像文件头 +============================= + +:作者: 司延腾 <siyanteng@xxxxxxxxxxx> +:日期: 18 Nov 2022 + +此文档仅描述LoongArch Linux 启动文件头详情。 + + +在非压缩的Linux内核镜像中存在以下64字节的文件头:: + + u32 MZ_MAGIC /* "MZ", MS-DOS 头 */ + u32 res0 = 0 /* 保留 */ + u64 kernel_entry /* 内核入口点 */ + u64 _end - _text /* 内核镜像有效大小 */ + u64 0 /* 从RAM开始的加载内核镜像的偏移量 */ + u64 res1 = 0 /* 保留 */ + u64 res2 = 0 /* 保留 */ + u64 res3 = 0 /* 保留 */ + u32 res4 = 0 /* 保留 */ + u32 pe_header - _head /* 到PE头的偏移量 */ + + +镜像头注释 +========== + +目前LoongArch已经移除“magic”结构体成员。 + +按照EFI规范的规定,在内核镜像的开始需要PE/COFF镜像文件头。当前LoongArch内核支持 +EFI stub,故内核镜像头最开始两字节为“MZ”魔术字符,且0x3c处应指向PE/COFF文件头的 +其余部分,在此之间,内核的入口点、有效镜像大小、镜像加载偏移布局如下:: + + +-----------------------------------------------+ + 0x0: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | + +-----------------------------------------------+ + 0x8: | MZ_MAGIC | res0 | + +-----------------------------------------------+ + 0x10: | kernel_entry | + +-----------------------------------------------+ + 0x18: | _end - _text | + +-----------------------------------------------+ + 0x20: | 0 | + +-----------------------------------------------+ + 0x28: | res1 | + +-----------------------------------------------+ + 0x30: | res2 | + +-----------------------------------------------+ + 0x38: | res3 | + +-----------------------------------------------+ + 0x40: | res14 | PE header | + +-----------------------------------------------+ + + + + +所有的位域都是小端序: + + - MZ:有效长度为2字节; + + - 内核入口点: 前留空6个字节,自0x8开始,有效长度为8字节; + + - 内核镜像有效大小: 紧接内核入口点,有效长度为8字节,该成员对于引导器来说是必须的; + + - 内核镜像加载偏移: 紧接内核镜像有效大小,有效长度为8字节; + + - 到PE头的偏移量: 前留空28字节,自0x3c开始,有效长度为4字节。 diff --git a/Documentation/translations/zh_CN/loongarch/index.rst b/Documentation/translations/zh_CN/loongarch/index.rst index 7d23eb78379d..625597792fd9 100644 --- a/Documentation/translations/zh_CN/loongarch/index.rst +++ b/Documentation/translations/zh_CN/loongarch/index.rst @@ -15,6 +15,7 @@ LoongArch体系结构 introduction irq-chip-model + boot-image-header features -- 2.31.1