On Tue, Feb 21, 2023 at 04:55:13PM +0530, Mukesh Ojha wrote: > There are system which does not uses pstore directly but > may have the interest in the context saved by pstore. > Register pstore regions with minidump so that it get > dumped on minidump collection. Okay, so, this is a really interesting case -- it's a RAM backend that is already found on a system by pstore via device tree, but there is _another_ RAM overlay (minidump) that would like to know more about how the pstore ram backend carves up the memory regions so it can examine them itself too. (i.e. it's another "interface" like the pstorefs.) So we need to provide the mapping back to the overlay. It feels to me like the logic for this needs to live in the minidump driver itself (rather than in the pstore RAM backend). Specifically, it wants to know about all the operational frontends (dmesg, console, ftrace, pmsg) with their virt & phys addresses and size. The frontends are defined via enum pstore_type_id, and the other values are "normal" types, so it should be possible to move this logic into minidump instead, leaving a simpler callback. Perhaps something like: void pstore_region_defined(enum pstore_type_id, void *virt, phys_addr_t phys, size_t size); How the pstore ram backend should know to call this, though, I'm struggling to find a sensible way. How can it determine if the device tree region is actually contained by a minidump overlay? -- Kees Cook