QNX Technical Articles
QNX® Software Development Platform 7.0 Board Support Package for the Generic x86_64 (64-bit): Release Notes
Date of this edition: November 21, 2019
![]() |
Changes to these notes since February 15, 2017 are highlighted below with this icon:
![]() |
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, x86, and x86_64 targets running the QNX Neutrino RTOS 7.0.
Board Support Packages (BSP) are available for various hardware platforms on QNX SDP 7.0. This is a release note for the Generic x86_64 (64-bit) BSP.
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 mentioned above.
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 5199 (7.0.5199.E201911111407)
- This is an experimental release.
- The BSP updated the buildfiles to have the following changes:
- Reference a copy of the pci_hw-Intel_x86.so and pci_hw-AMD_x86.so; if you want to to use the versions from your QNX SDP installation, you must comment out the binaries or remove them from the buildfile. (Ref# J2780312)
- Added additional utilities to improve the usability of default images, such as the chmod, mv, and rm commands. (Ref# J2783073)
- The 8250 debug console is now used in the UEFI-based images (images build with the x86_64-uefi.build file). (Ref# J2735328)
- Added support for Kaby Lake and Coffee Lake. Support for graphics on Kaby Lake and Coffee Lake isn't available. (Ref# J2780312)
- When you boot your images, the error "No block device has been detected" after the PCI server starts no longer occurs because the correct PCI packages are updated with this BSP. (Ref# J2771243)
- The mkifs error that pci_hw-*.so shared libraries are missing (e.g., pci_hw-Intel_x86.so, pci_hw-AMD_x86.so) no longer occurs when you build your BSP. The reason is because the QNX SDP 7.0 Connectivity – PCI HW Module package is installed with this release of the BSP. (Ref# J2587257)
- This BSP no longer fails to build with QNX SDP 7.0.4 because the QNX SDP 7.0 Connectivity - io-char package (com.qnx.sdp.target.connectivity.io_char) package is now updated when you install this BSP. (Ref# J2750780, J2769097)
- On Intel Car Creek Module (CCM) boards, the serial (devc-sershu driver) connection no longer hangs when under heavy load. (Ref# J2765163)
BuildID 4189 (7.0.4189.E201908031401)
- Testing for this release was completed only on Supermicro (Denverton SoC-based) boards.
- SMMU Manager support has been added to this release that includes the following:
- The serial (devc-serhsu), SATA, USB (io-usb-otg), and network (io-pkt-v6-hc) drivers now support SMMU Manager so that you can DMA-enable those drivers. Each driver adds the smmu option to its parameters. As part of this support, a new serial driver driver (devc-serhsu) has been added to the BSP. (Ref# J2731735, J2747314, J2747126, J2747314, J2638850)
- Added buildfiles that enable DMA-mode for the drivers that support SMMU Manager for the Intel Car Creek Module (CCM) and Intel Atom C3000 Supermicro boards (Supermicro), which are both Denverton SoC-based boards. (Ref# J2731735, J2747041)
- Added buildfile to support the Intel Atom C3000 (Denverton SoC-based) Supermicro boards. (Ref# J2681798)
- The AHCI SATA (devb-ahci) driver now correctly enumerates devices that have only memory apertures. (Ref# J2195562)
- The Gigabit Ethernet network driver (devnp-e1000.so) no longer requires the verbose option to start. (Ref# J2691514)
- Starting the Gigabit Ethernet network driver (devnp-e1000.so) with the -L no longer causes networking (io-pkt) to crash. (Ref# J2603357)
- The Gigabit Ethernet driver (devnp-ixgbe.so) for the Denverton SoC has the following updates:
- The driver no longer intermittently fails to transmit when the driver is restarted. (Ref# J2627922)
- The driver has several improvements to improve startup performance. (Ref# J2651965)
- The driver now works when you start the board with MSI-X mode disabled. (Ref# J2663204)
- The driver has these new options:
- typed_mem=name
- ign_cksum
- event
- pause_rx_enable
- pause_tx_enable
- ptp
- unsupported_sfp
- The driver no longer supports these options:
- force_link
- pauseignore
- pausesuppress
- promiscuous
- The new event option is mandatory for this driver. You must now always use the event option when you run networking. (Ref# 2649523)
- On boards with the Denverton SoC, LAPIC timers are now correct because the correct base-clock frequency is used on the Denverton SoC. (Ref# J2416818)
- To start audio, you now require libsecpol.so in the image, which was added to the buildfiles in this BSP. (Ref# J2741121)
- The optimized string functions (libstringsa64.so) have been removed from the buildfiles. If your buildfile is based on a previous release of this BSP, you can remove this library as the functions are now available in the updated libc.so library. (Ref# J2735762)
- The PCI e1000 detection code has been modified to search for certain Device IDs if the device is specified on the commmandline. This prevents a previous issue where the Gigabit network driver may skip over device indexes. (Ref# J2689418)
- The PCI ixgbe network driver has been optimized to startup more quickly. (Ref# J2670064)
- The user's guide has the following updates:
- Added steps to describe how to configure boards on the Denverton SoC board to UEFI and added sections that describe how to create a USB image to boot using BIOS mode and UEFI mode. (Ref# J2744522)
- Added section to describe new devc-serhsu driver. (Ref# J2744522)
BuildID 9 (7.0.9.E201805171029)
- Added support to use -E as a startup option.
If you have QNX SDP 7.0 Security Update (Build ID 861) installed, you can add -E meltdown to the startup command in the buildfile to enable the workaround for the Meltdown exploit (CVE-2017-5754). By default, the workaround for the Meltdown exploit isn't enabled in the buildfile for this BSP. For more about the security update, see the QNX SDP 7.0 Security Update (Build ID 861): Release Notes. (Ref# J2583134)
- On boards with the Denverton SoC (e.g., Car Creek Module), if you start networking with the Intel 10 Gigabit Ethernet controller driver (devnp-ixgbe.so), the link now correctly comes up after you reset the power (cold reboot). (Ref# J2510313)
February 20, 2018—BuildID 7 (7.0.7.E201801161228)
- The LAPIC frequency for VMWare is now read. As a result, you no longer need to pass the -zz option to run Startup in a VMWare image. (Ref# J2226142)
September 25, 2017—Build 7.0 BuildID 6 (7.0.6.E201709111915)
- The -n option to specify an alternative location to start the USB driver has been removed. The default location of /dev/io-usb/io-usb-otg is used. This change affects all buildfiles.
- Previously, the default behavior was to select the HPET.
The behavior for the system clock selection has changed and is as follows in this release:
- LAPIC (Local Advanced Programmable Interrupt Controller) timer on CPU 0 (default behavior)
- HPET (High Precision Event Timer)
- 8254
In addition, now all x86 and x86_64 startups-* have these following options:
- The new -zz option, which selects the HPET.
- The -z option, which continues to select the 8254 as in previous releases.
- Added support to boot using UEFI. A new buildfile to boot using UEFI is now available in the BSP.
- The BSP User's guide has been updated to include the build command for UEFI and remove the use of the -n option in the USB driver commands found in the buildfiles.
February 15, 2017—Build 7.0.0 GA201702151736
- Initial release.
Supported hardware
Our BSP supports the following boards:
- the x86_64 target hardware (including listed SoCs) that can boot using this
BSP:
- Intel Sandy Bridge
- Intel Ivy Bridge
- Intel Haswell
- Intel Broadwell
- Intel Skylake
- Intel Baytrail
- Intel ADI RCC C2000 (Rangeley)
- Intel Kaby Lake
- Intel Coffee Lake
- Denverton SoC-based boards, which include:
- Intel Car Creek Module (CCM1 and CCM2)
- Intel Atom C3000 Supermicro boards (Revision 1.02)
- AMD eKabini
We support Car Creek Module version: MD#h85725, Rev02, BIOS Revision HAVLCRB0.X64.0009.D47.1512101003, Module Color: Blue. The provided BSP supports Denverton (CCM1 hardware) and ADI RCC C2000 (Rangeley), but there are few additional considerations when you work with the those platforms. For more information, see the Working with Denverton Platforms and Working with ADI RCC C2000 Platforms chapters in the user's guide for this BSP.
- for the Screen Graphics Subsystem, this BSP supports these processors:
- Sandy Bridge
- Ivy Bridge
- Baytrail
- Haswell
- Broadwell
- Skylake
We have tested on the ASRock Beebox for this processor.
Known issues
This BSP has the following known issues:
(Found in BuildID 5199) After installing the PCI update required by this package, the QNX Software Center may issue the following warnings:
Package: QNX(R) SDP 7.0 OS services - OS services base Severity: HIGH Type: ChangedFileSize Files: target/qnx7/aarch64le/usr/sbin/rsrcdb_query target/qnx7/armle-v7/usr/sbin/rsrcdb_query target/qnx7/x86/usr/sbin/rsrcdb_query target/qnx7/x86_64/usr/sbin/rsrcdb_query
If debug information is installed, the .sym files corresponding to each of the files listed above are also reported as warnings.
This issue is caused by the rsrcdb_query binary moving to the PCI package. The above warnings may be safely ignored. This issue will be fixed in a subsequent update to the OS Services Base package (com.qnx.sdp.target.os_services.base). (Ref# J2534523)
Workaround: None.
(Found in BuildID 5199) Some UEFI-based targets won't boot unless the -D8250 option is used with the startup-x86 command. (Ref# J2735328)
Workaround: None. The buildfiles delivered with Build 5199 already use the -D8250 option with the startup-x86 command. If you're connected to the 8250 debug port on your UEFI-based target, you can see early boot-up text (and sometimes UEFI output) as the image boots. If you don't have an 8250 debug port on your target (or you aren't connected to the 8250 debug port), but you're connected to the target via a USB-serial dongle, you'll see the boot-up text from the point where the serial driver starts (i.e., you won't see the boot-up text from startup-x86).
If you have a requirement to see the UEFI output text, you can attempt to use the startup-x86 driver without the -D8250 option. To do this, you comment out the startup-x86 -D8250 command and uncomment the startup-x86 command that doesn't have the -D8250 option in your buildfile (e.g., x86_64-uefi.build). After you rebuild and boot the QNX IFS (provided your target boots with the rebuilt QNX IFS file), you'll should see UEFI output on the VGA console. If your target doesn't boot, you'll need to use the -D8250 option with the startup-x86 command.
(Found in BuildID 5199) Audio won't work on Coffee Lake-based targets. (Ref# J2761127)
Workaround: None.
(Found in BuildID 4189) On Supermicro (Denverton) boards, streaming data via TCP/IP using the devnp-e1000.so networking driver may fail. (Ref# J2768924)
Workaround: None.
(Found in BuildID 4189) On Supermicro (Denverton) boards, you may experience intermittent networking issues (e.g., failure to get an IP address) when connected to a 10/100 Mb Ethernet networking switch. (Ref# J2701495, J2768928, J2768929)
Workaround: Reconnect your Supermicro board to a 1000Mb (or faster) networking switch.
(Found in BuildID 4189) On Supermicro (Denverton) boards, large file transfers over the serial port (devc-ser8250) doesn't work. (Ref# J2753220)
Workaround: Use serial-over-USB port (devc-serusb) for your file transfer. In general, when possible, we recommend you perform large file transfers over a network connection rather than over a serial connection.
(Found in BuildID 4189) 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.
(Found in BuildID 4189) We recommend that you install the latest updates for your QNX SDP 7.0.4 before you build your BSP. If you can't install the latest updates and must selectively update only certain components in your QNX SDP 7.0 installation, this BSP may no longer successfully build; or if this BSP builds, you may see new issues when you load the rebuilt image on your target that aren't identified in this release note.
Workaround:
To identify a solution to your build error or issue in the rebuilt image, see the Troubleshooting Board Support Packages guide on the QNX website.(Found in BuildID 9) 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.
(Found in BuildID 9) 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.
(Found in BuildID 9) You may encounter one more or more of following errors when you build your image using the graphics variant of the buildfiles:
Warning: Host file 'libva-tpi.so' missing. Warning: Host file 'dummy_drv_video.so' missing. Warning: Host file 'graphics-broxton.conf' missing. Warning: Host file 'graphics.conf' missing. Warning: Host file 'i915_dri_g.so' missing. Warning: Host file 'graphics-broxton.conf' missing. Warning: Host file 'graphics.conf' missing. Warning: Host file '../prebuilt/etc/system/config/scaling.conf' missing. Warning: Host file '../prebuilt/etc/system/config/mtouch.conf' missing. Offset Size Entry Ramoff Target=Host 1400000 f30 0 --- /opt/graphics_br-21x_be-700ga-qos/6272-bsps/target/qnx7/x86_64/boot/sys/bios.boot
(Ref# J2557571, J2762349)
Workaround: Modify your x86_64-nuc-graphics.build buildfile as follows:
- Remove the reference to the libva-tpi.so library.
Search for and remove the following line from your buildfile:
/usr/lib/libva-tpi.so=libva-tpi.so
-
Remove the references to the dummy_drv_video.so library.
Search for and remove the following line from your buildfile:
[search=${QNX_TARGET}/${PROCESSOR}/usr/lib/dri/]/usr/lib/dri/dummy_drv_video.so=dummy_drv_video.so
-
Remove the reference to the graphics-broxton.conf configuration file.
Search for and remove the following line from your buildfile:
[search=${QNX_TARGET}/${PROCESSOR}/usr/lib/graphics/intel-drm-debug]/usr/lib/graphics/intel-drm-debug/graphics-broxton.conf=graphics-broxton.conf
-
Remove the reference to the i915_dri_g.so library.
Search for and remove the following line from your buildfile:
[search=${QNX_TARGET}/${PROCESSOR}/usr/lib/graphics/intel-drm-debug]/usr/lib/graphics/intel-drm-debug/i915_dri_g.so=i915_dri_g.so
- Remove the references to the scaling.conf and mtouch.conf files.
Search for and remove the following lines from your buildfile:
/etc/system/config/scaling.conf=../prebuilt/etc/system/config/scaling.conf /etc/system/config/mtouch.conf=../prebuilt/etc/system/config/mtouch.conf
-
Modify the screen command to use the -c option, and
specify an appropriate graphics configuration file. For example:
Search for and remove the following line from your buildfile:
... echo "Starting screen ..." screen -c graphics-NUC6i5SYK.conf waitfor /dev/screen
where graphics-NUC6i5SYK.conf is your graphics configuration file that corresponds to your target board. Ensure that the configuration file resides in a location that's specified in your LD_LIBRARY_PATH environment variable.
- Remove the reference to the libva-tpi.so library.
(Found in BuildID 9) On an ASRock Beebox board, you may observe the following error from the PCI server when booting up the board:
ERROR,0,0,3 The HW module could not be loaded. Either the environment variable is not set or the module is not accessible
(Ref# J2553131)
Workaround:
- Install the QNX SDP 7.0 Connectivity - PCI HW Module x86 package BuildID 21 (7.0.21.S201805031206) from the QNX Software Center.
- Build the image as described in the user's guide for this BSP.
- The provided Denverton IFS image (x86-denverton.bin)
generated using the x86-denverton.build file boots the
Car Creek Module (version 2), but doesn't boot
on the Car Creek Module (version 3).
Workaround: None.
- QNX IFS images that are greater than 16 MB in size won't boot from a USB stick or a hard drive. (Ref# J1647709)
Workaround: You can do one of the following:
- Remove drivers and binaries from the buildfile to reduce the size of the IFS file so that it's less than 16 MB. The drivers and binaries you removed could be put on a mounted filesystem.
- Boot the image using TFTP via a network connection.
- On Dell laptops (specifically the Latitude E6530),
keyboard input stops functioning when the trackpoint
or trackpad is used with the
devc-con-hid (Console) driver.
Workaround: Use a USB keyboard. This issue doesn't occur within the Screen Graphics Subsystem because a different driver is used for keyboards and mice.
Getting started with this BSP
Each BSP has a user's guide that describes what's in the BSP and how to install and work with it. In a browser, after you log in with your myQNX account, you can download the latest revision of the user's guide from the QNX SDP 7.0 Board Support Documentation page.
We recommend that you read the Building Embedded Systems guide, which contains common information about working with all BSPs from QNX Software Systems. This guide is also available on the QNX Software Development Platform 7.0 documentation website.
![]() |
To ensure that you pick up the same components from your
development environment, we recommend that you rebuild the IFS
image on your host system.
Included in this BSP are prebuilt IFS images that are provided as convenience for you to quickly get QNX Neutrino running on your board, however these prebuilt images might not have the same components from your development environment. |
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.