Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation: x86: convert kernel-stacks to reST

This converts the plain text documentation to reStructuredText format and
add it to Sphinx TOC tree. No essential content change.

Signed-off-by: Changbin Du <changbin.du@gmail.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>

authored by

Changbin Du and committed by
Jonathan Corbet
ac2b4687 06955392

+14 -7
+1
Documentation/x86/index.rst
··· 11 11 boot 12 12 topology 13 13 exception-tables 14 + kernel-stacks
+13 -7
Documentation/x86/kernel-stacks Documentation/x86/kernel-stacks.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + ============= 4 + Kernel Stacks 5 + ============= 6 + 1 7 Kernel stacks on x86-64 bit 2 - --------------------------- 8 + =========================== 3 9 4 10 Most of the text from Keith Owens, hacked by AK 5 11 ··· 63 57 stack size allocated to an IST assumes no nesting for the same code. 64 58 If that assumption is ever broken then the stacks will become corrupt. 65 59 66 - The currently assigned IST stacks are :- 60 + The currently assigned IST stacks are: 67 61 68 62 * DOUBLEFAULT_STACK. EXCEPTION_STKSZ (PAGE_SIZE). 69 63 ··· 104 98 105 99 106 100 Printing backtraces on x86 107 - -------------------------- 101 + ========================== 108 102 109 103 The question about the '?' preceding function names in an x86 stacktrace 110 104 keeps popping up, here's an indepth explanation. It helps if the reader ··· 114 108 Adapted from Ingo's mail, Message-ID: <20150521101614.GA10889@gmail.com>: 115 109 116 110 We always scan the full kernel stack for return addresses stored on 117 - the kernel stack(s) [*], from stack top to stack bottom, and print out 111 + the kernel stack(s) [1]_, from stack top to stack bottom, and print out 118 112 anything that 'looks like' a kernel text address. 119 113 120 114 If it fits into the frame pointer chain, we print it without a question ··· 142 136 we still print out the real call chain as well - just with more question 143 137 marks than ideal. 144 138 145 - [*] For things like IRQ and IST stacks, we also scan those stacks, in 146 - the right order, and try to cross from one stack into another 147 - reconstructing the call chain. This works most of the time. 139 + .. [1] For things like IRQ and IST stacks, we also scan those stacks, in 140 + the right order, and try to cross from one stack into another 141 + reconstructing the call chain. This works most of the time.