mesa/src/intel/tools/error2hangdump_lib.c
José Roberto de Souza 52d2d4ae2c intel/tools/error2hangdump: Move code that will be shared with Xe parser to error2hangdump_lib
No changes in behavior expected here.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28720>
2024-04-18 19:12:41 +00:00

69 lines
1.4 KiB
C

/*
* Copyright 2024 Intel Corporation
* SPDX-License-Identifier: MIT
*/
#include "error2hangdump_lib.h"
#include "common/intel_hang_dump.h"
void
write_header(FILE *f)
{
struct intel_hang_dump_block_header header = {
.base = {
.type = INTEL_HANG_DUMP_BLOCK_TYPE_HEADER,
},
.magic = INTEL_HANG_DUMP_MAGIC,
.version = INTEL_HANG_DUMP_VERSION,
};
fwrite(&header, sizeof(header), 1, f);
}
void
write_buffer(FILE *f,
uint64_t offset,
const void *data,
uint64_t size,
const char *name)
{
struct intel_hang_dump_block_bo header = {
.base = {
.type = INTEL_HANG_DUMP_BLOCK_TYPE_BO,
},
.offset = offset,
.size = size,
};
snprintf(header.name, sizeof(header.name), "%s", name);
fwrite(&header, sizeof(header), 1, f);
fwrite(data, size, 1, f);
}
void
write_hw_image_buffer(FILE *f, const void *data, uint64_t size)
{
struct intel_hang_dump_block_hw_image header = {
.base = {
.type = INTEL_HANG_DUMP_BLOCK_TYPE_HW_IMAGE,
},
.size = size,
};
fwrite(&header, sizeof(header), 1, f);
fwrite(data, size, 1, f);
}
void
write_exec(FILE *f, uint64_t offset)
{
struct intel_hang_dump_block_exec header = {
.base = {
.type = INTEL_HANG_DUMP_BLOCK_TYPE_EXEC,
},
.offset = offset,
};
fwrite(&header, sizeof(header), 1, f);
}