<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-08-09)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-08-09 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * cpu_asm.S, rtems/score/cpu.h: There is no need to save the global
        pointer (gp) in the thread register context since it is a system wide
        constant and set-up with the C runtime environment.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/cpu/nios2/ChangeLog.diff?r1=text&tr1=1.29&r2=text&tr2=1.30&diff_format=h">M</a></td><td width='1%'>1.30</td><td width='100%'>cpukit/score/cpu/nios2/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/cpu/nios2/cpu_asm.S.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>cpukit/score/cpu/nios2/cpu_asm.S</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/cpu/nios2/rtems/score/cpu.h.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>cpukit/score/cpu/nios2/rtems/score/cpu.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/score/cpu/nios2/ChangeLog:1.29 rtems/cpukit/score/cpu/nios2/ChangeLog:1.30
--- rtems/cpukit/score/cpu/nios2/ChangeLog:1.29 Sun Jul 24 18:43:07 2011
+++ rtems/cpukit/score/cpu/nios2/ChangeLog      Tue Aug  9 05:28:09 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-08-09    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * cpu_asm.S, rtems/score/cpu.h: There is no need to save the global
+       pointer (gp) in the thread register context since it is a system wide
+       constant and set-up with the C runtime environment.
+
</font> 2011-07-24        Joel Sherrill <joel.sherrill@oarcorp.com>
 
        * cpu.c: Remove /*PAGE markers which were interpreted by a long dead

<font color='#006600'>diff -u rtems/cpukit/score/cpu/nios2/cpu_asm.S:1.6 rtems/cpukit/score/cpu/nios2/cpu_asm.S:1.7
--- rtems/cpukit/score/cpu/nios2/cpu_asm.S:1.6  Sat Mar 27 10:02:21 2010
+++ rtems/cpukit/score/cpu/nios2/cpu_asm.S      Tue Aug  9 05:28:09 2011
</font><font color='#997700'>@@ -46,12 +46,11 @@
</font>     stw r21, 20(r4)
     stw r22, 24(r4)
     stw r23, 28(r4)
<font color='#880000'>-    stw gp,  32(r4)
-    stw fp,  36(r4)
-    stw sp,  40(r4)
-    stw ra,  44(r4)
</font><font color='#000088'>+    stw fp,  32(r4)
+    stw sp,  36(r4)
+    stw ra,  40(r4)
</font>     /* r6 saved status */
<font color='#880000'>-    stw r6,  48(r4)
</font><font color='#000088'>+    stw r6,  44(r4)
</font> 
 _CPU_Context_switch_restore:
 
<font color='#997700'>@@ -63,15 +62,14 @@
</font>     ldw r21, 20(r5)
     ldw r22, 24(r5)
     ldw r23, 28(r5)
<font color='#880000'>-    ldw gp,  32(r5)
-    ldw fp,  36(r5)
-    ldw sp,  40(r5)
</font><font color='#000088'>+    ldw fp,  32(r5)
+    ldw sp,  36(r5)
</font> 
     /* Disable interrupts */
     wrctl status, r0
 
<font color='#880000'>-    ldw ea,  44(r5)
-    ldw at,  48(r5)
</font><font color='#000088'>+    ldw ea,  40(r5)
+    ldw at,  44(r5)
</font>     /* FIXME: Always have interrupts enabled when we return from Context_switch */
     ori at, at, 1
     wrctl estatus, at

<font color='#006600'>diff -u rtems/cpukit/score/cpu/nios2/rtems/score/cpu.h:1.17 rtems/cpukit/score/cpu/nios2/rtems/score/cpu.h:1.18
--- rtems/cpukit/score/cpu/nios2/rtems/score/cpu.h:1.17 Thu Oct 21 17:14:02 2010
+++ rtems/cpukit/score/cpu/nios2/rtems/score/cpu.h      Tue Aug  9 05:28:09 2011
</font><font color='#997700'>@@ -453,27 +453,27 @@
</font>  */
 
 /**
<font color='#880000'>- *  @ingroup CPUContext Management
- *  This defines the minimal set of integer and processor state registers
- *  that must be saved during a voluntary context switch from one thread
- *  to another.
</font><font color='#000088'>+ * @brief Thread register context.
+ *
+ * The thread register context covers the non-volatile registers, the thread
+ * stack pointer, the return address, and the processor status.
+ *
+ * There is no need to save the global pointer (gp) since it is a system wide
+ * constant and set-up with the C runtime environment.
</font>  */
 typedef struct {
<font color='#880000'>-    uint32_t r16;
-    uint32_t r17;
-    uint32_t r18;
-    uint32_t r19;
-    uint32_t r20;
-    uint32_t r21;
-    uint32_t r22;
-    uint32_t r23;
-    uint32_t gp;
-    uint32_t fp;
-    uint32_t sp;
-    uint32_t ra;
-    uint32_t status;
-    /* ienable? */
-    /* ipending? */
</font><font color='#000088'>+  uint32_t r16;
+  uint32_t r17;
+  uint32_t r18;
+  uint32_t r19;
+  uint32_t r20;
+  uint32_t r21;
+  uint32_t r22;
+  uint32_t r23;
+  uint32_t fp;
+  uint32_t sp;
+  uint32_t ra;
+  uint32_t status;
</font> } Context_Control;
 
 #define _CPU_Context_Get_SP( _context ) \
<font color='#997700'>@@ -866,9 +866,7 @@
</font> #define _CPU_Context_Initialize( _the_context, _stack_base, _size, \
                                  _isr, _entry_point, _is_fp ) \
    do { \
<font color='#880000'>-     extern char _gp[]; \
</font>      uint32_t _stack = (uint32_t)(_stack_base) + (_size) - 4; \
<font color='#880000'>-     (_the_context)->gp = (void *)_gp; \
</font>      (_the_context)->fp = (void *)_stack; \
      (_the_context)->sp = (void *)_stack; \
      (_the_context)->ra = (void *)(_entry_point); \
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>