VirtualBox

Changeset 99529 in vbox


Ignore:
Timestamp:
Apr 26, 2023 6:07:54 AM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157038
Message:

Devices/DevPL011: Need to set and clear the TX FIFO full bit as well, fixes losing characters, bugref:10403

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Serial/DevPL011.cpp

    r99152 r99529  
    421421#else
    422422            pThis->uRegDr = bVal;
    423             pThis->uRegFr |= PL011_REG_UARTFR_BUSY;
     423            pThis->uRegFr |= PL011_REG_UARTFR_BUSY | PL011_REG_UARTFR_TXFF;
    424424            pl011IrqUpdate(pDevIns, pThis, pThisCC);
    425425            fNotifyDrv = true;
     
    525525        pThisCC->pDrvSerial->pfnQueuesFlush(pThisCC->pDrvSerial, true /*fQueueRecv*/, false /*fQueueXmit*/);
    526526        ASMAtomicWriteU32(&pThis->cbAvailRdr, 0);
    527         PL011_REG_CLR(pThis->uRegFr, PL011_REG_UARTFR_BUSY);
     527        PL011_REG_CLR(pThis->uRegFr, PL011_REG_UARTFR_BUSY | PL011_REG_UARTFR_TXFF);
    528528    }
    529529}
     
    593593        *(uint8_t *)pvBuf = pThis->uRegDr;
    594594        *pcbRead = 1;
    595         PL011_REG_CLR(pThis->uRegFr, PL011_REG_UARTFR_BUSY);
     595        PL011_REG_CLR(pThis->uRegFr, PL011_REG_UARTFR_BUSY | PL011_REG_UARTFR_TXFF);
    596596        pl011IrqUpdate(pDevIns, pThis, pThisCC);
    597597    }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette