linux/Documentation/arch/x86
Andy Shevchenko 0c92af9ead x86/Documentation: Update algo in init_size description of boot protocol
[ Upstream commit be4ca6c53e ]

The init_size description of boot protocol has an example of the runtime
start address for the compressed bzImage. For non-relocatable kernel
it relies on the pref_address value (if not 0), but for relocatable case
only pays respect to the load_addres and kernel_alignment, and it is
inaccurate for the latter. Boot loader must consider the pref_address
as the Linux kernel relocates to it before being decompressed as nicely
described in this commit message a year ago:

  43b1d3e68e ("kexec: Allocate kernel above bzImage's pref_address")

Due to this documentation inaccuracy some of the bootloaders (*) made a
mistake in the calculations and if kernel image is big enough, this may
lead to unbootable configurations.

*)
  In particular, kexec-tools missed that and resently got a couple of
  changes which will be part of v2.0.30 release. For the record,
  commit 43b1d3e68e only fixed the kernel kexec implementation and
  also missed to update the init_size description.

While at it, make an example C-like looking as it's done elsewhere in
the document and fix indentation as presribed by the reStructuredText
specifications, so the syntax highliting will work properly.

Fixes: 43b1d3e68e ("kexec: Allocate kernel above bzImage's pref_address")
Fixes: d297366ba6 ("x86: document new bzImage fields")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Link: https://lore.kernel.org/r/20241125105005.1616154-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:03:07 +01:00
..
i386 docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
x86_64 ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
amd-memory-encryption.rst x86/sev: Check for the presence of an SVSM in the SNP secrets page 2024-06-11 07:22:46 +02:00
amd_hsmp.rst Documentation/x86/amd/hsmp: Updating urls 2024-03-12 12:55:32 +02:00
boot.rst x86/Documentation: Update algo in init_size description of boot protocol 2024-12-05 14:03:07 +01:00
booting-dt.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
buslock.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
cpuinfo.rst Documentation/x86: Switch to new Intel CPU model defines 2024-06-17 16:28:08 -06:00
earlyprintk.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
elf_auxvec.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
entry_64.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
exception-tables.rst Documentation: exception-tables.rst: Fix the wrong steps referenced 2024-07-03 16:50:47 -06:00
features.rst docs: kernel_feat.py: fix potential command injection 2024-01-11 09:21:01 -07:00
ifs.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
index.rst Documentation/x86: Add CET shadow stack description 2023-08-02 15:01:50 -07:00
intel-hfi.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
intel_txt.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
iommu.rst x86/iommu/docs: Update AMD IOMMU specification document URL 2023-09-24 10:47:35 +02:00
kernel-stacks.rst Documentation: update kernel stack for x86_64 2023-05-02 10:59:47 -06:00
mds.rst Documentation: Fix spelling mistakes 2024-09-05 14:35:45 -06:00
microcode.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
mtrr.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
orc-unwinder.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
pat.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
pti.rst x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
resctrl.rst x86/resctrl: Update documentation with Sub-NUMA cluster changes 2024-07-02 20:03:19 +02:00
sgx.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
shstk.rst x86/shstk: Add ARCH_SHSTK_STATUS 2023-08-02 15:01:51 -07:00
sva.rst IOMMU Updates for Linux 6.4 2023-04-30 13:00:38 -07:00
tdx.rst Documentation/x86: Add documentation for TDX host support 2023-12-12 08:46:46 -08:00
tlb.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
topology.rst x86/cpu/topology: Get rid of cpuinfo::x86_max_cores 2024-02-16 15:51:32 +01:00
tsx_async_abort.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
usb-legacy-support.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
xstate.rst Docs: typos/spelling 2024-05-02 10:02:29 -06:00
zero-page.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00