Coredump Device
Overview
The coredump device is a pseudo-device driver with two types.A COREDUMP_TYPE_MEMCPY type exposes device tree bindings for memory address/size values to be included in any dump. And the driver exposes an API to add/remove dump memory regions at runtime. A COREDUMP_TYPE_CALLBACK device requires exactly one entry in the memory-regions array with a size of 0 and a desired size. The driver will statically allocate memory of the desired size and provide an API to register a callback function to fill that memory when a dump occurs.
Configuration Options
Related configuration options:
API Reference
- group coredump_device_interface
- Coredump pseudo-device driver APIs. - Typedefs - 
typedef void (*coredump_dump_callback_t)(uintptr_t dump_area, size_t dump_area_size)
- Callback that occurs at dump time, data copied into dump_area will be included in the dump that is generated. - Param dump_area:
- Pointer to area to copy data into for inclusion in dump 
- Param dump_area_size:
- Size of available memory at dump_area 
 
 - Functions - 
static inline bool coredump_device_register_memory(const struct device *dev, struct coredump_mem_region_node *region)
- Register a region of memory to be stored in core dump at the time it is generated. - Parameters:
- dev – Pointer to the device structure for the driver instance. 
- region – Struct describing memory to be collected 
 
- Returns:
- true if registration succeeded 
- Returns:
- false if registration failed 
 
 - 
static inline bool coredump_device_unregister_memory(const struct device *dev, struct coredump_mem_region_node *region)
- Unregister a region of memory to be stored in core dump at the time it is generated. - Parameters:
- dev – Pointer to the device structure for the driver instance. 
- region – Struct describing memory to be collected 
 
- Returns:
- true if unregistration succeeded 
- Returns:
- false if unregistration failed 
 
 - 
static inline bool coredump_device_register_callback(const struct device *dev, coredump_dump_callback_t callback)
- Register a callback to be invoked at dump time. - Parameters:
- dev – Pointer to the device structure for the driver instance. 
- callback – Callback to be invoked at dump time 
 
- Returns:
- true if registration succeeded 
- Returns:
- false if registration failed 
 
 - 
struct coredump_mem_region_node
- #include <coredump.h>Structure describing a region in memory that may be stored in core dump at the time it is generated. Instances of this are passed to the coredump_device_register_memory() and coredump_device_unregister_memory() functions to indicate addition and removal of memory regions to be captured Public Members - 
sys_snode_t node
- Node of single-linked list, do not modify. 
 - 
uintptr_t start
- Address of start of memory region. 
 - 
size_t size
- Size of memory region. 
 
- 
sys_snode_t node
 
- 
typedef void (*coredump_dump_callback_t)(uintptr_t dump_area, size_t dump_area_size)