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].
|}