mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 07:46:01 +03:00
[GH-ISSUE #23] Initial plan for cpu soft-virtualization #12
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @skmp on GitHub (Jul 11, 2023).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/23
Overview
The idea is to soft-virtualize, by reserving a few registers for the host system, and leaving everything else as is with static register allocation. RIP-relocations also need to be done.
Implementing using zydis
Kind of patches
x2 for rex versions
Notes
Windows TLS doesn't give direct access to TLS slots in the same way linux TLS does, so we'll definitely need a context register.
Original writeup
#### Vasika - Elafria eikoniki mixani pou doulevei se leitourgia xristi gia x86/64 arxitetoniki ipodoxis - Vasismeno stous metapinakes apo to hex - Gennitiki arxitekoniki me metaprogramatismo - Eikonefsi ton kataxoriton me statiki antistixisi gia tous perisoterous, mono oti spanizei se dinamiki katanomi - Eikonefsi diefthiseon ektelesis meson paromion domon antistixisis me to hexEpipleon
Ektimiseis
Xronika
Pithano sxedio ergasion
Sxolia
@georgemoralis commented on GitHub (Jul 11, 2023):
καλό φαινεται προχωρα :D
@wheremyfoodat commented on GitHub (Jul 11, 2023):
Skopeuoume na ypostiriksoyme panarxaious epeksergastes typou xoris AVX2? H mono osoys einai pio kainourgioi apo to Jaguar?
@georgemoralis commented on GitHub (Jul 11, 2023):
Δεν νομιζω οτι έχει AVX2 μεχρι AVX φτανει
@georgemoralis commented on GitHub (Jul 11, 2023):
MMX instructions
SSE / Streaming SIMD Extensions
SSE2 / Streaming SIMD Extensions 2
SSE3 / Streaming SIMD Extensions 3
SSSE3 / Supplemental Streaming SIMD Extensions 3
SSE4a ?
SSE4 / SSE4.1 + SSE4.2 / Streaming SIMD Extensions 4 ?
AES / Advanced Encryption Standard instructions
AVX / Advanced Vector Extensions
BMI1 / Bit Manipulation instructions 1
F16C / 16-bit Floating-Point conversion instructions
AMD64 / AMD 64-bit technology ?
AMD-V / AMD Virtualization technology
@georgemoralis commented on GitHub (Jul 11, 2023):
οποτε στόχος επεξεργαστής? τι λιγοτερο μπορουμε να παρουμε...
@wheremyfoodat commented on GitHub (Jul 11, 2023):
Βαλε το xbyak να τσεκάρει οτι εχεις AVX και F16C. Αυτό πρέπει να καλύπτει ολα τα Intel chips από Ivy Bridge και μετα.
Τo AMD-V δεν μας ενδιαφέρει γιατί αποκλείεται να δεις userspace code να φτιαχνει VM.
@wheremyfoodat commented on GitHub (Jul 11, 2023):
Λεω Xbyak επειδη 99% θα καταληξουμε να το εχουμε καπου στο repo και εχει functions που κανουν CPUID τυπου
github.com/wheremyfoodat/Panda3DS@27cf8d75ca/include/PICA/dynapica/shader_rec_emitter_x64.hpp (L114-L125)@georgemoralis commented on GitHub (Jul 11, 2023):
ναι οπως ελεγα στον @skmp χρειαζεται για να patcharo καποια pragmata οπως το TLS
@wheremyfoodat commented on GitHub (Jul 11, 2023):
TLS == thread-local storage?
@georgemoralis commented on GitHub (Jul 11, 2023):
ya
@skmp commented on GitHub (Jul 11, 2023):
afto thelei pio plires emulation, opote dunno. me to backend to hex, isos, kathos k arm64 for sure.
@skmp commented on GitHub (Jul 11, 2023):
(updated ticket with hex reference)
@wheremyfoodat https://www.youtube.com/watch?v=ZYN-VqnvWmI gia perf numbers, an kai den exei pesei kapio optimisation effort
@georgemoralis commented on GitHub (Jul 12, 2023):
ps4 se arm64? gamato!
@skmp commented on GitHub (Jul 12, 2023):
me vulkan renderer standard pezei k android :3
@georgemoralis commented on GitHub (Jul 12, 2023):
vulkan einai to plano
@skmp commented on GitHub (Aug 9, 2023):
arxiki idea ~ https://github.com/skmp/vex86/blob/main/main.cpp.
Prepei episeis relocation ta rip relative sections, ektos apo ta branches.
@skmp commented on GitHub (Aug 9, 2023):
to opio distixos thelei ena temp hrfm :|
@skmp commented on GitHub (Aug 9, 2023):
TLS to the rescue?!
@georgemoralis commented on GitHub (Jun 5, 2024):
close until we need it again