changeset 2676:b86956327ae6

* include/pcmb_io.h (HAL_PCI_TRANSLATE_INTERRUPT): Fixed PCI interrupt vector translation.
author nickg
date Wed, 03 Dec 2008 09:45:28 +0000
parents b0cbed34a04d
children d16f29a90821
files packages/hal/i386/pcmb/current/ChangeLog packages/hal/i386/pcmb/current/include/pcmb_io.h
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/i386/pcmb/current/ChangeLog
+++ b/packages/hal/i386/pcmb/current/ChangeLog
@@ -1,3 +1,8 @@
+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
--- a/packages/hal/i386/pcmb/current/include/pcmb_io.h
+++ b/packages/hal/i386/pcmb/current/include/pcmb_io.h
@@ -161,9 +161,9 @@ CYG_MACRO_END
 #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
 
 //-----------------------------------------------------------------------------