QNX SDP 8.0.3 Documentation Update

Release notes for documentation updates associated with the QNX SDP 8.0.3 release. This document lists the reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, quote the relevant reference number.


Date of this edition: August 14, 2025

Updates and fixed issues

This update includes changes to the following QNX SDP documents:

General

Description Reference Number
Scalable Vector Extension (SVE/SVE2) support: Updated the documentation to include a new featute, SVE2:
  • Description for a new flag, AARCH64 SVE SIMD has been added in the cpuinfo page for the System Page chapter in Building Embedded System.
  • The startup-* options entry in the Utilities Reference now includes the -e for AArch64 targets, which requests SVE support and sets the AARCH64_CPU_FLAG_SVE flag when applicable.
  • The AARCH64_CPU_FLAG_SVE entry has been added to the flags listing in the cpuinfo reference.
2992662, 2991672, 2988047
The Migration Guide and the QNX OS User's Guide have been updated. A section about the Power-Safe filesystems explains how to ensure that filesystem images created with QNX SDP 8.0.3 can be loaded (mounted) successfully with a version of fs-qnx6.so from an earlier release. It also describes the best practices for ensuring filesystem compatibility between different OS versions. 2990751
The documentation for the procnto entry and the Understanding System Limits chapter in the QNX OS User's Guide now better explains the effects of specifying a per-process limit on the number of open file descriptors through procnto -F and RLIMIT_NO_FILE, and the situations when the hard limit of 32767 open file descriptors gets applied. 2991187

The OS documentation provides new guidance on how to spawn processes with various priorities. There are notes about this in the spawn() and posix_spawn() C Library Reference entries, and a new section entitled Setting the priority of a child process in the System Architecture guide with a discussion on scheduling priority.

2978388
The explanation of priority inheritance has been updated to clarify that the inherited priority isn't reverted when a message reply is issued. There are notes explaining this design in the MsgReply() and MsgReplyv() function entries, and in the Priority inheritance and messages section in the System Architecture guide and So what's the trick? section in the Getting Started with the QNX OS guide. 2995514

Software Development Platform

This section includes everything updated pertaining to the QNX SDP.

System Architecture

Description Reference Number
A new subsection in the “Scheduling priority” section discusses how to avoid a priority inversion when you spawn a child process. 2977194
The Clock and timer services section now mentions that ClockTime() lets you access both CLOCK_REALTIME and CLOCK_MONOTONIC, and that ClockCycles() returns the current value of a free-running 64-bit cycle counter. It also lists the registers that ClockCycles() reads on x86 and ARM platforms. 2993170

OS Components and Operations

The following OS components are updated:

Building Embedded Systems
Description Reference Number
The Debugging QNX Embedded Systems section now describes how to enable the ContextID kernel module for AArch64 target systems to capture which thread starts running at every context switch. 2975397
The Environment variables section has been improved to explain the semantics of setting environment variables at various points in the OS image buildfile. Specifically, it now describes when the settings apply to the bootstrap executables, and how processes (single or multiple) start. 2968210

In the The script file section, the script file information (including the example script file itself aswell as the syntax and description of the internal commands used with script file entries), has been revised.

2973917
The System Page chapter has been revised to be accurate and complete for QNX OS 8.0:
  • In the chapter's introduction, the syspage_entry structure definition and its field descriptions now reflect the QNX OS 8.0 codebase.
  • The new cluster and hypinfo areas of the System Page, which contain data about the defined processor clusters and the enabled hypervisor features, have been documented.
  • For the asinfo area, the sample output for pidin asinfo is accurate for QNX OS 8.0.
  • For the cacheattr, callout, cpuinfo, intrinfo, un.aarch64, and qtime areas, the field descriptions have been updated to reflect QNX OS 8.0.
2947011, 2991709, 2973284, 2993170, 2997265

For the print_syspage() function entry, the table of system page entries has been updated for QNX OS 8.0.

2971937
Customizing a BSP
Description Reference Number
Information to start the DIM (dynamic interrupt manager) has been added, along with the following APIs:
  • dim_alloc_intr()
  • dim_free_intr()
  • dim_set_irq_affinity()
  • dim_get_irq_affinity()
  • dim_avail_irq()
2993072
High-Performance Networking Stack (io-sock) User's Guide
Description Reference Number
The section Writing an io-sock Module is new. 2982546
The sections Writing Network Drivers for io-sock and A Hardware-Independent Sample Driver have been revised to follow the FreeBSD recommendation to use an opaque if_t structure. 2989875
PCI Server User's Guide
Description Reference Number
The following PCI build commands have been added:
  • build_mux_command_device_read_ba()
  • build_mux_command_device_read_irq()
2989972
Performance Tuning User's Guide
Description Reference Number
In the Improving the network throughput section, the following sections are new:
  • Enabling the Dynamic Interrupt Manager (DIM).
  • Matching priorities, which discusses running the application threads that communicate with io-sock with the same scheduling priority as io-sock threads.
2972934, 2993535
The references to the variables net.pf.states_hashsize and net.pf.source_nodes_hashsize have been removed from the Improving the network throughput section. 2976918

Graphics

Description Reference Number
The sw-vsync binary page has been updated to reflect the use of nbuffers in place of single-buffer and double-buffer in the Utilities and binaries chapter of the Screen Graphics Subsystem Developer's Guide. 2989996
The steps for Tutorial: Using screen_notify() have been updated in the Screen Graphics Subsystem Developer's Guide. 2987090
The documentation has been updated to reflect that display objects can now get SCREEN_PROPERTY_STREAM property in the Screen library reference page of the Screen Graphics Subsystem Developer's Guide. 2980753
The description for the following pixel formats has been updated:
  • YUV420
  • NV12
  • YV12
2948215
The documentation for a new Screen focus mode type has been added. 2969200

Utilities and Libraries

The following utilities, functions, and structures have been updated:

C Library Reference
Description Reference Number
A description for the EXDEV error has been added to the following functions:
  • InterruptDetach()
  • InterruptMask()
  • InterruptUnmask()
2975555
The cfsetspeed() function has been documented now, and the descriptions for the speed argument and return values for the cfsetispeed() and cfsetospeed() functions have been corrected. 2988961
The arguments in the call to MsgRegisterEvent() have been corrected for the procmgr_value_notify_add() code sample. 2988088
The name_attach() reference has been fixed to say that if the path being registered is protected by a security policy, then the process needs the PROCMGR_AID_PATHSPACE ability. 2988715
The description for the SIGCHLD signal has been updated in the SignalAction(), SignalAction_r() entry. 2990200
A new topic page has been created for InterruptUnblock(), InterruptUnblock_r(), a function which allows an Interrupt Service Thread (IST) to be made ready for a reason other than receiving an interrupt. 2984821
The following APIs which return the name of the current program have been included in the documentation now:
  • getprogname()
  • setprogname()
2992916, 2992917
A new topic page has been created for the memmem() function. This function finds the first occurrence of a pattern inside a memory region. 2992918
New topic pages have been created for the following APIs:
  • pthread_attr_getdefaultguardsize(), returns the default stack guard area size.
  • pthread_attr_getdefaultstacksize(), returns the default stack size.
  • pthread_attr_setdefaultguardsize(), sets the default stack guard area size.
  • pthread_attr_setdefaultstacksize(), sets the default stack size.
2992920, 2992921, 2992922, 2992923
The documentation for the following APIs has been removed:
  • MsgQueueReceive()
  • resmgr_pause_queue()
  • resmgr_pause_resume()
2992925
The documentation for the resmgr_attached() function has been updated with a new flag, _RESMGR_FLAG_EXCLUSIVE. You can pass this flag to the resmgr_attach() function to become the exclusive owner of the pathname. 2989834
The documentation for the following APIs has been corrected to indicate that the associated header file is sys/process.h:
  • spawnvpe()
  • execl()
  • execle()
  • execlp()
  • execv()
  • execve()
  • execvp()
2992537, 2992533
The documentation for the following APIs has been corrected to indicate that the associated header file is fcntl.h:
  • faccessat()
  • readlinkat()
2992532
The documentation for the dlopen() function has been updated to include a caution note warning against calling the function in a constructor with partially initialized libraries. 2995048

The reference now includes entries for sysmgr_sysconf_set() and sysmgr_confstr_set().

2988391
The walk_asinfo() function is now documented. 2990971

The siginfo_t entry now explains the signal codes for SIGKILL and SIGDOOM.

2977062
The MsgSendPulse() and sigevent references have been updated to say you can specify a negative value to send the pulse on a channel in a local process. 2994236

The _NTO_CHF_INHERIT_RUNMASK description has been expanded to explain how the runmask stays in effect until it is explicitly changed by a call to ThreadCtl() or the thread does another MsgReceive() for the ChannelCreate(), ChannelCreate_r(), ChannelCreatePulsePool() and pidin functions.

2991723
Devctl and Ioctl Commands
Description Reference Number
A new topic page has been created for the DCMD_CAM_DATA_SET_MGNT command. 2996362
Utilities Reference
Description Reference Number
The documentation has been updated for the on utility to address changes to the description of the -p priority[policy] option. 2990007
The slogger2 utility has been updated to address the following items:
  • the description for the new -M maximum_log_size and -t options has been added.
  • the description of the -c out_buffer_size,error_buffer_size option has been updated.
  • the description of the -s size option has been updated.
2991668, 2991667, 2990651, 2964896
The documentation for a new rust (host) entry has been added. 2992665
The dumper utility reference has been updated to say there are no default maximum sizes for the -H and -s options. 2958155
The documentation has been added for the ln (host) utility. 2979340

In the mkifs entry, the syntax and description of the internal commands used with script file entries have been revised.

2973917

Getting started with the documentation

To access the updated documents, perform the following quick steps:
  1. Refer to https://blackberry.qnx.com/en.
  2. Under the Developers tab, select Product Documentation. The roadmap page contains links (WebHelp) to the set of books that accompany the OS.
For a short tutorial, check the Quickstart Guide, then refer to the other documents (QNX OS System Architecture, Programmer's Guide, C Library Reference, Utilities Reference, and so on).
Page updated: