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]

PC PCI interrupt translation fix


Propagate a patch from eCosCentric sources.


Index: pcmb/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/i386/pcmb/current/ChangeLog,v
retrieving revision 1.23
diff -u -5 -r1.23 ChangeLog
--- pcmb/current/ChangeLog	27 Apr 2005 18:57:51 -0000	1.23
+++ pcmb/current/ChangeLog	2 Dec 2008 17:50:38 -0000
@@ -1,5 +1,10 @@
+2006-06-02  Nick Garnett  <nickg@ecoscentric.com>
+
+	* include/pcmb_io.h (HAL_PCI_TRANSLATE_INTERRUPT): Fixed PCI
+	interrupt vector translation.
+
 2005-04-27  David Vrabel <dvrabel@arcom.com>
 
 	* cdl/hal_i386_pcmb.cdl (CYGPKG_HAL_I386_PCMB_MEMSIZE): Moved this
 	PC specific option to the pc package.
 
Index: pcmb/current/include/pcmb_io.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/i386/pcmb/current/include/pcmb_io.h,v
retrieving revision 1.10
diff -u -5 -r1.10 pcmb_io.h
--- pcmb/current/include/pcmb_io.h	20 Sep 2003 19:23:43 -0000	1.10
+++ pcmb/current/include/pcmb_io.h	2 Dec 2008 17:50:38 -0000
@@ -159,13 +159,13 @@
 // INTC# or INTD#) to the associated CPU interrupt (i.e., HAL vector).
 
 #define HAL_PCI_TRANSLATE_INTERRUPT( __bus, __devfn, __vec, __valid)            \
 CYG_MACRO_START                                                                 \
 	HAL_PCI_CFG_READ_UINT8((__bus),(__devfn),CYG_PCI_CFG_INT_LINE,(__vec)); \
-	if(__vec<=15) __valid=1;                                                \
+	if(__vec<=15) __vec += 0x20, __valid=1;                                 \
+        else if( 0x20 <= __vec && __vec <= 0x30 ) __valid=1;                    \
 	else __valid=0;                                                         \
-	__vec += 0x20;                                                          \
 CYG_MACRO_END
 
 //-----------------------------------------------------------------------------
 // CMOS RAM access
 



-- 
Nick Garnett                                      eCos Kernel Architect
eCosCentric Limited    http://www.eCosCentric.com      The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.     Tel: +44 1223 245571
Registered in England and Wales:                        Reg No: 4422071


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