Changes

Jump to navigation Jump to search
535 bytes added ,  03:43, 27 August 2020
Line 71: Line 71:  
** The initial arguments now store an entrypoint invocation function pointer in addition to the entrypoint.
 
** The initial arguments now store an entrypoint invocation function pointer in addition to the entrypoint.
 
** Core 1/2/3 now panic if cpuactlr/cpuectlr hold a value different than the one in init argument. Previously, they they did if (real value != expected value) { real value = expected value }.
 
** Core 1/2/3 now panic if cpuactlr/cpuectlr hold a value different than the one in init argument. Previously, they they did if (real value != expected value) { real value = expected value }.
 +
* The reserved memory size for slab heap aslr gaps was reduced by 64 KB from 2 MB to 0x1F0000.
 
* Physical ASLR for certain backing regions (Kernel .text/.rodata/.rwdata/.bss + the Slab Heap region) was implemented.
 
* Physical ASLR for certain backing regions (Kernel .text/.rodata/.rwdata/.bss + the Slab Heap region) was implemented.
 
** Physical randomization of the kernel image is done by KernelLdr.
 
** Physical randomization of the kernel image is done by KernelLdr.
Line 115: Line 116:  
** For normal IO, out_size is just written with the input size parameter.
 
** For normal IO, out_size is just written with the input size parameter.
 
** For special debug regions (mapped using 8.0.0+ memory region descriptor, queried by passing 1/2/3 as phys_addr parameter), out_size is written with the real size of the queried region.
 
** For special debug regions (mapped using 8.0.0+ memory region descriptor, queried by passing 1/2/3 as phys_addr parameter), out_size is written with the real size of the queried region.
 +
* SvcQueryPhysicalAddress was stubbed, and now always returns ResultInvalidCurrentMemoryState.
 +
* KCurrentContext now stores a dereferencable pointer to the current thread's TLS.
 +
** This is used to check the user disable count (for thread pinning) in the SvcHandler instead of loading tls from tpidrro_el0.
    
====FIRM Sysmodules====
 
====FIRM Sysmodules====
Line 136: Line 140:  
* [[Error_Upload_services|eupld]] now has access to srepo:u.
 
* [[Error_Upload_services|eupld]] now has access to srepo:u.
 
* [[Glue_services|glue]] no longer has access to bpc, and access to time:al was added.
 
* [[Glue_services|glue]] no longer has access to bpc, and access to time:al was added.
 +
** Prior to this sysupdate, no retail system-titles used time:al.
 
* [[GRC_services|grc]] now has access to time:su.
 
* [[GRC_services|grc]] now has access to time:su.
 
* [[creport]] no longer has access to ns:dev, and access to pgl was added.
 
* [[creport]] no longer has access to ns:dev, and access to pgl was added.
 
* [[Shared_Database_services|sdb]] no longer has access to prepo:s, and access to srepo:u was added.
 
* [[Shared_Database_services|sdb]] no longer has access to prepo:s, and access to srepo:u was added.
 
* [[OLSC_services|olsc]] now hosts a new [[Services_API|service]], and access to arp:r was added. [[SVC]]s svcMapTransferMemory and svcUnmapTransferMemory are now accessible.
 
* [[OLSC_services|olsc]] now hosts a new [[Services_API|service]], and access to arp:r was added. [[SVC]]s svcMapTransferMemory and svcUnmapTransferMemory are now accessible.
* All web-applets now have access to [[SVC]]s svcMapPhysicalMemoryUnsafe/svcUnmapPhysicalMemoryUnsafe.
+
* All web-applets now have access to [[SVC]]s svcMapPhysicalMemoryUnsafe/svcUnmapPhysicalMemoryUnsafe, but these aren't used in the main-codebin for any of these applets.
 
* [[MyPage_Applet|LibraryAppletMyPage]] now has access to npns:s.
 
* [[MyPage_Applet|LibraryAppletMyPage]] now has access to npns:s.
  

Navigation menu