Current File : //usr/share/src/uts/i86pc/sys/debug_info.h
/*
 * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _SYS_DEBUG_INFO_H
#define	_SYS_DEBUG_INFO_H

#ifdef	__cplusplus
extern "C" {
#endif

#include <sys/utsname.h>

#define	DEBUG_INFO_MAGIC 0xdeb116ed
#define	DEBUG_INFO_VERSION 0x2

/*
 * We place this structure at a well-known DEBUG_INFO_VA to allow 'external'
 * debuggers to bootstrap themselves; in particular libkvm when applied to
 * hypervisor domains or their core files.
 */
typedef struct debug_info {
	uint32_t di_magic;
	uint32_t di_version;
	char di_version_str[SYS_NMLN];
	/* address of 'modules' */
	uintptr_t di_modules;
	uintptr_t di_s_text;
	uintptr_t di_e_text;
	uintptr_t di_s_data;
	uintptr_t di_e_data;
	size_t di_hat_htable_off;
	size_t di_ht_pfn_off;
	size_t di_ht_flags_off;
} debug_info_t;

extern void register_debug_info_pa();

#ifdef	__cplusplus
}
#endif

#endif /* _SYS_DEBUG_INFO_H */