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