Commit graph

18 commits

Author SHA1 Message Date
Paris Oplopoios
d9f287eaa2
Fix fmt error (#1150) 2024-09-29 14:02:46 +02:00
Paris Oplopoios
65bd62e98b
Reduce assert to a warning (#1115) 2024-09-28 15:44:07 +03:00
Paris Oplopoios
23bf8bf5e7
Patch insertq (#635)
* Patch `insertq`

* Don't clobber flags, fix asserts a bit

* Format code

* Fixup some edge cases

* A couple nits

* Remove extraneous space
2024-09-24 17:03:32 +03:00
Paris Oplopoios
5799091044
Patch extrq (#943)
* Use a singleton for instruction decoding

* Use singleton class

* Patch `EXTRQ`

* Fixup signal context functions

* Update CMakeLists.txt

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-09-23 19:19:52 +03:00
squidbus
28ec489dbe
cpu_patches: Revert to ahead-of-time patching on Linux for now. (#949) 2024-09-17 00:53:41 +03:00
squidbus
75a4df53a5
cpu_patches: Patch just-in-time using signal handlers. (#852)
* cpu_patches: Patch just-in-time using illegal instruction handler.

* core: Add common signal dispatch system and use for on-demand TCB patches.

* page_manager: Re-add userfaultfd implementation.
2024-09-15 23:48:34 +03:00
offtkp
f31c92ffd1 Get rid of unnecessary jump 2024-09-04 12:31:12 +03:00
Paris Oplopoios
42ab101908
Set CF correctly on BLSR/BLSMSK patch (#724)
* Set CF correctly on BLSR patch

* Set CF correctly on BLSMSK patch
2024-09-03 21:40:46 +03:00
Paris Oplopoios
cfe49fbfba
Preserve flags on some patched instructions (#720)
* Preserve flags on some patched instructions

* Move flag saving to Save/RestoreContext
2024-09-03 20:41:35 +03:00
Paris Oplopoios
f4ff0d493c
Set CF correctly on BLSI patch (#722)
* Set CF correctly on BLSI patch

* Remove redundant CLC
2024-09-03 20:41:22 +03:00
squidbus
9e5047947b macos: Remove need for TLS patch by storing TCB pointer in FS. 2024-09-01 02:22:42 -07:00
squidbus
61db246c5e core: Fix CPU patch stack issues 2024-08-30 20:47:07 -07:00
squidbus
a17150960f Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
Vinicius Rangel
361412031c
fix tls patch on windows (#328)
* fix tls patch on windows

based on TlsGetValue in kernel32.dll

* fix tls patch on windows for expansion slots
2024-07-27 20:16:21 +03:00
squidbus
615f4e770f Support RIP relative memory operands in patched instructions. 2024-07-21 22:36:12 +03:00
squidbus
26e0fc6ad5 Only patch BMI1 instructions under Rosetta 2. 2024-07-21 22:36:12 +03:00
squidbus
f943ce2710 Address review comments around memory and patches. 2024-07-21 22:36:12 +03:00
squidbus
d9231b239c Migrate TLS patches to new patching system. 2024-07-21 22:36:12 +03:00