The fields marked with (reloc) actually are not dedicated for writing, but communicating info for relocatable kernel with boot loaders. For example: ============ ============ Field name: pref_address Type: read (reloc) Offset/size: 0x258/8 Protocol: 2.10+ ============ ============ ============ ======================== Field name: code32_start Type: modify (optional, reloc) Offset/size: 0x214/4 Protocol: 2.00+ ============ ======================== Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx> --- Unless I have incorrect non-native understanding for "fill in", I think this is inaccurate. Documentation/x86/boot.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/x86/boot.rst b/Documentation/x86/boot.rst index 08a2f100c0e6..a611bf04492d 100644 --- a/Documentation/x86/boot.rst +++ b/Documentation/x86/boot.rst @@ -243,7 +243,7 @@ bootloader ("modify"). All general purpose boot loaders should write the fields marked (obligatory). Boot loaders who want to load the kernel at a -nonstandard address should fill in the fields marked (reloc); other +nonstandard address should consult with the fields marked (reloc); other boot loaders can ignore those fields. The byte order of all fields is littleendian (this is x86, after all.) -- 2.21.0