This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]