mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 16:01:42 +12:00
TLS for ARMv7 threads
This commit is contained in:
parent
12d1f8202d
commit
61a5459ccb
9 changed files with 115 additions and 64 deletions
|
@ -336,15 +336,17 @@ void ARMv7_instrs::MRC_(ARMv7Context& context, const ARMv7Code code, const ARMv7
|
|||
|
||||
if (ConditionPassed(context, cond))
|
||||
{
|
||||
if (cp == 15 && opc1 == 0 && cn == 13 && cm == 0 && opc2 == 3)
|
||||
{
|
||||
LOG_ERROR(ARMv7, "TODO: TLS requested");
|
||||
// APSR flags are written if t = 15
|
||||
|
||||
if (t < 15)
|
||||
if (t < 15 && cp == 15 && opc1 == 0 && cn == 13 && cm == 0 && opc2 == 3)
|
||||
{
|
||||
if (!context.TLS)
|
||||
{
|
||||
context.GPR[t] = 0;
|
||||
return;
|
||||
throw "TLS not initialized";
|
||||
}
|
||||
|
||||
context.GPR[t] = context.TLS;
|
||||
return;
|
||||
}
|
||||
|
||||
throw fmt::format("Bad instruction: mrc p%d,%d,r%d,c%d,c%d,%d", cp, opc1, t, cn, cm, opc2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue