# Copyright Meta Platforms, Inc. and its affiliates. # SPDX-License-Identifier: Apache-2.0 include: base.yaml compatible: "zephyr,coredump" description: Pseudo-device to help capturing desired data into core dumps properties: memory-regions: type: array description: Start address and size of memory regions to be collected in a core dump coredump-type: required: true type: string description: | Designate which type of coredump device this will be. A device of type COREDUMP_TYPE_MEMCPY can directly memcpy the provided memory-regions into the coredump. The memory-regions array can contain 0 or more entries, and more regions can be added at runtime through the coredump_device_register_memory API. A device of type COREDUMP_TYPE_CALLBACK must specify exactly one entry in the memory-regions array with a size of 0 and a desired size. The coredump device will statically allocate a block of memory of the desired size and provide a callback with a pointer to that memory which will be invoked at the time of a dump. This allows a consumer to add data into the coredump that may not be directly accessible through a memcpy and/or provides an opportunity to manipulate data for inclusion in the dump. The coredump_device_register_memory API is not available for a device of this type. enum: - "COREDUMP_TYPE_MEMCPY" - "COREDUMP_TYPE_CALLBACK"