From ncrcol!gmb@ncrcol.columbiasc.NCR.COM Wed May  6 12:02:33 1992
Return-Path: <gmb@ncrcol.columbiasc.NCR.COM>
Received: from ncrcom.DaytonOH.NCR.COM by cygnus.com (4.1/SMI-4.1)
	id AA12783; Wed, 6 May 92 12:00:50 PDT
Received: from ncrcae by ncrcom.DaytonOH.NCR.COM id ac07542; 6 May 92 14:05 EDT
Received: by ncrcol.ncr.com ( 5.52 (84)/BSD4.3)
	id AA12929; Wed, 6 May 92 13:50:35 EDT
Date: Wed, 6 May 92 13:50:35 EDT
Message-Id: <9205061750.AA12929@ncrcol.ncr.com>
From: ncrcol!gmb@ncrcol.columbiasc.NCR.COM
To: "ncrcae!ncrcol.ColumbiaSC.NCR.COM! ncrcae! eichin%cygnus.com"@ncrcol.columbiasc.NCR.COM,
        "ncrcae!ncrcol.ColumbiaSC.NCR.COM! ncrcae! tytso%athena.mit.edu"@ncrcol.columbiasc.NCR.COM
Subject: patch to STI instruction 
SUB: patch to STI instruction 
SUM: <gmb@ncrcol.columbiasc.NCR.COM>, ncrcol!gmb@ncrcol.columbiasc.NCR.COM->"ncrcae!ncrcol.ColumbiaSC.NCR.COM! ncrcae! eichin%cygnus.com"@ncrcol.columbiasc.NCR.COM,, "ncrcae!ncrcol.ColumbiaSC.NCR.COM! ncrcae! tytso%athena.mit.edu"@ncrcol.columbiasc.NCR.COM

Here's a patch for the STI instruction so it doesn't
turn on the interrupt flag until the following instruction
is finished:

*** /tmp/,RCSt1a01066   Wed May  6 14:01:53 1992
--- flags.c     Wed May  6 13:52:10 1992
***************
*** 80,85 ****
--- 80,90 ----

  unsigned char *i_fb(pc)
  unsigned char *pc; {
+ /*
+  * Pending interrupts are not recognized until
+  * the instruction following STI has executed.
+  */
+   pc = atomic_interpret(pc);
    INTERRUPT = 1;
    return do_interrupt(pc);
  }

 


