[−][src]Module sunrise_kernel::i386::stack
Kernel stack
A kernel stack is structured as follow :
j--------------------j < 0xaaaa0000 = KernelStack.stack_address | | | | | PAGE GUARD | | | | | j--------------------j | | | | | AAA | | ||| | | | j--------------------j | | | STACK | | | | j----------------j | | | poison value | | j-j----------------j-j < 0xaaaaffff No Page Guard
Since the stack is several pages long, we must ensure the stack respects some alignment in order to be able to find its bottom from any page.
Structs
KernelStack | A structure representing a kernel stack. |
StackDumpSource | The minimal information needed to perform a stack dump. |
Constants
STACK_ALIGNMENT | The alignment of the stack. |
STACK_SIZE | The size of a kernel stack in pages, not accounting for the page guard |
STACK_SIZE_WITH_GUARD | The size of a kernel stack in pages, with the page guard. |
STACK_SIZE_WITH_GUARD_IN_BYTES | The size of the kernel stack, with the page guard, as a byte count instead of a page count. Used to calculate alignment. |
Functions
dump_stack⚠ | Dumps the stack from the given information, displaying it in a frame-by-frame format. |
dump_stack_from_slice | Dumps a stack, displaying it in a frame-by-frame format. |