[PATCH] or1ksim: Console: implement uart_read_polled
Hesham Moustafa
heshamelmatary at gmail.com
Mon Sep 29 05:57:10 UTC 2014
Hi,
This patch is needed for capture, pppd and any other tests that prompt
users to input data interactively.
Regards,
Hesham
On Fri, Sep 19, 2014 at 9:20 PM, Hesham ALMatary <heshamelmatary at gmail.com>
wrote:
> Implement uart_read_polled which is needed for any application that
> reads input from users. It works fine with pppd, capture, and all
> termios tests.
> ---
> c/src/lib/libbsp/or1k/or1ksim/console/uart.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/c/src/lib/libbsp/or1k/or1ksim/console/uart.c
> b/c/src/lib/libbsp/or1k/or1ksim/console/uart.c
> index f1cfa09..c0ee618 100644
> --- a/c/src/lib/libbsp/or1k/or1ksim/console/uart.c
> +++ b/c/src/lib/libbsp/or1k/or1ksim/console/uart.c
> @@ -86,9 +86,18 @@ static int uart_last_close(int major, int minor, void
> *arg)
> return 0;
> }
>
> -static int uart_read_polled(int minor)
> +static char uart_read_polled(int minor)
> {
> - return -1;
> + unsigned char lsr;
> + char c;
> +
> + /* Get a character when avaiable */
> + do {
> + lsr = OR1KSIM_REG(OR1KSIM_BSP_UART_REG_LINE_STATUS);
> + } while ((lsr & OR1KSIM_BSP_UART_REG_LINE_STATUS_DR)
> + != OR1KSIM_BSP_UART_REG_LINE_STATUS_DR);
> +
> + return OR1KSIM_REG(OR1KSIM_BSP_UART_REG_RX);
> }
>
> static void uart_write_polled(int minor, char c)
> --
> 1.9.3
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140929/53cb5e92/attachment-0002.html>
More information about the devel
mailing list