Changes

Jump to navigation Jump to search
606 bytes added ,  20:56, 23 October 2018
no edit summary
Line 52: Line 52:  
** New MemoryType bit for "JIT allowed".
 
** New MemoryType bit for "JIT allowed".
 
** New MemoryTypes for JitWritable and JitReadOnly.
 
** New MemoryTypes for JitWritable and JitReadOnly.
* New synchronization syscalls 0x34, 0x35 added.
+
* New synchronization syscalls 0x34, 0x35 added: These ones allow implementation of synchronization primitives without a mutex+condvar pair. This is more efficient because when a thread wakes up from a condvar, the mutex is held and needs to perform a syscall to unlock it. If you have N threads blocking on a condvar, you need N-1 syscalls to wake all the threads. With the new syscalls, you can wake up all N with a single syscall.
 +
 
 
* Added new syscall svcDumpInfoNew, but it's stubbed.
 
* Added new syscall svcDumpInfoNew, but it's stubbed.
 
* The linked-list node for KAutoObjects was added to the struct itself instead of being a separate allocation.
 
* The linked-list node for KAutoObjects was added to the struct itself instead of being a separate allocation.
 
* svcGetInfo now exposes the first and last process id for built-in modules.
 
* svcGetInfo now exposes the first and last process id for built-in modules.
 
** This is used by some services to make sure we can't connect to them from outside a privileged module.
 
** This is used by some services to make sure we can't connect to them from outside a privileged module.
* svcReadWriteRegister was updated.
+
* svcReadWriteRegister was updated, now always goes through TZ for both PMC and MC. Whitelist for MC remains the same.
    
===FIRM===
 
===FIRM===
Line 63: Line 64:     
The package1 entrypoint address specified by BCT was increased by 0x20-bytes, since there's now an additional 0x20-bytes at the start of package1. The additional data is identical to the 0x20-byte block before it.
 
The package1 entrypoint address specified by BCT was increased by 0x20-bytes, since there's now an additional 0x20-bytes at the start of package1. The additional data is identical to the 0x20-byte block before it.
 +
 +
In SafeMode Firmware the [[Bus_services|Bus]], [[PCV_services|PCV]] and [[PSC_services|psc]] sysmodules are now bundled with the kernel.
    
Sysmodules:
 
Sysmodules:
Line 71: Line 74:  
** spl:es was added, supporting crypto commands used by the es sysmodule.
 
** spl:es was added, supporting crypto commands used by the es sysmodule.
 
** spl:fs was added, supporting crypto commands used by the [[Filesystem services|fs]] FIRM sysmodule.
 
** spl:fs was added, supporting crypto commands used by the [[Filesystem services|fs]] FIRM sysmodule.
      
====Package1====
 
====Package1====

Navigation menu