Line 13: |
Line 13: |
| ==FIRM== | | ==FIRM== |
| All files under RomFS were updated. | | All files under RomFS were updated. |
| + | |
| + | ====Package1ldr==== |
| + | Since [[6.2.0]], the following was changed (besides the usual constant changes for new fuse burnt, incremented version, etc): |
| + | * A function that returns a hardware type now returns 0xF whenever it would previously have returned a non-zero value. |
| + | ** Code validating hardware type has been simplified accordingly. |
| + | * The function validating the bootloader version by parsing the BCT no longer hardcodes the BCT address as 0x40000100, and instead adds a relative offset to a BCT address specified via argument. |
| + | * The [[TSEC Firmware#SecureBoot|SecureBoot TSEC firmware]] was updated to prevent SMMU virtualization attacks. |
| | | |
| ====NX_BOOTLOADER==== | | ====NX_BOOTLOADER==== |
Line 24: |
Line 31: |
| * Memory permissions for .rodata have been fixed, it is now correctly mapped R-- instead of RW-. | | * Memory permissions for .rodata have been fixed, it is now correctly mapped R-- instead of RW-. |
| * Sealed old keys are now stored in the auxilliary data page (0x1F01FA000) instead of in .rwdata. | | * Sealed old keys are now stored in the auxilliary data page (0x1F01FA000) instead of in .rwdata. |
− | * An 0x10 block in the auxilliary page is now used for intermediate key derivation, instead of a block on the stack. This block is only memcleared once at the end, instead of after every time it is used.
| + | ** An 0x10 block in the auxilliary page is now used for intermediate key derivation, instead of a block on the stack. This block is only memcleared once at the end, instead of after every time it is used. |
− | [more details to be filled in later]. | + | * TrustZone code is now cleared from IRAM before signalling to NX_BOOTLOADER that the SecMon is awake. |
| + | * A function for getting HardwareType based on fuses now returns 0xF whenever it would previously have returned a non-zero value. |
| + | ** This function is called by [[SMC|smcGetConfig]] when ConfigItem_HardwareType is passed in. |
| + | * Warmboot.bin has been moved again, and is now copied from 0x4003E000 size 0x17F0 instead of 0x4003D800 size 0x1FF0 |
| + | * Code configuring what peripherals to set secure-world only now assumes that the code is a retail unit. |
| + | ** GetRetailType() is still called (though result is discarded), this probably means they now have compile-time switches for retail vs dev. |
| | | |
| ====Warmboot==== | | ====Warmboot==== |
| * The firmware revision magic was changed from 0xA8 to 0x129. | | * The firmware revision magic was changed from 0xA8 to 0x129. |
| + | |
| + | ====FIRM Sysmodules==== |
| + | All FIRM sysmodules were updated. The only FIRM sysmodules with IPC changes were [[Filesystem_services|FS]], [[Process_Manager_services|pm]], and [[NCM_services|NCM]]. Specific diffs for a few sysmodules are below: |
| + | |
| + | =====[[Process Manager services|PM]]===== |
| + | Resource limit initialization was changed: |
| + | * PM now sets the maximum number of threads creatable by sysmodules to 0x60 instead of 0x260. |
| + | ** A [[Process Manager services#EnableAdditionalSystemThreads|new command]] was added to pm:shell to increase this limit once, on retail this doubles the number of threads creatable to 0xC0. |
| | | |
| ==System Titles== | | ==System Titles== |
Line 35: |
Line 55: |
| RomFS: | | RomFS: |
| * Localization data etc was updated in applets, likewise for 8XX titles. | | * Localization data etc was updated in applets, likewise for 8XX titles. |
− | * CAction title: new directory "/table" was added. The new file "/table/431FA316E20941779452DD0EBFA05E0E/ApplicationId" contains string "0x01003a400c3da000". | + | * CAction title: new directory "/table" was added. The new file "/table/431FA316E20941779452DD0EBFA05E0E/ApplicationId" contains string "0x01003a400c3da000" - "YouTube". |
| * Web-applets were updated. "/whitelist/WhitelistEc.txt" in LibAppletShop was updated: <nowiki>"^https://([0-9A-Za-z\-]+\.)*eshop\.nintendo\.net($|/)" was changed to "^https://([0-9A-Za-z\-]+\.)*nintendo\.net(/|$)"</nowiki>. | | * Web-applets were updated. "/whitelist/WhitelistEc.txt" in LibAppletShop was updated: <nowiki>"^https://([0-9A-Za-z\-]+\.)*eshop\.nintendo\.net($|/)" was changed to "^https://([0-9A-Za-z\-]+\.)*nintendo\.net(/|$)"</nowiki>. |
| * ControllerFirmware: "/ukyosakyo_ep2_ota.bin" and the .csv were updated. | | * ControllerFirmware: "/ukyosakyo_ep2_ota.bin" and the .csv were updated. |
Line 48: |
Line 68: |
| * ldn-sysmodule now has access to service psc:m. | | * ldn-sysmodule now has access to service psc:m. |
| * account-sysmodule: now has access to service npns:s. | | * account-sysmodule: now has access to service npns:s. |
− | * ns-sysmodule: service access to prepo:s was replaced with srepo:u. FS permissions now have bitmask 0x0000000400000000 set. | + | * ns-sysmodule: service access to prepo:s was replaced with srepo:u. FS permissions now have bitmask 0x0000000400000000 set (CanFormatSdCard). |
| * nfc-sysmodule: now has access to services: psm, i2c, and gpio. | | * nfc-sysmodule: now has access to services: psm, i2c, and gpio. |
| * am-sysmodule: now has access to services lm and nvgem:cd. | | * am-sysmodule: now has access to services lm and nvgem:cd. |
Line 55: |
Line 75: |
| * glue-sysmodule: now has access to service srepo:u. | | * glue-sysmodule: now has access to service srepo:u. |
| * Various applets now have access to service "banana" (which still doesn't exist on retail). | | * Various applets now have access to service "banana" (which still doesn't exist on retail). |
| + | |
| + | === [[USB_services|usb-sysmodule]] === |
| + | * New services / commands were added. |
| + | * The codebin now has .json data embedded in the codebin for [[USB_services#HidGamepad|HidGamepad]] USB-devices. |
| + | |
| + | === [[Account_services|account-sysmodule]] === |
| + | * Various .text changes. Besides those: |
| + | * The "v4-<hexstr>" URLs were changed to "v5" URLs. |
| + | * User-agent was changed to "libcurl (nnDauth; <hex>; SDK 7.3.0.0)". |
| + | |
| | | |
| <fill this in (manually) later> | | <fill this in (manually) later> |