Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/pl011/pl011.c

    r39e1b9a r28a5ebd  
    5656}
    5757
    58 static void pl011_uart_write(outdev_t *dev, const char *s, size_t n)
     58static void pl011_uart_putuchar(outdev_t *dev, char32_t ch)
    5959{
    6060        pl011_uart_t *uart = dev->data;
     
    6464                return;
    6565
    66         const char *top = s + n;
    67         assert(top >= s);
    68 
    69         for (; s < top; s++) {
    70                 if (*s == '\n')
    71                         pl011_uart_sendb(uart, '\r');
    72 
    73                 pl011_uart_sendb(uart, (uint8_t) *s);
     66        if (!ascii_check(ch))
     67                pl011_uart_sendb(uart, U_SPECIAL);
     68        else {
     69                if (ch == '\n')
     70                        pl011_uart_sendb(uart, (uint8_t) '\r');
     71                pl011_uart_sendb(uart, (uint8_t) ch);
    7472        }
    7573}
    7674
    7775static outdev_operations_t pl011_uart_ops = {
    78         .write = pl011_uart_write,
     76        .write = pl011_uart_putuchar,
    7977        .redraw = NULL,
    8078        .scroll_up = NULL,
Note: See TracChangeset for help on using the changeset viewer.