diff --git a/repos/os/src/server/vmm/main.cc b/repos/os/src/server/vmm/main.cc index 89653826c9..701385bc43 100644 --- a/repos/os/src/server/vmm/main.cc +++ b/repos/os/src/server/vmm/main.cc @@ -1185,9 +1185,11 @@ class Vmm { if (!_terminal.avail()) return; - unsigned char c = 0; - _terminal.read(&c, 1); - _rx_buf.add(c); + while (_terminal.avail()) { + unsigned char c = 0; + _terminal.read(&c, 1); + _rx_buf.add(c); + } _gic.inject_irq(Board::PL011_0_IRQ); _ris |= 1 << 4;