Commit Graph

59 Commits

Author SHA1 Message Date
Denis Drakhnia f43cc408fb e2k: move e2k_psp_new to cpu.c
Signed-off-by: Denis Drakhnia <numas13@gmail.com>
2022-06-18 15:03:07 +03:00
Denis Drakhnia 75583b5082 e2k: Reorg cpu dump.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia 48290cb80c e2k: Update get/set state regs.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia c8ed74f626 e2k: Add tags and force_save_alc_dst properties.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia ba89b350dc e2k: signals: Save and restore more state.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
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