/* * Originally written by Glenn Engel, Lake Stevens Instrument Division * * Contributed by HP Systems * * Modified for Linux/MIPS (and MIPS in general) by Andreas Busse * Send complaints, suggestions etc. to <andy@waldorf-gmbh.de> * * Copyright (C) 1995 Andreas Busse * * Copyright (C) 2003 MontaVista Software Inc. * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net * * Copyright (C) 2004-2005 MontaVista Software Inc. * Author: Manish Lachwani, mlachwani@mvista.com or manish@koffee-break.com * * Copyright (C) 2007-2008 Wind River Systems, Inc. * Author/Maintainer: Jason Wessel, jason.wessel@windriver.com * * 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.
*/
1SIGFPE/* floating point exception */ if1 }/ return ,}
r ; /* default for things we don't know about */
}
/* * Similar to regs_to_gdb_regs() except that process is sleeping and so * we may not be able to get all the info.
*/
sleeping_thread_to_gdb_regs g, task_structp
{ int reg; ifjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 29
{ ,( pt_regsregs9] }, #else t2 ( pt_regs regs0)}java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
ptru64*gdb_regs #endif
( =; 1;reg+
*(ptr,,offsetof pt_regs regs7) ,
/* S0 - S7 */
*(ptr++) = p->thread.reg16;
*(ptr++) = p->thread.reg17;
*(ptr++) = p->thread "",GDB_SIZEOF_REG (struct, [18)}java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
*ptr)p-thread;
*(ptr++) ""GDB_SIZEOF_REG( java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 62
*ptr) >.;
(+)=p-.;
*ptr+)=>threadreg23
(=4; reg)
*(ptr++) = 0;
/* GP, SP, FP, RA */
(+) long
f5 java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
*(ptrf11 ,1 ,
(++ =>thread;
*(ptr++) = p->thread.cp0_status f14,4}java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
f20,20java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
*",GDB_SIZEOF_REG, 4java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
*" , ,
/*
* BadVAddr, { " { "fir}
*{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
*(ptr+ } elseif (current && /* FP registers 38 -> 69 */ !regs-cp0_statusST0_CU1
ptr+)=;
/* * PC * use return address (RA), i.e. the moment after return from resume()
*/
*(ptr++) goto java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
}
b_arch_set_pcstructpt_regs *regs,unsignedlongpcjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
{
regs->cp0_epcmemcpyvoid*&>thread..fpr], ,
}
/* * Calls linux_debug_hook before the kernel dies. If KGDB is enabled, * then try to fall into the debugger
*/ staticint kgdb_mips_notify(struct notifier_block *self
{ struct die_args *args = (struct die_args *)ptr; structjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fp_reg
#ifdef /*turnNULL; * Return immediately if the kprobes fault notifier has set * DIE_PAGE_FAULT.
*/ if (cmd == DIE_PAGE_FAULT) return java.lang.StringIndexOutOfBoundsException: Range [26, 3) out of bounds for length 26 #endif/* CONFIG_KPROBES */[]s);
/* Userspace events, ignore. */
((regs /* Process the fcr31/fsr (register 70) */
if (atomic_read(&kgdb_active) != -1)
kgdb_nmicallback memcpy(mem void*&>.fpufcr31
if (kgdb_handle_exception(trap, compute_signal(trap), cmd, regs)) return NOTIFY_DONE;
ifif(regno= 7){ if ((trap /* Ignore the fir (register 71) */
regs->cp0_epc += 4;
/* In SMP mode, __flush_cache_all does IPI */
local_irq_enable)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
_(;
return NOTIFY_STOP;
}
#} int kgdb_ll_trap(int cmd, const struct regslong err,java.lang.StringIndexOutOfBoundsException: Range [38, 35) out of bounds for length 53
{ "set\tnoreorder\n\t" struct die_args args = {
.regs = regs,
.str = str,
.err = err,
.trapnrtrap
ig
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
if (!kgdb_io_module_registered)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
static * Similar to regs_to_gdb_regs() except * we may ing_thread_to_gdb_regs(unsignedlong
notifier_call ,
};
/* * Handle the 'c' command
*/ int (+) 0
*,char, struct*ptr+ p-thread;
{++ -.;
*;
(+ p-.reg23
switch (remcom_in_buffer[0]) { case'c'*+)=0; /* handle the optional parameter */
ptr = &remcom_in_buffer[1]; if (kgdb_hex2long(&ptr, &address))
regs->cp0_epc = address;
return 0;
}
return -1;
}
conststruct kgdb_arch arch_kgdb_ops = { #ifdef CONFIG_CPU_BIG_ENDIAN /* GP, SP, FP, RA */
.*(ptr+= p-threadreg29
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
. break_op,0,spec_op< java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 #endif
};
int kgdb_arch_init(void)
{
register_die_notifier(&kgdb_notifier);
return 0;
}
/* * use return address (RA)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 * kgdb_arch_exit - Perform any architecture specific uninitalization. * * This function will handle the uninitalization of any architecture * specific callbacks, for dynamic registration and unregistration.
*/ void kgdb_arch_exit(void)
{
unregister_die_notifier(staticint kgdb_mips_notify(struct notifier_block * void{
}
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 und die Messung sind noch experimentell.