Commit Graph

321 Commits

Author SHA1 Message Date
Denis Drakhnia 39bb97e24e target: e2k: Reorganize tag usage. 2022-06-10 11:48:14 +03:00
Denis Drakhnia 5a1e118992 target: e2k: Fix icont bug. 2022-06-10 11:48:14 +03:00
Denis Drakhnia 80b3909fb0 target: e2k: Read %idr in rrd. 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 aa93b81f40 target: e2k: Fix bitrev{s,d} instrs. 2022-06-10 11:48:14 +03:00
Denis Drakhnia e5126b32d4 target: e2k: Impl reading some regs through rrd.
%wd, %pcsp.lo, %pcsp.hi, %pcshtp, %cr1.hi, %cr1.lo.
2022-06-10 11:48:14 +03:00
Alibek Omarov 4d88941e0a target: e2k: add reading %ip register through rrd 2022-06-10 11:48:14 +03:00
Denis Drakhnia 0ac9e690a2 target: e2k: Fix getsp src2 size. 2022-06-10 11:48:14 +03:00
Alibek Omarov a410422f9a target: e2k: add lzcnt and popcnt instrs (untested!) 2022-06-10 11:48:14 +03:00
Alibek Omarov 990976cf99 target: e2k: add bitrev instr 2022-06-10 11:48:14 +03:00
Denis Drakhnia 6a0a45602b target: e2k: Impl pcmpeqb. 2022-06-10 11:48:14 +03:00
Denis Drakhnia 1c1db1a395 target: e2k: Replace some panics with messages. 2022-06-10 11:48:14 +03:00
Denis Drakhnia a6d8edd30f target: e2k: Add %cr1.{lo,hi} to rr{s,d}/rw{s,d}. 2022-06-10 11:48:14 +03:00
Denis Drakhnia b14ca9755f target: e2k: Impl write AL result to ctpr. 2022-06-10 11:48:14 +03:00
Denis Drakhnia 683d96b8fa target: e2k: Partial staa{d,w} implementation. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 51048a3f3e target: e2k: Increase temp i32 limit. 2022-06-10 11:48:13 +03:00
Denis Drakhnia a7e7a746ca target: e2k: Add paddd instr. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 300fe4742f target: e2k: Add mul{s,d} instrs. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 72bcbbabb0 target: e2k: Add pshufb instr. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 32ee7f3b15 target: e2k: Add insf{s,d} instrs. 2022-06-10 11:48:13 +03:00
Denis Drakhnia f0390fa97b target: e2k: Add gettag{s,d} instrs. 2022-06-10 11:48:13 +03:00
Denis Drakhnia f817f7e354 target: e2k: Add puttag{s,d} instrs. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 57b3469cda target: e2k: Impl speculative execution. 2022-06-10 11:48:13 +03:00
Alibek Omarov 7d03b739e9 target: e2k: refactor instruction decoding based on active channel 2022-06-10 11:48:13 +03:00
Denis Drakhnia 294f11ecb6 target: e2k: Increace i32 temp limit. 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 06e789a573 target: e2k: Jump to ctpr_addr if ctpr is return. 2022-06-10 11:48:13 +03:00
Denis Drakhnia c81e20732d target: e2k: Fix instr return. 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 be45bd770e target: e2k: Gen rt exception in udivs hack. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 2ba3ae22f6 target: e2k: Fix gen_goto_tb usage. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 2ab3c18ce1 target: e2k: Fix instr start address. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 0b4a9728dc target: e2k: Move int helpers to separate file. 2022-06-10 11:48:13 +03:00
Denis Drakhnia f37d246c90 target: e2k: Make gdb happier. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 229797cfbd target: e2k: Ps push/pop with pshtp. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 028d27ae4c target: e2k: Add setwd helper. 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 8aa929e289 target: e2k: Move helper_cur_dec to TCG. 2022-06-10 11:48:13 +03:00
Denis Drakhnia b200334479 target: e2k: Add exceptions to wregs access. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 6ee4ab4bd3 target: e2k: Fix literal loading. 2022-06-10 11:48:13 +03:00
Denis Drakhnia 6d3f1d71e4 target: e2k: Fix control flow condition. 2022-06-10 11:48:12 +03:00
Denis Drakhnia e7e3e91bfc target: e2k: Add {s,u}div{s,d}. 2022-06-10 11:48:12 +03:00
Denis Drakhnia a73f073ffe target: e2k: Fix mas array size. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 468277c315 target: e2k: Remove helper unimpl. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 4bce722d48 target: e2k: Add basic setmas support. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 0ce16f0ca7 target: e2k: Fix extending sign 32-bit literal. 2022-06-10 11:48:12 +03:00
Denis Drakhnia fe6df81676 target: e2k: gdb global registers tags ids. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 8af729fafb target: e2k: Add %clkr. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 8bcb8d6ed4 target: e2k: alc: Conditional execution. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 9b0e3ca129 target: e2k: Fix extraction of lp index. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 86265a8d84 target: add: Add getfs/getfd instrs. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 5cf2d90428 target: e2k: Add %idr. 2022-06-10 11:48:12 +03:00
Denis Drakhnia f509c99710 target: e2k: Add cmpand{op}{s,d}b instrs. 2022-06-10 11:48:12 +03:00
Denis Drakhnia d1df754c9d target: e2k: Add %upsr. 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 8ac7081344 target: e2k: Add PLU instructions. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 938d78d836 target: e2k: Fix load instrs. 2022-06-10 11:48:12 +03:00
Alibek Omarov d699c2622b target: e2k: alc: support cmp{op}sb 2022-06-10 11:48:12 +03:00
Alibek Omarov f19fe47cc8 target: e2k: add %ip for rrd 2022-06-10 11:48:12 +03:00
Denis Drakhnia d05841bd16 target: e2k: Fix ct in gdb. 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 4da7027d90 target: e2k: Fix e2k_cpu_gdb_read_register. 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 3b5241ad15 target: e2k: Fix ctpr count. 2022-06-10 11:48:12 +03:00
Denis Drakhnia a69c793e84 target: e2k: Mov ct disp from helper to TCG. 2022-06-10 11:48:12 +03:00
Denis Drakhnia ccb76dde93 target: e2k: Remove cond from ct helpers. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 61ab4472e6 target: e2k: Remove has_cond from DisasContext. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 59fda0faeb target: e2k: Move ct cond to cpu env. 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 a4b1402861 disas: e2k: Fix alf print. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 3d49789b53 target: e2k: gen_goto_tb from SPARC. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 6c53148995 target: e2k: gen_goto_tb from SPARC. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 6324d621eb target: e2k: Add exception for abn/abp instr. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 01d1a9e9cd target: e2k: Fix SIGFPE error. 2022-06-10 11:48:11 +03:00
Denis Drakhnia ff2d059db8 target: e2k: Add procedure stack. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 45e3735d04 target: e2k: Add basic getsp instr. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 62e2cf058a target: e2k: Add pcs_{push,pop}. 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 ed83debd31 target: e2k: Reorg lcnt decrement. 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 2f482cf83c target: e2k: Remove type from macro GEN_MASK. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 3d15ee8026 target: e2k: Add store instrs. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 1edcdfc743 target: e2k: Add load instrs. 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 ee42d330b5 target: e2k: Add merges and merged instrs. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 11c6a483fb target: e2k: Add sxt instr. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 15508fb418 target: e2k: Fix crash on conditional syscall. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 725d1d5acf target: e2k: Add basic syscall support. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 11c80f0227 target: e2k: Try to impl syscall. 2022-06-10 11:48:11 +03:00
Denis Drakhnia c3dc2f9a68 target: e2k: Add e2k_gen get and set field. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 99acf5b5fa target: e2k: Add disp and ct instrs support. 2022-06-10 11:48:11 +03:00
Denis Drakhnia a3bb35cc9d target: e2k: Add negated predicate ct condition. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 901f3bf981 target: e2k: Reorg control flow. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 6f1319b758 target: e2k: Reorg. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 01286c3c55 target: e2k: Comment unused vars for future use. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 1d5f74624f target: e2k: Move TCG CPU State to translate.h. 2022-06-10 11:48:11 +03:00
Denis Drakhnia baa5780663 target: e2k: Add cpu state is_jmp. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 3cc618ce20 target: e2k: Use win_ptr for regs. 2022-06-10 11:48:11 +03:00
Denis Drakhnia d5f6e9a967 target: e2k: Add window ptr. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 4cc727ed58 target: e2k: Commit bundle instrs at the end. 2022-06-10 11:48:11 +03:00
Denis Drakhnia 5d463a5827 target: e2k: Simple condition jump. 2022-06-10 11:48:10 +03:00
Alibek Omarov b8a79c9c2b target: e2k: fix instructions with speculative mode 2022-06-10 11:48:10 +03:00
Alibek Omarov bc18b23fda target: e2k: implement disas_log, doesn't work at all 2022-06-10 11:48:10 +03:00
Denis Drakhnia 38497f952b target: e2k: Basic instruction execution. 2022-06-10 11:48:10 +03:00
Denis Drakhnia ff5127d36a target: e2k: unpack long instructions. 2022-06-10 11:48:10 +03:00
Alibek Omarov c42af9ff35 disas: import disassmebler from binutils 2022-06-10 11:48:10 +03:00
Alibek Omarov 8c78e941dd target: e2k: add cpu definitions 2022-06-10 11:48:10 +03:00