/* * Created by: Jason Wessel <jason.wessel@windriver.com> * * Copyright (c) 2009 Wind River Systems, Inc. All Rights Reserved. * * This file is licensed under the terms of the GNU General Public * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied.
*/
#ifndef _DEBUG_CORE_H_ #define _DEBUG_CORE_H_ /* * These are the private implementation headers between the kernel * debugger core and the debugger front end code.
*/
/* kernel debug core data structures */ struct kgdb_state { int ex_vector; int signo; int err_code; int cpu; int pass_exception; unsignedlong thr_query; unsignedlong threadid; long kgdb_usethreadid; struct pt_regs *linux_regs;
atomic_t *send_ready;
};
/* Exception state values */ #define DCPU_WANT_MASTER 0x1 /* Waiting to become a master kgdb cpu */ #define DCPU_NEXT_MASTER 0x2 /* Transition from one master cpu to another */ #define DCPU_IS_SLAVE 0x4 /* Slave cpu enter exception */ #define DCPU_WANT_BT 0x8 /* Slave cpu should backtrace then clear flag */
struct debuggerinfo_struct { void *debuggerinfo; struct task_struct *task; int exception_state; int ret_state; int irq_depth; int enter_kgdb; bool rounding_up;
};
/* polled character access to i/o module */ externint dbg_io_get_char(void);
/* stub return value for switching between the gdbstub and kdb */ #define DBG_PASS_EVENT -12345 /* Switch from one cpu to another */ #define DBG_SWITCH_CPU_EVENT -123456 externint dbg_switch_cpu;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.