CORE-17977
- Fix a bug when subsequent port detection attempts fail because of
broken FIFO management. If FIFO logic is enabled the hardware will
not decode the legacy 0x30 and 0x32 I/O ports.
Therefore care should be taken when accessing these ports.
- Fix hang on boot when a serial device was not connected to the COM1 port.
Unlike 16550, a call to `CpDoesPortExist()` for the 8251 will succeed
even when if the user has not plug the serial port into PC-98 machine.
(I do not know how to put the 8251 into loopback mode.)
Fix this by checking for CTS prior to the LSR loop.
- Fix hang on boot when the chosen baud rate becomes too large due to
`DEFAULT_DEBUG_BAUD_RATE` being set to 115200.
- Some NP21/W workarounds were being incorrectly applied,
fix them and consolidate them into one check.
- Reuse exsisting code from the NS16550 driver to avoid code duplication.
- Rename HW definitions for better naming.
Co-authored-by: Hermès Bélusca-Maïto <[email protected]>