Homebrew ABI: Difference between revisions
No edit summary |
Added SyscallAvailableHint2 |
||
(One intermediate revision by the same user not shown) | |||
Line 84: | Line 84: | ||
* 16: [[#HosVersion]] | * 16: [[#HosVersion]] | ||
* 17: [[#SyscallAvailableHint2]] | |||
==== EndOfList ==== | ==== EndOfList ==== | ||
Line 237: | Line 239: | ||
==== HosVersion ==== | ==== HosVersion ==== | ||
This key provides the currently running version of Horizon OS. | This key provides information about the currently running version of Horizon OS. This is used in order to determine the compatible ABI/API (both kernel and userland) available to homebrew applications. | ||
* '''Key''': 16 | * '''Key''': 16 | ||
* '''Value[0]:''' HOS version, formatted using libnx's [https://github.com/switchbrew/libnx/blob/master/nx/include/switch/runtime/hosversion.h#L11 MAKEHOSVERSION macro]. | * '''Value[0]:''' HOS version, formatted using libnx's [https://github.com/switchbrew/libnx/blob/master/nx/include/switch/runtime/hosversion.h#L11 MAKEHOSVERSION macro]. | ||
* '''Value[1]:''' Magic value indicating the current implementation of Horizon OS. | |||
==== SyscallAvailableHint2 ==== | |||
Supplement to [[#SyscallAvailableHint]] for the extended SVC range. | |||
* '''Key:''' 17 | |||
* '''Value[0]:''' 64-bit mask for the 0x80-0xBF SVC range. n:th bit set means SVC is accessible. | |||
* '''Value[1]:''' Reserved/should be zero. | * '''Value[1]:''' Reserved/should be zero. | ||
* '''DefaultBehavior:''' See [[#SyscallAvailableHint]]. | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 | |||
| Unspecified implementation/official stock firmware by Nintendo. | |||
|- | |||
| 0x41544d4f53504852 (ATMOSPHR) | |||
| [https://github.com/Atmosphere-NX/Atmosphere Atmosphère-NX customized firmware]. | |||
|} |