[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

error in mcp750 board support



>>>>> "Jay" == Jay Kulpinski <jskulpin at eng01.gdds.com> writes:

Jay> This looks like an error in the C_dispatch_irq_handler function from
Jay> rtems-19990709/c/src/lib/libbsp/powerpc/mcp750/irq/irq.c, lines 
Jay> 357 and 392:

Jay>     outport_byte(PIC_SLAVE_IMR_IO_PORT, ((i8259s_cache & 0xff00) > 8));

Jay> Shouldn't ">" be ">>" ?

Of course. Shame on me... Thanks a lot for your proof reading. Do not 
hesitate to find other bugs :-) I prefer to have them found by others
than after hours of debug...

   -------------------------------------------------------------------
*** irq.c       Mon Jul 26 09:33:41 1999
--- irq.c.new   Mon Jul 26 09:32:41 1999
***************
*** 355,361 ****
      newMask = oldMask | irq_mask_or_tbl [irq];
      i8259s_cache = newMask;
      outport_byte(PIC_MASTER_IMR_IO_PORT, i8259s_cache & 0xff);
!     outport_byte(PIC_SLAVE_IMR_IO_PORT, ((i8259s_cache & 0xff00) > 8));
      BSP_irq_ack_at_i8259s (irq);
      openpic_eoi(0);
    }
--- 355,361 ----
      newMask = oldMask | irq_mask_or_tbl [irq];
      i8259s_cache = newMask;
      outport_byte(PIC_MASTER_IMR_IO_PORT, i8259s_cache & 0xff);
!     outport_byte(PIC_SLAVE_IMR_IO_PORT, ((i8259s_cache & 0xff00) >> 8));
      BSP_irq_ack_at_i8259s (irq);
      openpic_eoi(0);
    }
***************
*** 370,376 ****
    if (isaIntr)  {
      i8259s_cache = oldMask;
      outport_byte(PIC_MASTER_IMR_IO_PORT, i8259s_cache & 0xff);
!     outport_byte(PIC_SLAVE_IMR_IO_PORT, ((i8259s_cache & 0xff00) > 8));
    }
    else {
      openpic_eoi(0);
--- 370,376 ----
    if (isaIntr)  {
      i8259s_cache = oldMask;
      outport_byte(PIC_MASTER_IMR_IO_PORT, i8259s_cache & 0xff);
!     outport_byte(PIC_SLAVE_IMR_IO_PORT, ((i8259s_cache & 0xff00) >> 8));
    }
    else {
      openpic_eoi(0);
   ------------------------------------------------------------------

-- 
   __                 
  /  `                   	Eric Valette
 /--   __  o _.          	Canon CRF - Communication Dept
(___, / (_(_(__         	Rue de la touche lambert
				35517 Cesson-Sevigne  Cedex
				FRANCE
Tel: +33 (0)2 99 87 68 91	Fax: +33 (0)2 99 84 11 30
E-mail: valette at crf.canon.fr	http://www.crf.canon.fr