QNX SDP 8.0.5 Documentation Update

Release notes for documentation updates associated with the QNX SDP 8.0.5 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: June 25, 2026

Updates and fixed issues

This update includes enhancements, fixed issues, and clarifications to the following QNX SDP documents:

General

Description Reference Number
An update to the DRM services' security policy has been added. 3007578
The sections that describe /dev/shmem as a temporary RAM-based filesystem have been rewritten to accurately describe this filesystem as a Shared Memory Object filesystem, and to clearly explain its key concepts. Also, the mkifs entry in the Utilities Reference has been revised to better explain when it's useful to link /tmp to /dev/shmem and how to best use procmgr_symlink in doing so. 3002082
To include the Speculative Store Bypass Safe (SSBS) feature, the -E option description has been updated in the startup-* options page in the Utilities Reference, and the AARCH64_CPU_SSBS flag has been updated in the cpuinfo page in the Building Embedded Systems guide. 3009238
  • The System Architecture guide has been updated to include the kernel errata module.
  • A new flag, AARCH64_CPU_SPECTRE_V2_MMU, has been listed in the cpuinfo entry in the Utilities Reference.
3009239
  • The Introspection API (IAPI) has been documented. The IAPI allows process inspection without using the /proc filesystem.
  • To the valgrind utility entry, a note has been added related to the IAPI.
3008903, 3019148
The documentation has been updated to include details about the Deferred system RAM. This feature allows users to add one or more contiguous regions of the physical address space to the System RAM managed by the Virtual Memory Manager (VMM) at runtime. 3008899
The documentation has been updated to include a new Screen DDK guide, which describes how to write drivers that map their unique hardware capabilities to the standard Screen APIs. 3016333
The documentation has been updated to include a new GPIO Framework Reference, which describes how to interface GPIO hardware modules and the framework's associated functions. 3011095
The System Architecture guide has been updated to state that there are two new kernel modules added—one to support GIC v2 and the other to support GIC v3. 3019598

Software Development Platform

This section includes updates pertaining to the QNX SDP.

System Architecture

Description Reference Number
The Reader/writer locks section has been rewritten to accurately describe how these locks work in QNX OS 8.0. 3010293
The following existing blocking thread states have been documented:
  • STATE_INTR_ATTACH_EV
  • STATE_PIPE
  • STATE_SEND_NOTIFY
  • STATE_TIMER_DELEGATE
  • STATE_TRACEBUFFER
3019762

OS Components and Operations

The following OS components are updated:

Building Embedded Systems
Description Reference Number
The information about the cpuinfo area of the system page now has additional details about the speed member: This field represents an upper bound on the capabilities of the CPU and does not necessarily reflect the actual frequency of the CPU as it transitions through power states or throttles itself over time. 3025519
PCI Server User's Guide
Description Reference Number
The documentation has been updated to mention that QNX supports PCI Gen4 and Gen5 link speeds. 3013720
Performance Tuning User's Guide
Description Reference Number
The Networking Stack chapter now includes a discussion of how the fragmentation of multiple UDP transmission streams can skew benchmarking results and suggestions for preventing the issue. 3028668
System Analysis Toolkit (SAT) User's Guide
Description Reference Number
The documentation has been updated to describe the PMU tracing, which includes the following:
  • The _NTO_TRACE_PMU_CONFIG and _NTO_TRACE_PMU_QUERYEVENTS control commands in TraceEvent().
  • The _NTO_TRACE_PMU class, which includes the _NTO_TRACE_PMU_EVENT_COUNTER and _NTO_TRACE_PMU_EVENT_TYPE events.
3021448
User's Guide
Description Jira reference
The Where everything is stored section has been updated to include details related to the /dev/stdin, /dev/stdout, and /dev/stderr file paths. 3008705

Graphics

The following Graphics components are updated:

Screen Graphics Subsystem Developer's Guide
Description Reference Number
A new option, win-security has been added to the screen page under the Utilities and binaries chapter. 3020807
The documentation for VK Cube has been removed as it's no longer shipped with the Screen documentation. 3018338
A new documentation for the debug overlay feature has been added. To learn more, refer to the SCREEN_PROPERTY_DEBUG property under the Display (screen.h) and the General (screen.h) pages. 3009980
The documentation has been updated to include two new off-screen demo utilities in the Utilities and binaries chapter:
  • gles2-gears-offscreen
  • vk-gears-offscreen
3005568
Under the Configuring Screen chapter, the documentation has been updated to include details regarding the new behavior of the usage parameter on virtual displays. The default behavior is to skip composition on the framebuffer; this is the behavior expected when the usage parameter is not set. 2995306

Programming

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

Getting Started with the QNX OS
Description Jira reference
The outdated Additional OS Services section has been replaced with a more relevant Interprocess Synchronization section, which explains the POSIX synchronization tools. 3023223
  • The misleading suggestion that resource managers should perform permissions checking for the open control block (OCB) has been removed from the description of the I/O function handler used for registering a notification handler.
  • The select() function description has been revised (e.g., the warning note has been put at the top of the Description section).
3021776
The following existing blocking thread states have been documented:
  • STATE_INTR_ATTACH_EV
  • STATE_PIPE
  • STATE_SEND_NOTIFY
  • STATE_TIMER_DELEGATE
  • STATE_TRACEBUFFER
3019762
Programmer's Guide
Description Jira reference
The code sample in the Detecting the termination of daemons or of all processes section has been corrected to work with QNX OS 8.0. 3009838
The documentation for the Processor affinity, clusters, runmasks, and inherit masks section has been revised to emphasize that clusters are preferred over runmasks as a way of binding a thread to a set of processors (or CPUs). This section now includes a reference to the pthread_cluster_*() functions page. 2997356
Writing a Resource Manager
Description Jira reference
The code sample and explanation in the Sample code for handling interrupts page has been updated to work properly with QNX OS 8.0. 3023216

System Security Guide

The following guides have been updated:

Security for Developers
Description Reference Number
Under the Compiler defenses section, a note has been added related to ASLR usage. 3014985

Utilities and Libraries

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

C Library Reference
Description Reference Number
For the slog2_register() entry, the description for the num_pages variable has been updated. 3002276
The ppoll() function is now documented, as part of the poll() entry. 2964765
The documentation has been updated to remove mention of endianness checking and swapping related to client connections and resource managers as this feature doesn't exist anymore. 3024618, 3023497
The posix_spawnattr_init() description has been edited to emphasize that after you initialize a POSIX spawn attributes object (posix_spawnattr_init), you must explicitly destroy it by calling posix_spawnattr_destroy(). 3021991
The documentation for the pthread_kill() entry has been updated to provide a helpful link to the list of accepted POSIX and QNX OS signals. 3021595
In the prlimit() entry, the documentation has been updated to include the default value and the hard limit for the RLIMIT_SIGEVENT_NP resource setting. 3019195
In the ionotify() entry, the documentation has been updated to remove the incorrect statement that the QNX OS versions of select() and poll() are built on ionotify(). The documentation now correctly states that the ionotify(), select(), and poll() implementations are built on sending and handling the same IO_NOTIFY message. 3017402
The documentation has been updated to describe the inotify_init1() function. 3008608
In the pthread_rwlock_*() reference pages, the function descriptions have been rewritten to improve clarity, and the error lists have been updated to reflect the current function behavior. 3010293
The documentation has been updated to include the xfer function pointer, as declared by the i2c_master_funcs_t structure as part of the driver interface. 3025157
The documentation for the SchedCtl(), SchedCtl_r() functions has been updated to include descriptions for the following error codes:
  • EAGAIN
  • EINVAL
  • ENOSYS
  • EPERM
3026684
The documentation has been updated for the ClientInfoExtFree() page for the Returns section. 3023961
The documentation has been updated for the mallinfo entry for the field types. 3023828
The documentation for the sem_post() function has been updated to delete the description of the EINTR error from the Errors section. 3023001
The documentation has been updated to include the timegm() function. 3018485
The documentation has been updated for the iofunc_ocb_attach() and resmgr_open_bind() functions to reflect that they accept NULL for the io_funcs variable. 3014376
The documentation has been updated for the pathmgr_link() function and all the references of PATHMGR_FLAG_STICKY have been removed. 3010841
The documentation has been updated by changing the data type for the port variable from uintptr_t to uint16_t for the following functions:
  • in8()
  • in8s()
  • in16(), inbe16(), inle16()
  • in16s()
  • in32(), inbe32(), inle32()
  • in32s()
  • out8()
  • out8s()
  • out16(), outbe16(), outle16()
  • out16s()
  • out32(), outbe32(), outle32()
  • out32s()
3007429
In the TimerDelegate() entry, the descriptions of the error codes have been updated to reflect changes in functionality. 3010976
For the mount() C Library function, the type argument has been updated to say that specifying a type that is different from the actual type of the device's filesystem causes the operation to fail with EBADFSYS. Also, EBADFSYS has been added to the errors list. 3026243
The getgrgid_r() and getgrnam_r() function descriptions have been updated to explain that a call to sysconf(_SC_GETGR_R_SIZE_MAX) returns either -1 or an initial suggestion for the buffer size, but this size is not guaranteed to be enough to store all the groups returned. New sample programs have been provided for these two functions. These programs show how to call sysconf() and then getgrgid_r() or getgrnam_r() to determine a sufficient size of buffer to allocate. In the sysconf() entry, the _SC_GETGR_R_SIZE_MAX description has been updated to say that the result is an initial suggestion for a buffer size. 3025139
Utilities Reference
Description Reference Number
For the top entry, the code example has been updated to address the offline state of CPU. 3019150
To the mkifs entry, a new attribute ifs_csa has been added. 3016428
In the q++, qcc entry, the -x extension option has been updated to include the valid file extensions. 2995662
For the chown utility, group has been replaced by user ownership. 2999371
Under the on utility, a new -c cluster-name option has been added. 3020724
The documentation for gdbserver has been added. 3018684
In the sshd entry, the example configuration has been corrected to include the sshd-session binary. 3026239
For the mkqnx6fs entry, new documentation has been added for the -R option. This option allows you to define the access permissions and user and group membership for the root directory of the filesystem. The meaning of the numeric suffixes such as k and m for the -i and -n options has also been clarified. 3023911, 3008551
The reference page for the filesystem event manager, fsevmgr, has been rewritten to be accurate for QNX OS 8.0. The revised page lists the new supported command options, and explains that the service doesn't accept commands, must be started before any filesystem resource managers, and needs the fsnotify library. This page also describes the FSNOTIFY_PREFIX environment variable. 3009207
The documentation has been updated to include the numocb option in the io-blk.so entry. 3007097
The documentation for the procnto entry has been updated to include a new -s option. 3008949
The documentation for the kpipe resource manager has been added. 2977054
The documentation has been updated for the tracelogger utility to add a new -u option. 3006189
The documentation has been updated to add a note that the -Espectrev2 startup option is required to mitigate Spectre V2. 3019803
For the mount entry in the Utilities Reference, the -T type and -t type descriptions have been updated to say that specifying a type that is different from the actual type of the device's filesystem causes the mount operation to fail with EBADFSYS. 3026243

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: