#include <linux/devcoredump.h>
#include <linux/moduleparam.h>
#include "etnaviv_cmdbuf.h"
#include "etnaviv_dump.h"
#include "etnaviv_gem.h"
#include "etnaviv_gpu.h"
#include "etnaviv_mmu.h"
#include "etnaviv_sched.h"
#include "state.xml.h"
#include "state_hi.xml.h"
static bool etnaviv_dump_core = …;
module_param_named(dump_core, etnaviv_dump_core, bool, 0600);
struct core_dump_iterator { … };
static const unsigned short etnaviv_dump_registers[] = …;
static void etnaviv_core_dump_header(struct core_dump_iterator *iter,
u32 type, void *data_end)
{ … }
static void etnaviv_core_dump_registers(struct core_dump_iterator *iter,
struct etnaviv_gpu *gpu)
{ … }
static void etnaviv_core_dump_mmu(struct core_dump_iterator *iter,
struct etnaviv_iommu_context *mmu, size_t mmu_size)
{ … }
static void etnaviv_core_dump_mem(struct core_dump_iterator *iter, u32 type,
void *ptr, size_t size, u64 iova)
{ … }
void etnaviv_core_dump(struct etnaviv_gem_submit *submit)
{ … }