Skip to content

saved_register_frames ¤

Classes:

  • SavedRegisterFrame

    A list of registers that have been saved to process memory for later restoration.

Attributes:

ARM_CORTEX_M_EXCEPTION_STACK_FRAME_OFFSETS module-attribute ¤

ARM_CORTEX_M_EXCEPTION_STACK_FRAME_OFFSETS = {
    "r0": 0,
    "r1": 4,
    "r2": 8,
    "r3": 12,
    "r12": 16,
    "lr": 20,
    "pc": 24,
    "xpsr": 28,
}

ARM_CORTEX_M_EXCEPTION_STACK module-attribute ¤

SavedRegisterFrame dataclass ¤

SavedRegisterFrame(register_offsets: dict[str, int])

A list of registers that have been saved to process memory for later restoration.

For example, on syscall entry, the process registers are saved to the kernel stack.

Methods:

Attributes:

offsets instance-attribute ¤

offsets: dict[str, int] = register_offsets

frame_layout instance-attribute ¤

frame_layout: list[tuple[int, str]] = sorted((y, x) for (x, y) in items())

read_saved_register ¤

read_saved_register(reg: str, sp: int = None) -> int | None