<!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-03-04)</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>joel</strong></font>
<font color='#225522'><em>(on branch rtems-4-10-branch)</em></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1748/bsps
* clock/ckinit.c: When the clock tick generates an interrupt WHILE we
have interrupts disabled doing a get TOD or uptime, the get
nanoseconds handler was returning a bogusly large number.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog.diff?r1=text&tr1=1.163&r2=text&tr2=1.164&diff_format=h">M</a></td><td width='1%'>1.164</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog.diff?r1=text&tr1=1.123.2.3&r2=text&tr2=1.123.2.4&diff_format=h">M</a></td><td width='1%'>1.123.2.4</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog.diff?r1=text&tr1=1.152.2.2&r2=text&tr2=1.152.2.3&diff_format=h">M</a></td><td width='1%'>1.152.2.3</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c.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%'>c/src/lib/libbsp/sparc/erc32/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.15.2.1&diff_format=h">M</a></td><td width='1%'>1.15.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c.diff?r1=text&tr1=1.17&r2=text&tr2=1.17.2.1&diff_format=h">M</a></td><td width='1%'>1.17.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog.diff?r1=text&tr1=1.79&r2=text&tr2=1.80&diff_format=h">M</a></td><td width='1%'>1.80</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog.diff?r1=text&tr1=1.42.2.3&r2=text&tr2=1.42.2.4&diff_format=h">M</a></td><td width='1%'>1.42.2.4</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog.diff?r1=text&tr1=1.71.2.1&r2=text&tr2=1.71.2.2&diff_format=h">M</a></td><td width='1%'>1.71.2.2</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c.diff?r1=text&tr1=1.5&r2=text&tr2=1.5.2.1&diff_format=h">M</a></td><td width='1%'>1.5.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.7.2.1&diff_format=h">M</a></td><td width='1%'>1.7.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon2/clock/ckinit.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.163 rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.164
--- rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.163 Thu Mar 3 08:03:40 2011
+++ rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog Fri Mar 4 08:06:47 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2011-03-03 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1750/bsps
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.123.2.3 rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.123.2.4
--- rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.123.2.3 Mon Mar 9 11:53:38 2009
+++ rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog Fri Mar 4 08:07:15 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2009-03-09 Antoine Lacroix <antoine.lacroix at sodern.fr>
PR 1391/bsps
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.152.2.2 rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.152.2.3
--- rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.152.2.2 Thu Mar 3 08:03:48 2011
+++ rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog Fri Mar 4 08:07:04 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2011-03-03 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1750/bsps
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.17 rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.18
--- rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.17 Sun Nov 29 09:33:26 2009
+++ rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c Fri Mar 4 08:06:47 2011
</font><font color='#997700'>@@ -49,11 +49,17 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
clicks = ERC32_MEC.Real_Time_Clock_Counter;
<font color='#880000'>- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( ERC32_Is_interrupt_pending( ERC32_INTERRUPT_REAL_TIME_CLOCK ) ) {
+ clicks = ERC32_MEC.Real_Time_Clock_Counter;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
#define Clock_driver_nanoseconds_since_last_tick \
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.15 rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.15.2.1
--- rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.15 Wed May 7 12:39:48 2008
+++ rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c Fri Mar 4 08:07:15 2011
</font><font color='#997700'>@@ -49,11 +49,17 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
clicks = ERC32_MEC.Real_Time_Clock_Counter;
<font color='#880000'>- return (uint32_t)<span style="background-color: #FF0000"> </span>
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( ERC32_Is_interrupt_pending( ERC32_INTERRUPT_REAL_TIME_CLOCK ) ) {
+ clicks = ERC32_MEC.Real_Time_Clock_Counter;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
#define Clock_driver_nanoseconds_since_last_tick \
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.17 rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.17.2.1
--- rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c:1.17 Sun Nov 29 09:33:26 2009
+++ rtems/c/src/lib/libbsp/sparc/erc32/clock/ckinit.c Fri Mar 4 08:07:04 2011
</font><font color='#997700'>@@ -49,11 +49,17 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
clicks = ERC32_MEC.Real_Time_Clock_Counter;
<font color='#880000'>- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( ERC32_Is_interrupt_pending( ERC32_INTERRUPT_REAL_TIME_CLOCK ) ) {
+ clicks = ERC32_MEC.Real_Time_Clock_Counter;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
#define Clock_driver_nanoseconds_since_last_tick \
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.79 rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.80
--- rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.79 Fri Feb 11 04:06:49 2011
+++ rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog Fri Mar 4 08:06:50 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* cchip/cchip.c, include/tm27.h, startup/spurious.c:
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.42.2.3 rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.42.2.4
--- rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.42.2.3 Mon Mar 9 11:53:41 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog Fri Mar 4 08:07:16 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2009-03-09 Antoine Lacroix <antoine.lacroix at sodern.fr>
PR 1391/bsps
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.71.2.1 rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.71.2.2
--- rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.71.2.1 Wed Feb 2 09:17:16 2011
+++ rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog Fri Mar 4 08:07:06 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c: When the clock tick generates an interrupt WHILE we
+ have interrupts disabled doing a get TOD or uptime, the get
+ nanoseconds handler was returning a bogusly large number.
+
</font> 2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.68, automake-1.11.1.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.7 rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.8
--- rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.7 Sun Nov 29 09:33:26 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c Fri Mar 4 08:06:50 2011
</font><font color='#997700'>@@ -62,12 +62,15 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
<font color='#880000'>- clicks = LEON_REG.Timer_Counter_1;
-
- /* Down counter */
- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( LEON_INTERRUPT_TIMER1 ) ) {
+ clicks = LEON_REG.Timer_Counter_1;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.5 rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.5.2.1
--- rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.5 Wed May 7 12:39:50 2008
+++ rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c Fri Mar 4 08:07:17 2011
</font><font color='#997700'>@@ -59,17 +59,22 @@
</font> LEON_REG.Timer_Control_1 = 0; \
} while (0)
<font color='#000088'>+
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
<font color='#880000'>- clicks = LEON_REG.Timer_Counter_1;
-
- /* Down counter */
- return (uint32_t)<span style="background-color: #FF0000"> </span>
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( LEON_INTERRUPT_TIMER1 ) ) {
+ clicks = LEON_REG.Timer_Counter_1;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
<font color='#880000'>-#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
</font><font color='#000088'>+#define Clock_driver_nanoseconds_since_last_tick \
+ bsp_clock_nanoseconds_since_last_tick
</font>
#include "../../../shared/clockdrv_shell.c"
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.7 rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.7.2.1
--- rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c:1.7 Sun Nov 29 09:33:26 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/clock/ckinit.c Fri Mar 4 08:07:06 2011
</font><font color='#997700'>@@ -62,12 +62,15 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
</font>
<font color='#880000'>- clicks = LEON_REG.Timer_Counter_1;
-
- /* Down counter */
- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( LEON_INTERRUPT_TIMER1 ) ) {
+ clicks = LEON_REG.Timer_Counter_1;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
</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>joel</strong></font>
<font color='#225522'><em>(on branch rtems-4-10-branch)</em></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1748/bsps
* clock/ckinit.c, include/leon.h: When the clock tick generates an
interrupt WHILE we have interrupts disabled doing a get TOD or
uptime, the get nanoseconds handler was returning a bogusly large
number.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog.diff?r1=text&tr1=1.101&r2=text&tr2=1.102&diff_format=h">M</a></td><td width='1%'>1.102</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog.diff?r1=text&tr1=1.64.2.3&r2=text&tr2=1.64.2.4&diff_format=h">M</a></td><td width='1%'>1.64.2.4</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog.diff?r1=text&tr1=1.95.2.1&r2=text&tr2=1.95.2.2&diff_format=h">M</a></td><td width='1%'>1.95.2.2</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c.diff?r1=text&tr1=1.13&r2=text&tr2=1.13.2.1&diff_format=h">M</a></td><td width='1%'>1.13.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.15.2.1&diff_format=h">M</a></td><td width='1%'>1.15.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/clock/ckinit.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/include/leon.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.7.4.1&diff_format=h">M</a></td><td width='1%'>1.7.4.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/include/leon.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h.diff?r1=text&tr1=1.8&r2=text&tr2=1.8.2.1&diff_format=h">M</a></td><td width='1%'>1.8.2.1</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/include/leon.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.101 rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.102
--- rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.101 Fri Feb 11 04:06:51 2011
+++ rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog Fri Mar 4 08:06:53 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c, include/leon.h: When the clock tick generates an
+ interrupt WHILE we have interrupts disabled doing a get TOD or
+ uptime, the get nanoseconds handler was returning a bogusly large
+ number.
+
</font> 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* amba/amba.c, include/tm27.h, shmsupp/lock.c, startup/bspstart.c,
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.64.2.3 rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.64.2.4
--- rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.64.2.3 Mon Mar 9 11:53:43 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog Fri Mar 4 08:07:19 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c, include/leon.h: When the clock tick generates an
+ interrupt WHILE we have interrupts disabled doing a get TOD or
+ uptime, the get nanoseconds handler was returning a bogusly large
+ number.
+
</font> 2009-03-09 Antoine Lacroix <antoine.lacroix at sodern.fr>
PR 1391/bsps
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.95.2.1 rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.95.2.2
--- rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.95.2.1 Wed Feb 2 09:17:19 2011
+++ rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog Fri Mar 4 08:07:08 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ PR 1748/bsps
+ * clock/ckinit.c, include/leon.h: When the clock tick generates an
+ interrupt WHILE we have interrupts disabled doing a get TOD or
+ uptime, the get nanoseconds handler was returning a bogusly large
+ number.
+
</font> 2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.68, automake-1.11.1.
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.15 rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.16
--- rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.15 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c Fri Mar 4 08:06:53 2011
</font><font color='#997700'>@@ -97,16 +97,23 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
+
</font> if ( !LEON3_Timer_Regs )
return 0;
clicks = LEON3_Timer_Regs->timer[0].value;
<font color='#880000'>- /* Down counter */
- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( clkirq ) ) {
+ clicks = LEON3_Timer_Regs->timer[0].value;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
<font color='#880000'>-#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
</font><font color='#000088'>+#define Clock_driver_nanoseconds_since_last_tick \
+ bsp_clock_nanoseconds_since_last_tick
</font>
#include "../../../shared/clockdrv_shell.h"
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.13 rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.13.2.1
--- rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.13 Wed May 7 12:40:52 2008
+++ rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c Fri Mar 4 08:07:19 2011
</font><font color='#997700'>@@ -97,16 +97,18 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#880000'>- if ( !LEON3_Timer_Regs )
- return 0;
</font><font color='#000088'>+ uint32_t usecs;
</font>
<font color='#880000'>- clicks = LEON3_Timer_Regs->timer[0].value;
-
- /* Down counter */
- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( LEON_INTERRUPT_TIMER1 ) ) {
+ clicks = LEON_REG.Timer_Counter_1;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
<font color='#880000'>-#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
</font><font color='#000088'>+#define Clock_driver_nanoseconds_since_last_tick \
+ bsp_clock_nanoseconds_since_last_tick
</font>
#include "../../../shared/clockdrv_shell.c"
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.15 rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.15.2.1
--- rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c:1.15 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c Fri Mar 4 08:07:08 2011
</font><font color='#997700'>@@ -97,16 +97,24 @@
</font> uint32_t bsp_clock_nanoseconds_since_last_tick(void)
{
uint32_t clicks;
<font color='#000088'>+ uint32_t usecs;
+
</font> if ( !LEON3_Timer_Regs )
return 0;
clicks = LEON3_Timer_Regs->timer[0].value;
<font color='#880000'>- /* Down counter */
- return (uint32_t)
- (rtems_configuration_get_microseconds_per_tick() - clicks) * 1000;
</font><font color='#000088'>+ if ( LEON_Is_interrupt_pending( clkirq ) ) {
+ clicks = LEON3_Timer_Regs->timer[0].value;
+ usecs = (2*rtems_configuration_get_microseconds_per_tick() - clicks);
+ } else {
+ usecs = (rtems_configuration_get_microseconds_per_tick() - clicks);
+ }
+ return usecs * 1000;
</font> }
<font color='#880000'>-#define Clock_driver_nanoseconds_since_last_tick bsp_clock_nanoseconds_since_last_tick
</font><font color='#000088'>+
+#define Clock_driver_nanoseconds_since_last_tick \
+ bsp_clock_nanoseconds_since_last_tick
</font>
#include "../../../shared/clockdrv_shell.h"
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.8 rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.9
--- rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.8 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h Fri Mar 4 08:06:54 2011
</font><font color='#997700'>@@ -245,11 +245,11 @@
</font> } while (0)
#define LEON_Is_interrupt_pending( _source ) \
<font color='#880000'>- (LEON3_IrqCtrl_Regs.ipend & (1 << (_source)))
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->ipend & (1 << (_source)))
</font>
#define LEON_Is_interrupt_masked( _source ) \
do {\
<font color='#880000'>- (LEON3_IrqCtrl_Regs.mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font> } while (0)
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.7 rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.7.4.1
--- rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.7 Wed Sep 5 19:01:30 2007
+++ rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h Fri Mar 4 08:07:19 2011
</font><font color='#997700'>@@ -245,11 +245,11 @@
</font> } while (0)
#define LEON_Is_interrupt_pending( _source ) \
<font color='#880000'>- (LEON3_IrqCtrl_Regs.ipend & (1 << (_source)))
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->ipend & (1 << (_source)))
</font>
#define LEON_Is_interrupt_masked( _source ) \
do {\
<font color='#880000'>- (LEON3_IrqCtrl_Regs.mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font> } while (0)
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.8 rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.8.2.1
--- rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h:1.8 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/include/leon.h Fri Mar 4 08:07:08 2011
</font><font color='#997700'>@@ -245,11 +245,11 @@
</font> } while (0)
#define LEON_Is_interrupt_pending( _source ) \
<font color='#880000'>- (LEON3_IrqCtrl_Regs.ipend & (1 << (_source)))
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->ipend & (1 << (_source)))
</font>
#define LEON_Is_interrupt_masked( _source ) \
do {\
<font color='#880000'>- (LEON3_IrqCtrl_Regs.mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font><font color='#000088'>+ (LEON3_IrqCtrl_Regs->mask[LEON3_Cpu_Index] & (1 << (_source))); \
</font> } while (0)
</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>