This is the mail archive of the ecos-patches@sourceware.org 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]

kernel tests intr0/kintr0 patch


Hello

On some platforms (lpc2xxx, for example) kernel tests: kintr0, intr0
failed on cyg_interrupt_configure(), because a call tries configure
non-external interrupt. Entered HAL HAL_INTR_TEST_EINT_NUM gives a
chance to override cyg_interrupt_configure's argument. Same definition
was entered in LPC2XXX variant HAL.

Sergei
Index: hal/arm/lpc2xxx/var/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/var/current/ChangeLog,v
retrieving revision 1.9
diff -u -r1.9 ChangeLog
--- hal/arm/lpc2xxx/var/current/ChangeLog	22 Jul 2008 18:52:16 -0000	1.9
+++ hal/arm/lpc2xxx/var/current/ChangeLog	21 Aug 2008 12:06:00 -0000
@@ -1,3 +1,8 @@
+2008-08-21  Sergei Gavrikov <sg@belvok.com>
+
+	* include/hal_var_ints.h: Added HAL_INTR_TEST_EINT_NUM for kernel
+	tests intr0/kintr0.
+
 2008-07-21  Uwe Kindler <uwe_kindler@web.de>
 
 	* cdl/hal_arm_lpc2xxx.cdl: Added option
Index: hal/arm/lpc2xxx/var/current/include/hal_var_ints.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/var/current/include/hal_var_ints.h,v
retrieving revision 1.3
diff -u -r1.3 hal_var_ints.h
--- hal/arm/lpc2xxx/var/current/include/hal_var_ints.h	15 Sep 2007 14:43:22 -0000	1.3
+++ hal/arm/lpc2xxx/var/current/include/hal_var_ints.h	21 Aug 2008 12:06:00 -0000
@@ -100,6 +100,9 @@
 #define HAL_INTR_TEST_PRIO_B 16
 #define HAL_INTR_TEST_PRIO_C 16
 
+/* use external interrupt 0 in kernel tests intr0/kintr0 */
+#define HAL_INTR_TEST_EINT_NUM CYGNUM_HAL_INTERRUPT_EINT0
+
 //The vector used by the Real time clock
 #define CYGNUM_HAL_INTERRUPT_RTC     CYGNUM_HAL_INTERRUPT_TIMER0
 
Index: kernel/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/kernel/current/ChangeLog,v
retrieving revision 1.144
diff -u -r1.144 ChangeLog
--- kernel/current/ChangeLog	15 Sep 2007 14:42:39 -0000	1.144
+++ kernel/current/ChangeLog	21 Aug 2008 12:06:23 -0000
@@ -1,3 +1,9 @@
+2008-08-21  Sergei Gavrikov  <sg@belvok.com>
+	* tests/intr0.cxx, tests/kintr0.c: cyg_interrupt_configure() uses
+	itself to configure external interrupts, it's agrument, v1, can be
+	overriden by HAL through HAL_INTR_TEST_EINT_NUM.
+
+	* 
 2007-08-23  Hans Rosenfeld  <rosenfeld@grumpf.hope-2000.org>
 
 	* tests/intr0.cxx, tests/kintr0.c: As suggested by Bart Veer,
Index: kernel/current/tests/intr0.cxx
===================================================================
RCS file: /cvs/ecos/ecos/packages/kernel/current/tests/intr0.cxx,v
retrieving revision 1.14
diff -u -r1.14 intr0.cxx
--- kernel/current/tests/intr0.cxx	15 Sep 2007 14:42:40 -0000	1.14
+++ kernel/current/tests/intr0.cxx	21 Aug 2008 12:06:23 -0000
@@ -78,6 +78,12 @@
 # define PRIO_C 1
 #endif
 
+#ifdef HAL_INTR_TEST_EINT_NUM
+# define EINT_NUM HAL_INTR_TEST_EINT_NUM
+#else
+# define EINT_NUM (CYGNUM_HAL_ISR_MIN + ( 6 % CYGNUM_HAL_ISR_COUNT))
+#endif
+
 static cyg_ISR isr0, isr1;
 static cyg_DSR dsr0, dsr1;
 
@@ -208,7 +214,7 @@
         v1 = 12 % CYGNUM_HAL_ISR_COUNT;
     else /* NOTE TRAILING ELSE... */
 #endif
-    v1 = CYGNUM_HAL_ISR_MIN + (6 % CYGNUM_HAL_ISR_COUNT);
+    v1 = EINT_NUM;
 
     Cyg_Interrupt::mask_interrupt(v1);
     Cyg_Interrupt::unmask_interrupt(v1);
Index: kernel/current/tests/kintr0.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/kernel/current/tests/kintr0.c,v
retrieving revision 1.13
diff -u -r1.13 kintr0.c
--- kernel/current/tests/kintr0.c	15 Sep 2007 14:42:40 -0000	1.13
+++ kernel/current/tests/kintr0.c	21 Aug 2008 12:06:23 -0000
@@ -79,6 +79,12 @@
 # define PRIO_C 1
 #endif
 
+#ifdef HAL_INTR_TEST_EINT_NUM
+# define EINT_NUM HAL_INTR_TEST_EINT_NUM
+#else
+# define EINT_NUM (CYGNUM_HAL_ISR_MIN + ( 6 % CYGNUM_HAL_ISR_COUNT))
+#endif
+
 static cyg_interrupt intr_obj[2];
 
 static cyg_handle_t intr0, intr1;
@@ -165,7 +171,7 @@
         v1 = 12 % CYGNUM_HAL_ISR_COUNT;
     else /* NOTE TRAILING ELSE... */
 #endif
-    v1 = CYGNUM_HAL_ISR_MIN + ( 6 % CYGNUM_HAL_ISR_COUNT);
+    v1 = EINT_NUM;
 
     CHECK(flash());
     CHECK(flash());

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