# HG changeset patch # User msalter # Date 1049822098 0 # Node ID 22d7a1b27981222c413361526872b05b0a9fcbd6 # Parent 3c59fd67ae508647e5d67a2f064fde1b8214ed50 gdb vector match tweak diff --git a/packages/hal/common/current/ChangeLog b/packages/hal/common/current/ChangeLog --- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,3 +1,8 @@ +2003-04-08 Mark Salter + + * src/hal_misc.c (hal_default_isr): Allow HAL to override default + GDB vector matching test. + 2003-04-08 Yoshinori Sato 2003-04-08 Jonathan Larmour diff --git a/packages/hal/common/current/src/hal_misc.c b/packages/hal/common/current/src/hal_misc.c --- a/packages/hal/common/current/src/hal_misc.c +++ b/packages/hal/common/current/src/hal_misc.c @@ -8,7 +8,7 @@ //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc. // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -89,6 +89,12 @@ #define CYGARC_HAL_GET_PC_REG(_regs_,_val_) ((_val_) = (_regs_)->pc) #endif +//-------------------------------------------------------------------------- +// Macro for matching interrupt vector to GDB comm channel. +#ifndef CYGHWR_HAL_GDB_PORT_VECTORS_MATCH +#define CYGHWR_HAL_GDB_PORT_VECTORS_MATCH(_v_,_gv_) ((_v_)==(_gv_)) +#endif + #if defined(CYGPKG_CYGMON) unsigned long cygmon_memsize = 0; #endif @@ -170,7 +176,7 @@ hal_default_isr(CYG_ADDRWORD vector, CYG if (__chan) gdb_vector = CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_DBG_ISR_VECTOR); } - if( vector == gdb_vector ) + if( CYGHWR_HAL_GDB_PORT_VECTORS_MATCH(vector, gdb_vector) ) #else // Old code using hardwired channels. This should go away eventually. if( vector == CYGHWR_HAL_GDB_PORT_VECTOR )