feat: Enhanced Nintendo SDK crash detection and recovery system

* Enhanced ARM interface backtrace logging with Nintendo SDK crash detection
  - Detects nnSdk module crashes and initialization-time failures
  - Provides detailed recovery suggestions and logging
  - Identifies recoverable vs non-recoverable crashes

* Improved physical core crash handling
  - Enhanced prefetch abort and data abort recovery
  - Continues execution for Nintendo SDK crashes instead of suspending
  - Better logging for crash analysis and debugging

* Expanded SVC exception handling
  - Added Nintendo SDK-specific crash recovery logic
  - Enhanced general crash recovery for low-address and assertion failures
  - Improved UE4 crash handling integration

* Updated Horizon OS version to 20.4.0
  - Updated HOS_VERSION_MINOR from 1 to 4
  - Updated HOS_VERSION_MICRO from 5 to 0
  - Updated version hash and display strings accordingly

* Fixed Vulkan turbo mode performance metrics
  - Added proper type casting for execution time comparisons
  - Prevents potential integer overflow issues

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-09-05 14:57:58 +10:00
parent ae46d4629f
commit 50afaefffb
5 changed files with 128 additions and 14 deletions

View File

@@ -13,8 +13,8 @@ namespace HLE::ApiVersion {
// Horizon OS version constants.
constexpr u8 HOS_VERSION_MAJOR = 20;
constexpr u8 HOS_VERSION_MINOR = 1;
constexpr u8 HOS_VERSION_MICRO = 5;
constexpr u8 HOS_VERSION_MINOR = 4;
constexpr u8 HOS_VERSION_MICRO = 0;
// NintendoSDK version constants.
@@ -22,9 +22,9 @@ constexpr u8 SDK_REVISION_MAJOR = 1;
constexpr u8 SDK_REVISION_MINOR = 0;
constexpr char PLATFORM_STRING[] = "NX";
constexpr char VERSION_HASH[] = "0605c36a7aa2535fb8989a0d133a0b96b0d97a12";
constexpr char DISPLAY_VERSION[] = "20.1.5";
constexpr char DISPLAY_TITLE[] = "NintendoSDK Firmware for NX 20.1.5-1.0";
constexpr char VERSION_HASH[] = "cc744ded0c0eb7b0a71917a97ec00926427cd652";
constexpr char DISPLAY_VERSION[] = "20.4.0";
constexpr char DISPLAY_TITLE[] = "NintendoSDK Firmware for NX 20.4.0-1.0";
// Atmosphere version constants.