]> Git Repo - qemu.git/blobdiff - hw/char/cmsdk-apb-uart.c
hw/char/cmsdk-apb-uart.c: Accept more input after character read
[qemu.git] / hw / char / cmsdk-apb-uart.c
index 1ad1e14295238affd5f54bc51260117519df4f44..ddfbb25c249972b6e25c6e629f9845d7b6c87b5a 100644 (file)
@@ -157,6 +157,7 @@ static uint64_t uart_read(void *opaque, hwaddr offset, unsigned size)
         r = s->rxbuf;
         s->state &= ~R_STATE_RXFULL_MASK;
         cmsdk_apb_uart_update(s);
+        qemu_chr_fe_accept_input(&s->chr);
         break;
     case A_STATE:
         r = s->state;
@@ -274,6 +275,7 @@ static void uart_write(void *opaque, hwaddr offset, uint64_t value,
          * is then reflected into the intstatus value by the update function).
          */
         s->state &= ~(value & (R_INTSTATUS_TXO_MASK | R_INTSTATUS_RXO_MASK));
+        s->intstatus &= ~value;
         cmsdk_apb_uart_update(s);
         break;
     case A_BAUDDIV:
This page took 0.023474 seconds and 4 git commands to generate.