QNX Technical Articles
QNX® Software Development Platform 7.1 io-sock Board Support Package for Generic x86-64 (64-bit): Release Notes
Date of this edition: Jan 6, 2022
QNX SDP is a cross-compiling and debugging environment, including an IDE and command-line tools, for building binary images and programs for ARM v7, ARM v8, and x86_64 targets running the QNX Neutrino RTOS 7.1.
Board Support Packages (BSP) are available for various hardware platforms on QNX SDP 7.1. This is a release note for Generic x86-64 (64-bit) BSP that supports the QNX SDP 7.1 High-Performance Networking Stack (io-sock).
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
- Using Intel PCIe Burst Transfer Support
- Revision history
- Supported hardware
- Known issues
- Getting started with this BSP
- Technical support
Using Intel PCIe Burst Transfer Support
PCIe Burst Transfer allows you to transfer 64 bytes of data in a single burst through the CPU core bus interface to a memory region that’s reserved for a PCIe device.
If you want to implement PCIe Burst transfer, refer to the How to Implement 64B PCIe Burst Transfer on Intel Architecture whitepaper on the Intel website: http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/pcie-burst-transfer-paper.pdf.
To create a memory region marked as WriteCombine (WC), you call the
shm_ctl()/shm_ctl_special() functions
with the SHMCTL_LAZYWRITE
attribute set to obtain the
WC mappings described in the whitepaper previously mentioned.
Hyperthreading on Skylake and Kaby Lake platforms
If you're using an Intel x86_64 platform based on the Skylake or Kaby Lake SoC, it's recommended that you see the Intel Skylake/Kaby Lake processors: Broken Hyper-threading advisory to determine if it impacts your chip and microcode version. If it does, perform the following actions before you install QNX Neutrino on your target:
- Disable hyperthreading, via the BIOS/UEFI configuration on the affected platform
- Update the CPU microcode
For more information about disabling hyperthreading or updating the microcode, see the Intel Skylake/Kaby Lake processors: broken hyper-threading advisory at https://lists.debian.org/debian-devel/2017/06/msg00308.html.
Revision history
The following is a summary of the updates made to this BSP.
BuildID 926 (0.0.6.00926T202208101405L)
- Initial release that supports the following drivers:
- Startup
- Audio
- EIDE
- Network (for High-Performance Networking Stack )
- NVMe
- PCI Server
- SATA
- SD/MMC
- Serial
- USB Host Controller
Supported hardware
Our BSP supports the following boards:
- QNX has validated our BSP on the following x86_64 targets (including listed SoCs):
- Intel Apollo Lake
- Intel Skylake
- Intel Baytrail
- Intel Kaby Lake
- Intel Coffee Lake
- Intel Gemini Lake
- AMD eKabini
- AMD Ryzen
Known issues
For common QNX Software Development Platform issues that may impact this BSP, see the QNX Software Development Platform 7.1: Release Notes.
For io-sock issues that may impact this BSP, see the QNX SDP 7.1 High-Performance Networking Stack (io-sock): Release Notes.
- When you boot the AMD Ryzen board with the BIOS image, the USB keyboard stops working
a few minutes after you connect a USB mouse.
As a result, you can't issue commands to the console.
(Ref# J2878978)
Workaround: Don't connect a mouse to the board if you want to access the target over the console.
- On AMD Ryzen targets, you can't record audio. (Ref# J2879140)
- On AMD Ryzen targets, some devices connected to a USB 2.0 hub might not be detected. (Ref# J2879202)
- On Coffee Lake and Gemini Lake targets, when you run the
ping command, it fails with
No route to host
errors if you blacklist pci_cap-0x05.so and pci_cap-0x11.so. Typically you may blacklist these PCI modules to disable MSI/MSI-X for drivers that use PCI to use traditional interrupt-pin interrupts. It's important to note pci_cap-0x05.so and pci_cap-0x11.so aren't blacklisted by default in this BSP. (Ref# J2815242, J2878349)Workaround: If you have blacklisted pci_cap-0x05.so and pci_cap-0x11.so in your buildfile, remove them from the blacklist environment variable (PCI_MODULE_BLACKLIST).
- On AMD eKabini targets, occasional failures are seen with networking
when using UDP. (Ref# J2806077)
Workaround: None.
- When USB 2.0 devices are plugged into AMD eKabini targets,
USB_DESC_BOS
failures are sometimes seen when you run the usb command. (Ref# J2807461)Workaround: None.
- On AMD eKabini targets with an attached HDD partition, you can't format the partition using the mkdosfs
command immediately after mounting the drive. (Ref# J2872815)
Workaround: Wait ten or more seconds before running the mkdosfs command.
- On AMD eKabini targets, existing partitions on USB mass storage devices (e.g., USB memory stick) that are connected
to the target do not persist after you restart devb-umass (i.e., run slay and then restart the driver).
(Ref# J2872818)
Workaround: None.
- Software flow control doesn't function correctly when you use the devc-ser8250 driver. (Ref# J2872852)
Workaround: None.
- Using Kermit over the serial-over-USB ports can fail.
(Ref# J2770609)
Workaround: Use a different protocol other than Kermit to do your file transfers, such as a network connection.
- If you reinsert an existing or new
USB 3.0 device to the board, it won't be detected. (Ref# J2194572)
Workaround: Restart the io-usb service to detect the USB 3.0 device.
- At times on Intel Broadwell and Baytrail boards,
heavy disk usage operations on a DOS filesystem are reduced to
approximately 1/20th of the normal disk throughput, which causes disk
operations to take more time to complete. (Ref# J2262450)
Workaround: None.
- IFS images won't boot from a USB stick or hard drive that's greater
than 16 MB in size when you use BIOS boot mode. (Ref# J1684144)
Workarounds: You can do one of the following:
- Remove drivers and binaries from the buildfile to reduce the size of the QNX IFS file so that it's less than 16 MB and then put any required binaries on a mounted filesystem.
- Boot the image using TFTP via a network connection.
- Use UEFI boot mode to boot your system instead of using BIOS boot mode.
Getting started with this BSP
For information about io-sock, read the QNX SDP 7.1 High-Performance Networking Stack User's Guide. In a browser, after you log in with your myQNX account, you can download it from the QNX Software Development Platform 7.1 Documentation page.
Each BSP has a user's guide that describes what's in the BSP and how to install and work with it. You can download the latest revision of the user's guide from the QNX SDP 7.1 Board Support Documentation page.
QNX recommends that you read the Building Embedded Systems guide, which contains common information about working with all BSPs from QNX Software Systems. This guide is available on the QNX Software Development Platform 7.1 documentation website.
![]() |
This BSP provides prebuilt IFS images for your convenience. They allow you to get QNX Neutrino running on your board quickly. However, these prebuilt images may not have the same components as your development environment.
To ensure that your IFS contains the same components as your development environment, QNX recommends that you rebuild the IFS image on your host system. |
Technical support
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.