38 lines
921 B
C

#pragma once
#include "../types.h"
#define DEFINE_GDB_PY_SCRIPT(name) \
asm("\
.pushsection \".debug_gdb_scripts\", \"MS\", @progbits, 1\n\
.byte 1\n\
.asciz \""name"\"\n\
.popsection \n\
");
/// Fixed data block placed at the address 0x100000
/// Please update the initialization code in /lcrash/setup/compressed/main.c when this is changed
struct GdbDataBlock {
/// Update tick thing stored at the beginning of the fixed data block for debuggers
/// TODO: Optimization may break this, should this be volatile?
u64 Update;
/// Base of the cmake build directory. This is needed for lwdbg to configure itself
c8* BuildDirectory;
/// cckernel is present
bool CCKernelLoaded;
/// Base address of the cckernel
void* CCKernelBase;
/// Full kernel is present
bool KernelLoaded;
/// Base address of the kernel
void* KernelBase;
/// Pointer to Extended Debug Information Block
void* EDIB;
};