Using PCI serial ports for debugging====================================Modern systems usually don't come with a built-in serial port anymore. Thisis unconvenient for low level debugging, since the serial port allows accessto early boot log as well as kernel debugger, even when the display or keyboardare not working.It is fortunately possible to add a serial port over the PCI bus on machineswhich have appropriate expansion ports. This can be done using expresscard,mini-PCI, or PCI express ports.Devices known to work---------------------Dexlan XMT01A (https://www.accessoires-informatiques.com/Prix/EXPRESSCARD-PCIE-POUR-PORTABLE-23842.html)Uses MOSCHIP 9922 controllerDevices to be tested--------------------https://smile.amazon.com/Industrial-Desktop-Bracket-Moschip-MCS9922/dp/B003D3MFHM/Configuring------------ Install the card in your computer- Boot Haiku and look in the syslog for the PCI bus scan for the device:.. code-block:: textKERN: PCI: [dom 0, bus 5] bus 5, device 0, function 0: vendor 9710, device 9922, revision 00KERN: PCI: class_base 07, class_function 00, class_api 02KERN: PCI: vendor 9710: MosChip Semiconductor Technology Ltd.KERN: PCI: device 9922: MCS9922 PCIe Multi-I/O ControllerKERN: PCI: info: Communication controller (Serial controller, 16550)KERN: PCI: line_size 10, latency 00, header_type 80, BIST 00KERN: PCI: ROM base host 00000000, pci 00000000, size 00000000KERN: PCI: cardbus_CIS 00000000, subsystem_id 1000, subsystem_vendor_id a000KERN: PCI: interrupt_line 0b, interrupt_pin 01, min_grant 00, max_latency 00KERN: PCI: base reg 0: host 00004000, pci 0000KERN: 4000, size 00000008, flags 01KERN: PCI: base reg 1: host f1c01000, pci f1c01000, size 00001000, flags 00KERN: PCI: base reg 2: host 00000000, pci 00000000, size 00000000, flags 00KERN: PCI: base reg 3: host 00000000, pci 00000000, size 00000000, flags 00KERN: PCI: base reg 4: host 00000000, pci 00000000, size 00000000, flags 00KERN: PCI: base reg 5: host f1c00000, pci f1c00000, size 00001000, flags 00KERN: PCI: Capabilities: MSI, PM, PCIeKERN: PCI: Extended capabilities: Virtual Channel, Advanced Error ReportingWrite down the address of "base reg 0", this is where the serial port registersare mapped (it is probably possible to get this information from lspci on Linuxas well?)Configure serial debug in config/settings/kernel/drivers/kernel:.. code-block:: textserial_debug_output trueserial_debug_speed 115200serial_debug_port 0x4000Now your kernel is configured to send its output to the serial port. You canconnect another machine to it (using an USB to serial adapter and a NULL modemcable, for example) and use SerialConnect or a similar tool to see the outputand access the KDL prompt.Happy debugging!