[PATCH 34.0 1/6] LEON3: console, lower bus utilization waiting for UART TX ready

Daniel Hellstrom daniel at gaisler.com
Wed Apr 18 15:19:30 UTC 2012


Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
---
 c/src/lib/libbsp/sparc/leon3/console/debugputs.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
index c6e0648..951218a 100644
--- a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
+++ b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
@@ -13,8 +13,6 @@
  *  The license and distribution terms for this file may be
  *  found in the file LICENSE in this distribution or at
  *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
  */
 
 #include <bsp.h>
@@ -94,7 +92,13 @@ void apbuart_outbyte_polled(
   unsigned char ch
 )
 {
-  while ( (regs->status & LEON_REG_UART_STATUS_THE) == 0 );
+  while ( (regs->status & LEON_REG_UART_STATUS_THE) == 0 ) {
+    /* Lower bus utilization while waiting for UART */
+    asm volatile ("nop"::); asm volatile ("nop"::);
+    asm volatile ("nop"::); asm volatile ("nop"::);
+    asm volatile ("nop"::); asm volatile ("nop"::);
+    asm volatile ("nop"::); asm volatile ("nop"::);
+  }
   regs->data = (unsigned int) ch;
 }
 
-- 
1.7.0.4




More information about the devel mailing list