SURVIVABILITY MODE(9)
β¨ Survivability Mode(9) β¨
okay so bestie, this is from the Kernel API Manual and it's literally about saving your system when boot goes full π. Let me tell you everything, no cap.
Survivability Mode is a software based workflow for recovering a system in a failed boot state. Here system recoverability is concerned with recovering the firmware responsible for boot. It's giving "rescue mission energy" πβ¨
πΈ Boot Survivability πΈ
Boot Survivability is implemented by loading the driver with bare minimum (no drm card) to allow the firmware to be flashed through mei driver and collect telemetry. The driver's probe flow is modified such that it enters survivability mode when pcode initialization is incomplete and boot status denotes a failure. iykyk π«Ά
Survivability mode can also be entered manually using the survivability mode attribute available through configfs which is beneficial in several usecases. It can be used to address scenarios where pcode does not detect failure or for validation purposes. It can also be used in In-Field-Repair (IFR) to repair a single card without impacting the other cards in a node. so iconic of it honestly π
Use below command enable survivability mode manually:
# echo 1 > /sys/kernel/config/xe/0000:03:00.0/survivability_mode
β οΈ It is the responsibility of the user to clear the mode once firmware flash is complete. bestie pls don't forget this part π
Refer :ref:xe_configfs for more details on how to use configfs
Survivability mode is indicated by the below admin-only readable sysfs entry. It provides information about the type of survivability mode (Boot/Runtime).
# cat /sys/bus/pci/devices/<device>/survivability_mode
Boot
Any additional debug information if present will be visible under the directory ``survivability_info:
/sys/bus/pci/devices/<device>/survivability_info/
βββ aux_info0
βββ aux_info1
βββ aux_info2
βββ aux_info3
βββ aux_info4
βββ capability_info
βββ fdo_mode
βββ postcode_trace
βββ postcode_trace_overflow
This directory has the following attributes π
capability_info: Indicates Boot status and support for additional informationpostcode_trace,postcode_trace_overflow: Each postcode is a 8bit value and represents a boot failure event. When a new failure event is logged by PCODE the existing postcodes are shifted left. These entries provide a history of 8 postcodes. lowkey a whole receipts trail πaux_info<n>: Some failures have additional debug informationfdo_mode: To allow recovery in scenarios where MEI itself fails, a new SPI Flash Descriptor Override (FDO) mode is added in v2 survivability breadcrumbs. This mode is enabled by PCODE and provides the ability to directly update the firmware via SPI Driver without any dependency on MEI. Xe KMD initializes the nvm aux driver if FDO mode is enabled. obsessed with this fallback fr fr π₯
π¦ Runtime Survivability π¦
Certain runtime firmware errors can cause the device to enter a wedged state (:ref:xe-device-wedging) requiring a firmware flash to restore normal operation. Runtime Survivability Mode indicates that a firmware flash is necessary to recover the device and is indicated by the presence of survivability mode sysfs. Survivability mode sysfs provides information about the type of survivability mode. it's giving "emergency but make it diagnosable" π¨
# cat /sys/bus/pci/devices/<device>/survivability_mode
Runtime
On some CSC firmware errors, PCODE sets FDO mode and the only recovery possible is through firmware flash using SPI driver. Userspace can check if FDO mode is set by checking the below sysfs entry.
# cat /sys/bus/pci/devices/<device>/survivability_info/fdo_mode
enabled
When such errors occur, userspace is notified with the drm device wedged uevent and runtime survivability mode. User can then initiate a firmware flash using userspace tools like fwupd to restore device to normal operation. slay, the notification system ate π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/xe/xe_survivability_mode.c xe_survivability_mode_is_boot_enabled(9)xe_survivability_mode_is_requested(9)xe_survivability_mode_runtime_enable(9)xe_survivability_mode_boot_enable(9)
okay that's the whole thing bestie, you're literally a survivability mode expert now πβ¨ this lived in ./drivers/gpu/drm/xe and it's dated October 2026, so consider this your official girlie pop kernel documentation moment π
π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms