11.0.0: Difference between revisions
svc::InfoType_FreeThreadCount is new |
|||
Line 260: | Line 260: | ||
** GetAndClearMemoryReportInfo | ** GetAndClearMemoryReportInfo | ||
** GetAndClearFileSystemProxyErrorInfo | ** GetAndClearFileSystemProxyErrorInfo | ||
=== [[Internet_Browser|Web-applets]] === | |||
These are now compiled with compiler CFI mitigations enabled. This does not apply to non-web-applets. This uses the crc32x instruction, and x18 as a previously-initialized constant. | |||
This is used to add/subtract x30 starting with bit40, during functions entry/exit. | |||
blr instructions no longer exist: when funcptrs are called, new functions are now called instead which handles the call. The u32 at funcptr_addr-4 must match 0xe7ffdefe, otherwise it will branch to undefined instruction 0x0000dead. Otherwise, it will jump to the funcptr_addr. | |||
All functions now have the above u32 at -4, therefore funcptr calls now have to start at the actual funcptr start. However, this doesn't apply to calls done during functions' exit: these directly br to the funcptr_addr without extra validation. | |||
=== LibraryAppletPhotoViewer === | === LibraryAppletPhotoViewer === |