Denis Drakhnia
8f4de9d485
e2k: Implement basic v5 support.
...
Add gdb xml files for e2k.
Tags are partially disabled for better performance.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
17be44b21b
e2k: Use one large array for registers.
...
Previously was used two separate arrays for low and
high halves of a register. Now we can pass direct
pointer to a register into helpers instead of copying
the halves into a temporary buffer and pass pointer to
that buffer.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
bed634d944
e2k: Use %pfpfr for f32 and f64 operations.
...
%fpcr and %fpsr have been used for the operations but
%pfpfr must be used instead.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
e440ebc3db
e2k: Basic impl of e2k32-linux-user.
...
Fix target_stat64 field types in 32-bit mode.
Basic impl of getpl.
Basic impl of ldgd{b,h,w,d}.
Basic impl of stgd{b,h,w,d}.
Add e2k exceptions.
Add Dynamic hw stacks expansion.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:19 +03:00
Denis Drakhnia
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
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
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
Alibek Omarov
9f39901e0a
e2k: implement plog_* instructions
2022-06-10 11:48:17 +03:00
Denis Drakhnia
06df1e9168
e2k: Impl e2k_longjmp2 syscall.
2022-06-10 11:48:16 +03:00
Alibek Omarov
7f3dbf0c0d
e2k: elbrus by default have extended precision, set it
2022-06-10 11:48:16 +03:00
Denis Drakhnia
8881486b62
target: e2k: Remove rptr and tptr from state.
2022-06-10 11:48:15 +03:00
Alibek Omarov
c52d9f9af9
target: e2k: set disas isa version
2022-06-10 11:48:15 +03:00
Alibek Omarov
ebb2b2485f
target: e2k: add basic fpu instructions
2022-06-10 11:48:15 +03:00
Denis Drakhnia
21b39b8206
target: e2k: Delete hack for saving USD registers on proc call/ret.
2022-06-10 11:48:15 +03:00
Denis Drakhnia
bcc311b773
target: e2k: Fix udivs exception hack.
2022-06-10 11:48:15 +03:00
Denis Drakhnia
ad6bc687e4
target: e2k: HACK: Tag storage for procedure stack.
2022-06-10 11:48:15 +03:00
Denis Drakhnia
381868f71a
target: e2k: Return aligned pointer from getsp.
2022-06-10 11:48:15 +03:00
Denis Drakhnia
93acd43783
target: e2k: Add staa{b,h} instrs.
2022-06-10 11:48:14 +03:00
Alibek Omarov
327bc03604
target: e2k: define CPUs we're testing against, define gdb arch
2022-06-10 11:48:14 +03:00
Alibek Omarov
df21ab3d70
target: e2k: define CPUs we're testing against, define gdb arch
2022-06-10 11:48:14 +03:00
Denis Drakhnia
cd57ff3686
target: e2k: Increase startup window size.
2022-06-10 11:48:14 +03:00
Denis Drakhnia
72bcbbabb0
target: e2k: Add pshufb instr.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
57b3469cda
target: e2k: Impl speculative execution.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
db10b6d8a4
target: e2k: Reorg reg file.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
a008c8d102
target: e2k: Add registers tags.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
d2646eb82b
target: e2k: Update TODO messages.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
2ec66c49c5
target: e2k: Reorg cr1.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
5601f6e45a
target: e2k: Reorg wd.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
dd3aa7283a
target: e2k: Reorg br.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
4d16d006d5
target: e2k: Restore udivs dump state hack.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
9105937fd9
target: e2k: Reord pcsp.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
ab13f761a2
target: e2k: Reorg psp.
2022-06-10 11:48:13 +03:00
Denis Drakhnia
5cf2d90428
target: e2k: Add %idr.
2022-06-10 11:48:12 +03:00
Denis Drakhnia
17835f1c1d
target: e2k: Use start+len for GET_FIELD.
2022-06-10 11:48:12 +03:00
Denis Drakhnia
c3e5a53689
target: e2k: Read NR in gdb.
2022-06-10 11:48:12 +03:00
Denis Drakhnia
dc5905c3ab
target: e2k: Fix call/return.
2022-06-10 11:48:12 +03:00
Denis Drakhnia
c40cc30f26
target: e2k: Reorg + basic gdb debugging.
2022-06-10 11:48:12 +03:00
Denis Drakhnia
a97138856a
target: e2k: gdb register ids.
2022-06-10 11:48:12 +03:00
Alibek Omarov
9cf42881f6
target: e2k: initial gdb support
2022-06-10 11:48:12 +03:00
Denis Drakhnia
ff2d059db8
target: e2k: Add procedure stack.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
0198775b67
target: e2k: Add basic call (without saving regs).
2022-06-10 11:48:11 +03:00
Denis Drakhnia
27d235d092
target: e2k: Add %pcsp_hi and %pcsp_lo registers.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
8a8985961e
target: e2k: Move %br to %cr1_hi.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
a5f7f32a8f
target: e2k: Move %br parts to %br.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
54feb6fbe3
target: e2k: Fix bugs.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
24b5d5c7fb
target: e2k: Add loop_end/not_loop_end condition.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
37acf287ad
target: e2k: Impl rotated pregs.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
7c4f2f0a3c
target: e2k: Add getsp instr.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
5c48cf014b
target: e2k: Add read/write to %usd.
2022-06-10 11:48:11 +03:00
Denis Drakhnia
d5f6e9a967
target: e2k: Add window ptr.
2022-06-10 11:48:11 +03:00