fincs
a05a44fca8
virtmem: Major rewrite to support ASLR, see details:
...
- Added virtmemLock/Unlock, needed for atomic find-and-map operations
- Added virtmemFindAslr, which looks for a random free area in AslrRegion
- virtmemReserve still exists for legacy callers who rely on sequential
allocation in order to avoid race conditions from concurrent uses
- Added virtmemFindStack, which searches within StackRegion instead
- Removed virtmemReserveStack/FreeStack
- Changed shmem/thread/tmem/codememory-jit to use the new virtmem API
- Legacy jit still uses virtmemReserve
2020-10-27 12:27:32 +01:00
fincs
7c6d7849f5
Remove obsolete kernel detection code
2020-10-27 12:27:32 +01:00
fincs
8d51f7de1c
jit: Transfer the responsibility of detecting whether CodeMemory syscalls are available/usable to the homebrew environment
2020-10-27 12:27:31 +01:00
fincs
b0494c1acb
Update outdated comments and naming in jit.h/c
2020-04-27 13:46:55 +02:00
yellows8
4177031ebe
Use the same style for all system-versions.
2019-08-26 13:05:49 -04:00
fincs
ee2e19ce38
Improve names/documentation for jit kernel patch functions in detect.h/c + codestylefixes
2019-02-16 16:42:08 +01:00
plutooo
fc557cbf2a
Detect and use the CFW jit patch.
2019-02-13 22:40:00 +01:00
yellows8
319cc578ca
Fixed swapped params for memalign in jitCreate().
2018-10-17 14:47:14 -04:00
yellows8
b11288ea44
In jitTransitionToWritable() and jitTransitionToExecutable(), only run the JitType_CodeMemory handling code when it's actually needed. Actually free j->rx_addr in jitClose() for JitType_JitMemory.
2018-05-21 16:59:49 -04:00
yellows8
a12eb11eab
Sync jit SVC names with wiki + updated the comment for JitType_JitMemory in jit.h.
2018-05-21 14:32:02 -04:00
yellows8
93957370a9
Disable using JitType_JitMemory on 5.0.0+, resulting in falling back to JitType_CodeMemory if available.
2018-05-21 14:04:20 -04:00
fincs
c20d372946
Clean up types.h:
...
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
plutoo
340266502a
Cache management for jit
2018-01-22 21:06:53 +01:00
plutoo
9634a5467e
Small stylefix
2018-01-22 20:15:03 +01:00
plutoo
6fa8370bfb
This looks better
2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8
Include only what is really necessary...
...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
e54bbc54ea
Fix codestyle for results
2018-01-21 18:40:23 +01:00
plutoo
6b4b693842
3.0.0 jit also requires own process handle
2018-01-21 17:24:42 +01:00
plutoo
200240f328
Actually reprotect code segment to RX
2018-01-20 19:37:11 +01:00
plutoo
a4cff4de13
Jit bug number two
2018-01-20 14:19:14 +01:00
plutoo
de8b3f81e4
Jit errorcode bugfix
2018-01-20 14:03:44 +01:00
plutoo
22e9a0fcc3
Jit bringup, improvements to virtmem
2018-01-20 13:56:12 +01:00