Line 109: |
Line 109: |
| * When using most [[SMC]]s, IRQs are now disabled first then restored to original state afterwards. x18 is also reinitialized right after most SMCs (see above). | | * When using most [[SMC]]s, IRQs are now disabled first then restored to original state afterwards. x18 is also reinitialized right after most SMCs (see above). |
| * 5 new syscalls. | | * 5 new syscalls. |
− | ** Syscalls 0x48+0x49 are used by [[AM_services|AM]]-sysmodule. | + | ** Syscalls 0x48+0x49 (svcAllocateUserHeapMemory+svcFreeUserHeapMemory) are used by [[AM_services|AM]]-sysmodule. |
− | ** Syscall 0x4A is used by [[Process_Manager_services|PM]]-sysmodule. | + | *** This is used to allocate Application pool. |
− | ** Syscall 0x6F is used by FS, SM, and PM. | + | ** Syscall 0x4A (svcSetUserHeapMemoryAllocationMax) is used by [[Process_Manager_services|PM]]-sysmodule. |
| + | *** This allows PM to set a limit on the number of bytes AM can allocate from Application pool. |
| + | ** Syscall 0x6F (svcGetMemoryInfo) is used by FS, SM, and PM. |
| + | ** Syscall 0x2E (svcGetNextThreadInfo) was added, but it only works on dev units. |
| + | *** Allows fetching how many bytes free/occupied by the different pools. |
| * NPDM irq_id's are no longer checked to be < 0x100, instead max-value is loaded from per-cpu state. | | * NPDM irq_id's are no longer checked to be < 0x100, instead max-value is loaded from per-cpu state. |
| * The order slabheaps are laid out in memory is now randomized. | | * The order slabheaps are laid out in memory is now randomized. |
| + | * There are now 4 memory pool partitions. |
| + | ** This fixes sysmodule takeover with GMMU hax. |
| | | |
| ===[[Internet Browser]]=== | | ===[[Internet Browser]]=== |