Changes

Jump to navigation Jump to search
1,852 bytes added ,  21:10, 19 November 2018
m
Just a minor typo fix
Line 35: Line 35:  
** 0100000000000805(CHN/KOR dictionary), 0100000000000808("European, English and Japanese dictionaries"), 010000000000080A(Chara?), and 010000000000080C(EULA).
 
** 0100000000000805(CHN/KOR dictionary), 0100000000000808("European, English and Japanese dictionaries"), 010000000000080A(Chara?), and 010000000000080C(EULA).
 
* The following 01000000000008XX titles were added:
 
* The following 01000000000008XX titles were added:
** 0100000000000800(SSL trusted certs), 0100000000000807(Hotspot List), 010000000000081E(Dummy file), 010000000000081F(Icosa system config), 0100000000000820(Copper system config), 0100000000000821(Hoag system config),
+
** 0100000000000800(SSL trusted certs), 0100000000000807(Hotspot List), 010000000000081E(Dummy file), 010000000000081F(Icosa system config), 0100000000000820(Copper system config), 0100000000000821(Hoag system config)
* The System Application "flog" (01008BB00013C000) was added.
+
* 010000000000081B ("exFAT FIRM") package2 is no longer "stubbed"/overwritten with garbage.
 +
 
 +
==Kernel==
 +
* KPoolManager was majorly rewritten.
 +
** Added MAC crypto on heap-chunk headers, to protect against DMA attacks (same as 3DS).
 +
 
 +
* KHandleTable default size was improved from 40 to 1024.
 +
* The code to create a bigger handle table in allocated pool memory has been removed.
 +
* KHandleTable spinlock was given core-suspension logic.
 +
* KHandleTable compresses 64-bit pointers into 32-bit offsets.
 +
 
 +
* KAddressSpace was renamed to KDeviceAddressSpace.
 +
 
 +
* KSharedMemory now maintains a list of every map (each 0x20-byte entry).
 +
** To do cleanup of mapped shared memories when a process is killed.
 +
 
 +
* KSharedMemory no longer references the owning KProcess.
 +
** Instead it stores the pid, so that the process can be freed even though the shared memory still exists.
 +
 
 +
* KInterruptEvent changed:
 +
** Creation doesn't use KIrqSingleton directly anymore.
 +
** Instead it allocates a 0x20-byte entry, and then uses KIrqSingleton.
 +
** Probably to do better cleanup.
 +
 
 +
* Size-checks >= 0x180000000 was added to a bunch of syscalls.
 +
 
 +
* Restriction on debug SVCs were loosened to support [[creport]].
 +
 
 +
* svcReadWriteRegister was extended with more registers.
 +
 
 +
* Added blacklist on [[NPDM]] kernel descriptor memory mappings.
 +
 
 +
* svcGetInfo was extended with more id0's.
 +
 
 +
* Process exception dispatching was implemented/improved.
 +
 
 +
* Support for processes with 39-bit AddressSpaceType was added.
 +
** Includes required IPC changes.
 +
 
 +
* On startup, kernel now calls SMC id1 0xC3000007 with the kernel memory range start and size.
 +
 
 +
* AArch64 exception vector for "SError interrupt" was implemented.
 +
 
 +
* Kernel stacks are now allocated with a slabheap.
 +
 
 +
* While 1.0.0 had two pools with size 0, now it uses all three. The last one size is calculated dynamically to fit all the built-in sysmodules, and it's now protected by the kernel carveout.
 +
 
 
{{NavboxVersions}}
 
{{NavboxVersions}}
92

edits

Navigation menu