diff packages/hal/common/current/src/hal_misc.c @ 151:25e238959bae

Merge from eCos master repository on 2001-02-12-23:44:24-GMT
author jlarmour
date Tue, 13 Feb 2001 01:23:16 +0000
parents 289bf90c6a9b
children b939e9cada46
line wrap: on
line diff
--- a/packages/hal/common/current/src/hal_misc.c
+++ b/packages/hal/common/current/src/hal_misc.c
@@ -23,7 +23,7 @@
 //                                                                          
 // The Initial Developer of the Original Code is Red Hat.                   
 // Portions created by Red Hat are                                          
-// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
+// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
 // All Rights Reserved.                                                     
 // -------------------------------------------                              
 //                                                                          
@@ -136,18 +136,20 @@ hal_default_isr(CYG_ADDRWORD vector, CYG
     // This check only to avoid crash on older stubs in case of unhandled
     // interrupts. It is a bit messy, but required in a transition period.
 #ifndef CYGSEM_HAL_ROM_MONITOR
-    if (CYGNUM_CALL_IF_TABLE_VERSION+1 == CYGACC_CALL_IF_VERSION())
+    if (CYGNUM_CALL_IF_TABLE_VERSION_CALL_HACK ==
+        (CYGACC_CALL_IF_VERSION() & CYGNUM_CALL_IF_TABLE_VERSION_CALL_MASK))
 #endif
     {
-        hal_virtual_comm_table_t* comm = CYGACC_CALL_IF_DEBUG_PROCS();
-        gdb_vector = CYGACC_COMM_IF_CONTROL(*comm, __COMMCTL_DBG_ISR_VECTOR);
+        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 )
 #else
     // Old code using hardwired channels. This should go away eventually.
     if( vector == CYGHWR_HAL_GDB_PORT_VECTOR )
 #endif
-#endif        
+#endif
     {
         result = HAL_CTRLC_ISR( vector, data );
         if( 0 != result ) return result;