This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
PC PCI interrupt translation fix
- From: Nick Garnett <nickg at ecoscentric dot com>
- To: ecos-patches at ecos dot sourceware dot org
- Date: 03 Dec 2008 09:46:21 +0000
- Subject: 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