[rtems commit] LEON3: console, lower bus utilization waiting for UART TX ready
Gedare Bloom
gedare at rtems.org
Thu Apr 19 16:31:40 UTC 2012
Module: rtems
Branch: master
Commit: 6845f8005cc3a028b2fea636a73e0cf11d4da316
Changeset: http://git.rtems.org/rtems/commit/?id=6845f8005cc3a028b2fea636a73e0cf11d4da316
Author: Daniel Hellstrom <daniel at gaisler.com>
Date: Thu Apr 19 15:21:20 2012 +0200
LEON3: console, lower bus utilization waiting for UART TX ready
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;
}
More information about the vc
mailing list