Denis Drakhnia
ab620f7a2b
e2k: Delete redundant unimplemented messages.
...
DAM has not been yet implemented. We always generate
a jump to a fixing code. All these messages are redundant.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
e404c06a2d
e2k: Fix syscall restart.
...
We cannot just change the IP address in E2K to restart
the instruction because the same register can be read
and written in the same instruction (and many more
situations), but we can create a fake syscall instruction
and restart it.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
5e66da5f7d
e2k: Delete top CRs from cpu state.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
05304bd1f3
e2k: Fix compiler warnings.
...
Remove unused static functions.
Replace a misused not operator by bitwise not.
2022-06-10 11:48:19 +03:00
Denis Drakhnia
26b9e9a1e4
e2k: Impl basic unix signals support.
2022-06-10 11:48:19 +03:00
Denis Drakhnia
9c1321402e
e2k: Fix getf{s,d} ops.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
7237457c44
e2k: Add stub for pref op.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
54c4312744
e2k: Add packed float simple and combined ops.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
f73e828f75
e2k: Fix fcomb_check.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
8a56f792b7
e2k: Probe AAU read access once per page.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
00502466f2
e2k: Always ignore lock load.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
b692d4c596
e2k: Fix decoding fcomb and pshufb.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
177922ca64
e2k: Split ALC decode/generate stages.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
99280ddade
e2k: Fix movxc.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
00a4284abb
e2k: Reorg fcomb ops.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
1caf8cf356
e2k: Reorg icomb ops.
2022-06-10 11:48:18 +03:00
Alibek Omarov
dd64dfa134
e2k: %pfpfr write stubs
2022-06-10 11:48:18 +03:00
Alibek Omarov
400947bba3
e2k: implement fsqrttd/fxsqrttxx through ignoring what fsqrtid/fxsqrt{i,u}xx does
2022-06-10 11:48:18 +03:00
Denis Drakhnia
65675ac1cf
e2k: Check address before MOVA memory read.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
cf04412feb
e2k: Do not align mova addr.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
a37964a9d3
e2k: Fix fcomb operand ordering.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
b166b260da
e2k: Impl neg src2 in fscale{s,d} and fxscalesx.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
399416a0d7
e2k: Allow to execute frcps, fsqrts, frsqrts.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
f018f02a5b
e2k: Add movt{,c}{s,d,q} ops.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
6277820c04
e2k: Add fscale{s,d} and fxscalesx ops.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
7c4ff94e5f
e2k: Impl basic init thread support.
2022-06-10 11:48:18 +03:00
Alibek Omarov
73b99e75c2
e2k: add fxtoi{s,d}{,tr} and i{s,d}tofx instructions
2022-06-10 11:48:18 +03:00
Alibek Omarov
ac964b4826
e2k: add stringified opcodes
2022-06-10 11:48:18 +03:00
Denis Drakhnia
732033c341
e2k: Fix mova{b,h,w} reg tag write.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
9354896d9c
e2k: Fix insfd.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
2536956da6
e2k: Fix getf{s,d}.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
7dde6cc100
e2k: ecnt must not decrement if vlc is not set.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
38ef61024d
e2k: Fix incorrect epilogue counter decrement.
2022-06-10 11:48:18 +03:00
Denis Drakhnia
9e8c927036
e2k: Add delayed window bounds static/dynamic checks.
2022-06-10 11:48:18 +03:00
Alibek Omarov
f56cad7923
e2k: implement detecting ISA version by ELF flags, throw an error for protected mode and x86 recompiled binaries for now
2022-06-10 11:48:18 +03:00
Denis Drakhnia
23a0139ee6
e2k: Remove control.c
2022-06-10 11:48:17 +03:00
Denis Drakhnia
0b7f461be7
e2k: Remove pshtp and window base.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
9e79810b32
e2k: Fix incorrect restore from a breakpoint.
2022-06-10 11:48:17 +03:00
Alibek Omarov
9f39901e0a
e2k: implement plog_* instructions
2022-06-10 11:48:17 +03:00
Alibek Omarov
380a6384e0
e2k: add pf{mul,add,sub,div,min,max}d instructions
2022-06-10 11:48:17 +03:00
Denis Drakhnia
3b03e60115
e2k: Disable debug restore checks if not needed.
...
Do not check illtag if not needed.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
89aa3a80c1
e2k: Remove {GET,SET}_FIELD macros.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
53bb2d49eb
e2k: Small performance improvements.
...
Do not initialize alops_map for every tb.
Reduced alops size.
Delayed window bounds checks.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
5aa3d47668
e2k: Fix decoding of ALES2/5.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
562df00e27
e2k: Aaincr must be executed outside of the staa pred cond.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
28aafb053c
e2k: Restore usage of env CRs.
...
Fixes syscall e2k_longjmp2.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
ce88afe251
e2k: Add movx{,a,c} instr.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
d37ee639b1
e2k: Add {u,s}{div,mod}x instrs.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
acc2f18f97
e2k: Add mpsadbh instr.
2022-06-10 11:48:17 +03:00
Denis Drakhnia
d2b6bb3f9c
e2k: Add phminposuh instr.
2022-06-10 11:48:17 +03:00