Changes

Jump to navigation Jump to search
2,432 bytes added ,  04:29, 3 July 2019
→‎PM: wow I misinterpreted this, lol.
Line 14: Line 14:  
All files under RomFS were updated.
 
All files under RomFS were updated.
   −
The only KIPs with IPC changes were [[Filesystem_services|FS]], [[Process_Manager_services|pm]], and [[NCM_services|NCM]].
+
====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 29: Line 34:  
* TrustZone code is now cleared from IRAM before signalling to NX_BOOTLOADER that the SecMon is awake.
 
* 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.
 
* 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
 
* Warmboot.bin has been moved again, and is now copied from 0x4003E000 size 0x17F0 instead of 0x4003D800 size 0x1FF0
[more details to be filled in later].
+
* 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 dynamically calculates the number of extra threads available in the kernel's slab heap compared to the amount it is expecting.
 +
** A [[Process Manager services#BoostApplicationThreadResourceLimit|new command]] was added to pm:shell to make these extra threads available to applications, on retail this doubles the number of threads creatable to 0xC0.
 +
 +
=====[[Filesystem services|FS]]=====
 +
* Device Address Space initialization for nn::sdmmc is now handled differently.
 +
** Previously, the shared SDMMC device address space handle was attached to all devices during global init prior to service registration.
 +
** Now, the handle is attached to specific devices during their relevant DeviceAccessor::Initialize() call, which only happens when the relevant device is ready for access.
 +
* (Many other differences not yet reversed/noted here.)
    
==System Titles==
 
==System Titles==
Line 42: Line 63:  
* CAction title: new directory "/table" was added. The new file "/table/431FA316E20941779452DD0EBFA05E0E/ApplicationId" contains string "0x01003a400c3da000" - "YouTube".
 
* 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 FirmwareInfo.csv were updated (main firmware for JoyLeft/JoyRight).
 
* Titles BrowserDll and AvatarImage were updated.
 
* Titles BrowserDll and AvatarImage were updated.
 
* Both bad-word-list titles were updated.
 
* Both bad-word-list titles were updated.
Line 60: Line 81:  
* 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>

Navigation menu