This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
gdb vector matching tweak
- From: Mark Salter <msalter at redhat dot com>
- To: ecos-patches at sources dot redhat dot com
- Date: Tue, 8 Apr 2003 13:15:53 -0400 (EDT)
- Subject: gdb vector matching tweak
Index: hal/common/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/common/current/ChangeLog,v
retrieving revision 1.90
diff -u -p -5 -r1.90 ChangeLog
--- hal/common/current/ChangeLog 8 Apr 2003 01:13:14 -0000 1.90
+++ hal/common/current/ChangeLog 8 Apr 2003 17:10:36 -0000
@@ -1,5 +1,10 @@
+2003-04-08 Mark Salter <msalter at redhat dot com>
+
+ * src/hal_misc.c (hal_default_isr): Allow HAL to override default
+ GDB vector matching test.
+
2003-04-08 Yoshinori Sato <qzb04471 at nifty dot ne dot jp>
2003-04-08 Jonathan Larmour <jifl at eCosCentric dot com>
* cdl/debugging.cdl: Allow CRC to be allocated in ROM as well as RAM.
* src/generic-stub.c: as above.
Index: hal/common/current/src/hal_misc.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/common/current/src/hal_misc.c,v
retrieving revision 1.11
diff -u -p -5 -r1.11 hal_misc.c
--- hal/common/current/src/hal_misc.c 23 May 2002 23:02:49 -0000 1.11
+++ hal/common/current/src/hal_misc.c 8 Apr 2003 17:10:36 -0000
@@ -6,11 +6,11 @@
//
//==========================================================================
//####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
// Software Foundation; either version 2 or (at your option) any later version.
//
@@ -87,10 +87,16 @@ __backup_return_address:
// Macro for finding PC in saved regs
#ifndef CYGARC_HAL_GET_PC_REG
#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
//--------------------------------------------------------------------------
@@ -168,11 +174,11 @@ hal_default_isr(CYG_ADDRWORD vector, CYG
{
hal_virtual_comm_table_t* __chan = CYGACC_CALL_IF_DEBUG_PROCS();
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 )
#endif
#endif