5.0.0: Difference between revisions
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]]=== |