change log for rtems (2011-08-04)
rtems-vc at rtems.org
rtems-vc at rtems.org
Fri Aug 5 01:10:26 UTC 2011
*strauman*:
2011-08-04 Till Straumann <strauman at slac.stanford.edu>
* shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
which moved code around, apparently): *must* store i8259
mask to frame *before* switching to IRQ stack. The code
retrieves the mask after switching back to original stack.
Also, the IRQ stack has no reserved space for the mask;
storing it there could overwrite memory!
M 1.86 c/src/lib/libbsp/i386/ChangeLog
M 1.27 c/src/lib/libbsp/i386/shared/irq/irq_asm.S
diff -u rtems/c/src/lib/libbsp/i386/ChangeLog:1.85 rtems/c/src/lib/libbsp/i386/ChangeLog:1.86
--- rtems/c/src/lib/libbsp/i386/ChangeLog:1.85 Mon Aug 1 08:41:50 2011
+++ rtems/c/src/lib/libbsp/i386/ChangeLog Thu Aug 4 19:15:50 2011
@@ -1,3 +1,12 @@
+2011-08-04 Till Straumann <strauman at slac.stanford.edu>
+
+ * shared/irq/irq_asm.S: BUGFIX (introduced by SMP changes
+ which moved code around, apparently): *must* store i8259
+ mask to frame *before* switching to IRQ stack. The code
+ retrieves the mask after switching back to original stack.
+ Also, the IRQ stack has no reserved space for the mask;
+ storing it there could overwrite memory!
+
2011-08-01 Jennifer Averett <Jennifer.Averett at OARcorp.com>
PR 1802
diff -u rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.26 rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.27
--- rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S:1.26 Mon Aug 1 08:41:50 2011
+++ rtems/c/src/lib/libbsp/i386/shared/irq/irq_asm.S Thu Aug 4 19:15:50 2011
@@ -76,6 +76,8 @@
movl ebx, EBX_OFF(esp)
movl eax, ESP_OFF(esp)
movl ebp, EBP_OFF(esp)
+ movw SYM (i8259s_cache), ax /* save current i8259 interrupt mask */
+ movl eax, MSK_OFF(esp) /* save in stack frame */
#ifdef __SSE__
/* NOTE: SSE only is supported if the BSP enables fxsave/fxrstor
@@ -142,8 +144,7 @@
/*
* acknowledge the interrupt
*/
- movw SYM (i8259s_cache), ax /* save current i8259 interrupt mask */
- movl eax, MSK_OFF(esp) /* save in stack frame */
+ movw SYM (i8259s_cache), ax /* fetch current i8259 interrupt mask */
/*
* compute the new PIC mask:
--
Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20110804/4a5fbb5b/attachment.html>
More information about the vc
mailing list