<!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-02-16)</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-02-16 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * libchip/serial/ns16550.c: Revert previous commit and extend existing
        mechanic.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/ChangeLog.diff?r1=text&tr1=1.539&r2=text&tr2=1.540&diff_format=h">M</a></td><td width='1%'>1.540</td><td width='100%'>c/src/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/libchip/serial/ns16550.c.diff?r1=text&tr1=1.48&r2=text&tr2=1.49&diff_format=h">M</a></td><td width='1%'>1.49</td><td width='100%'>c/src/libchip/serial/ns16550.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/ChangeLog:1.539 rtems/c/src/ChangeLog:1.540
--- rtems/c/src/ChangeLog:1.539 Tue Feb 15 17:25:24 2011
+++ rtems/c/src/ChangeLog       Wed Feb 16 02:25:00 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-02-16    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * libchip/serial/ns16550.c: Revert previous commit and extend existing
+       mechanic.
+
</font> 2011-02-15        Jennifer Averett
 
        * libchip/serial/ns16550.c, libchip/serial/ns16550_p.h: Support i386

<font color='#006600'>diff -u rtems/c/src/libchip/serial/ns16550.c:1.48 rtems/c/src/libchip/serial/ns16550.c:1.49
--- rtems/c/src/libchip/serial/ns16550.c:1.48   Tue Feb 15 17:25:24 2011
+++ rtems/c/src/libchip/serial/ns16550.c        Wed Feb 16 02:25:00 2011
</font><font color='#997700'>@@ -39,18 +39,16 @@
</font> 
 #include "ns16550_p.h"
 
<font color='#880000'>-#ifdef BSP_FEATURE_IRQ_EXTENSION
</font><font color='#000088'>+#if defined(BSP_FEATURE_IRQ_EXTENSION)
</font>   #include <bsp/irq.h>
<font color='#880000'>-#elif defined BSP_FEATURE_IRQ_LEGACY
</font><font color='#000088'>+#elif defined(BSP_FEATURE_IRQ_LEGACY)
</font>   #include <bsp/irq.h>
<font color='#880000'>-#elif defined __PPC__
</font><font color='#000088'>+#elif defined(__PPC__) || defined(__i386__)
</font>   #include <bsp/irq.h>
   #define BSP_FEATURE_IRQ_LEGACY
   #ifdef BSP_SHARED_HANDLER_SUPPORT
     #define BSP_FEATURE_IRQ_LEGACY_SHARED_HANDLER_SUPPORT
   #endif
<font color='#880000'>-#elif defined(__i386__)
-  #include <bsp/irq.h>
</font> #endif
 
 /*
<font color='#997700'>@@ -474,6 +472,7 @@
</font>   return 0;
 }
 
<font color='#000088'>+#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
</font> 
 /**
  * @brief Process interrupt.
<font color='#997700'>@@ -522,7 +521,6 @@
</font>     }
   } while ((get( port, NS16550_INTERRUPT_ID) & SP_IID_0) == 0);
 }
<font color='#880000'>-#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
</font> #endif
 
 /**
<font color='#997700'>@@ -580,12 +578,14 @@
</font>   (*setReg)(pNS16550, NS16550_INTERRUPT_ENABLE, mask);
 }
 
<font color='#880000'>- NS16550_STATIC rtems_isr ns16550_isr(void *arg)
- {
</font><font color='#000088'>+#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
+  NS16550_STATIC rtems_isr ns16550_isr(void *arg)
+  {
</font>     int minor = (int) arg;
 
     ns16550_process( minor);
<font color='#880000'>- }
</font><font color='#000088'>+  }
+#endif
</font> 
 /*
  *  ns16550_initialize_interrupts
<font color='#997700'>@@ -595,8 +595,8 @@
</font> NS16550_STATIC void ns16550_initialize_interrupts( int minor)
 {
 #if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
<font color='#880000'>-#endif
</font>   console_tbl *c = &Console_Port_Tbl [minor];
<font color='#000088'>+#endif
</font>   console_data *d = &Console_Port_Data [minor];
 
   d->bActive = false;
<font color='#997700'>@@ -648,23 +648,6 @@
</font>         rtems_fatal_error_occurred( 0xdeadbeef);
       }
     }
<font color='#880000'>-  #elif defined(__i386__)
-    {
-      int rv = 0;
-      rtems_irq_connect_data cd = {
-        c->ulIntVector,
-        ns16550_isr,
-        (void *) minor,
-        NULL,
-        NULL,
-        NULL
-      };
-      rv = BSP_install_rtems_irq_handler( &cd);
-      if (rv == 0) {
-        printk( "%s: Error: Install interrupt handler\n", __func__);
-        rtems_fatal_error_occurred( 0xdeadbeef);
-      }
-    }
</font>   #endif
 }
 
</pre>
<p> </p>
<a name='cs2'></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-02-16 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * rtems/powerpc/registers.h: Added FSL_EIS_ATBL, FSL_EIS_ATBL, and
        FSL_EIS_SPEFSCR defines.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/cpu/powerpc/ChangeLog.diff?r1=text&tr1=1.162&r2=text&tr2=1.163&diff_format=h">M</a></td><td width='1%'>1.163</td><td width='100%'>cpukit/score/cpu/powerpc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h.diff?r1=text&tr1=1.36&r2=text&tr2=1.37&diff_format=h">M</a></td><td width='1%'>1.37</td><td width='100%'>cpukit/score/cpu/powerpc/rtems/powerpc/registers.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/score/cpu/powerpc/ChangeLog:1.162 rtems/cpukit/score/cpu/powerpc/ChangeLog:1.163
--- rtems/cpukit/score/cpu/powerpc/ChangeLog:1.162      Tue Feb 15 01:45:16 2011
+++ rtems/cpukit/score/cpu/powerpc/ChangeLog    Wed Feb 16 02:27:14 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-02-16    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * rtems/powerpc/registers.h: Added FSL_EIS_ATBL, FSL_EIS_ATBL, and
+       FSL_EIS_SPEFSCR defines.
+
</font> 2011-02-15        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * rtems/powerpc/registers.h: Added MSR_UCLE, MSR_SPE, MSR_WE, and

<font color='#006600'>diff -u rtems/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h:1.36 rtems/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h:1.37
--- rtems/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h:1.36       Tue Feb 15 01:45:16 2011
+++ rtems/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h    Wed Feb 16 02:27:14 2011
</font><font color='#997700'>@@ -409,6 +409,15 @@
</font> #define FSL_EIS_L1CSR0 1010
 #define FSL_EIS_L1CSR1 1011
 
<font color='#000088'>+/* Freescale Book E Implementation Standards (EIS): Timer */
+
+#define FSL_EIS_ATBL 526
+#define FSL_EIS_ATBU 527
+
+/* Freescale Book E Implementation Standards (EIS): Signal Processing Engine (SPE) */
+
+#define FSL_EIS_SPEFSCR 512
+
</font> /**
  * @brief Default value for the interrupt disable mask.
  *
</pre>
<p> </p>
<a name='cs3'></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-02-16 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * shared/include/powerpc-utility.h: Fixed LINKER_SYMBOL() for
        assembler compatibilty.  Added synchronization, cache, and alternate
        time base functions.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/powerpc/ChangeLog.diff?r1=text&tr1=1.376&r2=text&tr2=1.377&diff_format=h">M</a></td><td width='1%'>1.377</td><td width='100%'>c/src/lib/libcpu/powerpc/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libcpu/powerpc/ChangeLog:1.376 rtems/c/src/lib/libcpu/powerpc/ChangeLog:1.377
--- rtems/c/src/lib/libcpu/powerpc/ChangeLog:1.376      Fri Feb 11 07:05:24 2011
+++ rtems/c/src/lib/libcpu/powerpc/ChangeLog    Wed Feb 16 02:33:02 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-02-16    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * shared/include/powerpc-utility.h: Fixed LINKER_SYMBOL() for
+       assembler compatibilty.  Added synchronization, cache, and alternate
+       time base functions.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * mpc55xx/include/mpc55xx.h:

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h:1.14 rtems/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h:1.15
--- rtems/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h:1.14        Fri Feb 11 03:46:53 2011
+++ rtems/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h     Wed Feb 16 02:33:02 2011
</font><font color='#997700'>@@ -8,7 +8,7 @@
</font>  */
 
 /*
<font color='#880000'>- * Copyright (c) 2008
</font><font color='#000088'>+ * Copyright (c) 2008, 2010, 2011
</font>  * Embedded Brains GmbH
  * Obere Lagerstr. 30
  * D-82178 Puchheim
<font color='#997700'>@@ -48,7 +48,7 @@
</font> 
 #include <libcpu/cpuIdent.h>
 
<font color='#880000'>-#define LINKER_SYMBOL(sym) extern char sym []
</font><font color='#000088'>+#define LINKER_SYMBOL(sym) extern char sym [];
</font> 
 /**
  * @brief Read one byte from @a src.
<font color='#997700'>@@ -211,6 +211,167 @@
</font>   __asm__ volatile ("isync");
 }
 
<font color='#000088'>+static inline void ppc_enforce_in_order_execution_of_io(void)
+{
+  RTEMS_COMPILER_MEMORY_BARRIER();
+
+  __asm__ volatile ("eieio");
+}
+
+static inline void ppc_data_cache_block_flush(void *addr)
+{
+  __asm__ volatile (
+    "dcbf 0, %0"
+    :
+    : "r" (addr)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_flush_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbf %0, %1"
+    :
+    : "b" (base), "r" (offset)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_invalidate(void *addr)
+{
+  __asm__ volatile (
+    "dcbi 0, %0"
+    :
+    : "r" (addr)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_invalidate_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbi %0, %1"
+    :
+    : "b" (base), "r" (offset)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_store(void *addr)
+{
+  __asm__ volatile (
+    "dcbst 0, %0"
+    :
+    : "r" (addr)
+  );
+}
+
+static inline void ppc_data_cache_block_store_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbst %0, %1"
+    :
+    : "b" (base), "r" (offset)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_touch(void *addr)
+{
+  __asm__ volatile (
+    "dcbt 0, %0"
+    :
+    : "r" (addr)
+  );
+}
+
+static inline void ppc_data_cache_block_touch_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbt %0, %1"
+    :
+    : "b" (base), "r" (offset)
+  );
+}
+
+static inline void ppc_data_cache_block_touch_for_store(void *addr)
+{
+  __asm__ volatile (
+    "dcbtst 0, %0"
+    :
+    : "r" (addr)
+  );
+}
+
+static inline void ppc_data_cache_block_touch_for_store_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbtst %0, %1"
+    :
+    : "b" (base), "r" (offset)
+  );
+}
+
+static inline void ppc_data_cache_block_clear_to_zero(void *addr)
+{
+  __asm__ volatile (
+    "dcbz 0, %0"
+    :
+    : "r" (addr)
+    : "memory"
+  );
+}
+
+static inline void ppc_data_cache_block_clear_to_zero_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "dcbz %0, %1"
+    :
+    : "b" (base), "r" (offset)
+    : "memory"
+  );
+}
+
+static inline void ppc_instruction_cache_block_invalidate(void *addr)
+{
+  __asm__ volatile (
+    "icbi 0, %0"
+    :
+    : "r" (addr)
+  );
+}
+
+static inline void ppc_instruction_cache_block_invalidate_2(
+  void *base,
+  void *offset
+)
+{
+  __asm__ volatile (
+    "icbi %0, %1"
+    :
+    : "b" (base), "r" (offset)
+  );
+}
+
</font> /**
  * @brief Enables external exceptions.
  *
<font color='#997700'>@@ -575,6 +736,41 @@
</font>   PPC_Set_timebase_register(val);
 }
 
<font color='#000088'>+static inline uint32_t ppc_alternate_time_base(void)
+{
+  return PPC_SPECIAL_PURPOSE_REGISTER(FSL_EIS_ATBL);
+}
+
+static inline uint32_t ppc_alternate_time_base_upper(void)
+{
+  return PPC_SPECIAL_PURPOSE_REGISTER(FSL_EIS_ATBU);
+}
+
+static inline uint64_t ppc_alternate_time_base_64(void)
+{
+  uint32_t atbl;
+  uint32_t atbu_0;
+  uint32_t atbu_1;
+
+  do {
+    atbu_0 = ppc_alternate_time_base_upper();
+    atbl = ppc_alternate_time_base();
+    atbu_1 = ppc_alternate_time_base_upper();
+  } while (atbu_0 != atbu_1);
+
+  return (((uint64_t) atbu_1) << 32) | ((uint64_t) atbl);
+}
+
+static inline uint32_t ppc_processor_id(void)
+{
+  return PPC_SPECIAL_PURPOSE_REGISTER(BOOKE_PIR);
+}
+
+static inline void ppc_set_processor_id(uint32_t val)
+{
+  PPC_SET_SPECIAL_PURPOSE_REGISTER(BOOKE_PIR, val);
+}
+
</font> void ppc_code_copy(void *dest, const void *src, size_t n);
 
 #endif /* ifndef ASM */
</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>