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. |
| | | |