Changes

493 bytes added ,  20:20, 14 March 2018
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]]===