9e87995802
e2k: Panic if it was not possible to copy CR to a new thread.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
47c93f9dec
e2k: Skip breakpoints into fake kernel address space.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
5bcc8d7383
e2k: Add reading of %lsr in rr{s,d}.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
0475c820f8
e2k: Fix args sizes for some int vec ops.
...
objdump prints incorrect argument sizes of some
integer vector operations from the first version
of ISA.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
3628f0569b
e2k: Delete redundant unimplemented messages.
...
From e2k_cpu_set_pc and e2k_cpu_synchronize_from_tb.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
3cf004027d
e2k: Increase PCS and PS sizes.
...
Dynamically expanding the stack has not yet been
implemented, but sometimes applications require
larger stacks.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
9146c4c67f
e2k: Fix build of other linux-user-targets.
...
Forgot to wrap constants in if block.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
62637ca653
e2k: Add systrace print for access_hw_stacks.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
774f31dd0e
e2k: Fix vector ops with saturation.
...
An incorrect cast to an unsigned integer was used
instead of a signed integer.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
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
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
5e66da5f7d
e2k: Delete top CRs from cpu state.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
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
5cb3b40f2d
e2k: Set correct NR macro for pread/pwrite.
2022-06-10 11:48:19 +03:00
26b9e9a1e4
e2k: Impl basic unix signals support.
2022-06-10 11:48:19 +03:00
9c1321402e
e2k: Fix getf{s,d} ops.
2022-06-10 11:48:18 +03:00
7237457c44
e2k: Add stub for pref op.
2022-06-10 11:48:18 +03:00
54c4312744
e2k: Add packed float simple and combined ops.
2022-06-10 11:48:18 +03:00
f73e828f75
e2k: Fix fcomb_check.
2022-06-10 11:48:18 +03:00
8a56f792b7
e2k: Probe AAU read access once per page.
2022-06-10 11:48:18 +03:00
00502466f2
e2k: Always ignore lock load.
2022-06-10 11:48:18 +03:00
b692d4c596
e2k: Fix decoding fcomb and pshufb.
2022-06-10 11:48:18 +03:00
177922ca64
e2k: Split ALC decode/generate stages.
2022-06-10 11:48:18 +03:00
99280ddade
e2k: Fix movxc.
2022-06-10 11:48:18 +03:00
00a4284abb
e2k: Reorg fcomb ops.
2022-06-10 11:48:18 +03:00
1caf8cf356
e2k: Reorg icomb ops.
2022-06-10 11:48:18 +03:00
dd64dfa134
e2k: %pfpfr write stubs
2022-06-10 11:48:18 +03:00
400947bba3
e2k: implement fsqrttd/fxsqrttxx through ignoring what fsqrtid/fxsqrt{i,u}xx does
2022-06-10 11:48:18 +03:00
65675ac1cf
e2k: Check address before MOVA memory read.
2022-06-10 11:48:18 +03:00
cf04412feb
e2k: Do not align mova addr.
2022-06-10 11:48:18 +03:00
a37964a9d3
e2k: Fix fcomb operand ordering.
2022-06-10 11:48:18 +03:00
b166b260da
e2k: Impl neg src2 in fscale{s,d} and fxscalesx.
2022-06-10 11:48:18 +03:00
399416a0d7
e2k: Allow to execute frcps, fsqrts, frsqrts.
2022-06-10 11:48:18 +03:00
861a2b6fb6
e2k: Init CRs, make gcc happy.
2022-06-10 11:48:18 +03:00
f018f02a5b
e2k: Add movt{,c}{s,d,q} ops.
2022-06-10 11:48:18 +03:00
6277820c04
e2k: Add fscale{s,d} and fxscalesx ops.
2022-06-10 11:48:18 +03:00
7c4ff94e5f
e2k: Impl basic init thread support.
2022-06-10 11:48:18 +03:00
73b99e75c2
e2k: add fxtoi{s,d}{,tr} and i{s,d}tofx instructions
2022-06-10 11:48:18 +03:00
ac964b4826
e2k: add stringified opcodes
2022-06-10 11:48:18 +03:00
732033c341
e2k: Fix mova{b,h,w} reg tag write.
2022-06-10 11:48:18 +03:00
9354896d9c
e2k: Fix insfd.
2022-06-10 11:48:18 +03:00
2536956da6
e2k: Fix getf{s,d}.
2022-06-10 11:48:18 +03:00
7dde6cc100
e2k: ecnt must not decrement if vlc is not set.
2022-06-10 11:48:18 +03:00
38ef61024d
e2k: Fix incorrect epilogue counter decrement.
2022-06-10 11:48:18 +03:00
9e8c927036
e2k: Add delayed window bounds static/dynamic checks.
2022-06-10 11:48:18 +03:00
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
23a0139ee6
e2k: Remove control.c
2022-06-10 11:48:17 +03:00
0b7f461be7
e2k: Remove pshtp and window base.
2022-06-10 11:48:17 +03:00
9e79810b32
e2k: Fix incorrect restore from a breakpoint.
2022-06-10 11:48:17 +03:00
9f39901e0a
e2k: implement plog_* instructions
2022-06-10 11:48:17 +03:00