target: e2k: Update TODO messages.

This commit is contained in:
Denis Drakhnia 2020-11-28 10:08:22 +02:00 committed by Denis Drakhnia
parent be45bd770e
commit d2646eb82b
7 changed files with 17 additions and 23 deletions

View File

@ -28,10 +28,8 @@
void cpu_loop(CPUE2KState *env) void cpu_loop(CPUE2KState *env)
{ {
CPUState *cs = env_cpu(env); CPUState *cs = env_cpu(env);
int trapnr; //TODO , n, sig; int trapnr;
target_siginfo_t info; target_siginfo_t info;
//target_ulong addr;
//abi_long ret;
while (1) { while (1) {
cpu_exec_start(cs); cpu_exec_start(cs);

View File

@ -77,7 +77,7 @@ struct target_sigcontext {
void setup_frame(int sig, struct target_sigaction *ka, void setup_frame(int sig, struct target_sigaction *ka,
target_sigset_t *set, CPUE2KState *env) target_sigset_t *set, CPUE2KState *env)
{ {
/* TODO */ // TODO: setup_frame
qemu_log_mask(LOG_UNIMP, "setup_frame: not implemented\n"); qemu_log_mask(LOG_UNIMP, "setup_frame: not implemented\n");
} }
@ -85,13 +85,13 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
target_siginfo_t *info, target_siginfo_t *info,
target_sigset_t *set, CPUE2KState *env) target_sigset_t *set, CPUE2KState *env)
{ {
/* TODO */ // TODO: setup_rt_frame
qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n"); qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");
} }
long do_sigreturn(CPUE2KState *env) long do_sigreturn(CPUE2KState *env)
{ {
/* TODO */ // TODO: do_sigreturn
qemu_log_mask(LOG_UNIMP, "do_sigreturn: not implemented\n"); qemu_log_mask(LOG_UNIMP, "do_sigreturn: not implemented\n");
return 0; return 0;
} }
@ -99,7 +99,7 @@ long do_sigreturn(CPUE2KState *env)
long do_rt_sigreturn(CPUE2KState *env) long do_rt_sigreturn(CPUE2KState *env)
{ {
trace_user_do_rt_sigreturn(env, 0); trace_user_do_rt_sigreturn(env, 0);
/* TODO */ // TODO: do_rt_sigreturn
qemu_log_mask(LOG_UNIMP, "do_rt_sigreturn: not implemented\n"); qemu_log_mask(LOG_UNIMP, "do_rt_sigreturn: not implemented\n");
return -TARGET_ENOSYS; return -TARGET_ENOSYS;
} }
@ -107,7 +107,7 @@ long do_rt_sigreturn(CPUE2KState *env)
abi_long do_swapcontext(CPUArchState *env, abi_ulong uold_ctx, abi_long do_swapcontext(CPUArchState *env, abi_ulong uold_ctx,
abi_ulong unew_ctx, abi_long ctx_size) abi_ulong unew_ctx, abi_long ctx_size)
{ {
/* TODO */ // TODO: do_swapcontext
qemu_log_mask(LOG_UNIMP, "do_swapcontext: not implemented\n"); qemu_log_mask(LOG_UNIMP, "do_swapcontext: not implemented\n");
return 0; return 0;
} }

View File

@ -16,25 +16,25 @@ static inline void cpu_clone_regs_child(CPUE2KState *env, target_ulong newsp,
static inline void cpu_clone_regs_parent(CPUE2KState *env, unsigned flags) static inline void cpu_clone_regs_parent(CPUE2KState *env, unsigned flags)
{ {
qemu_log_mask(LOG_UNIMP, "cpu_clone_regs_parent: unimplemented\n"); qemu_log_mask(LOG_UNIMP, "cpu_clone_regs_parent: unimplemented\n");
// TODO // TODO: cpu_clone_regs_parent
} }
static inline void cpu_set_tls(CPUE2KState *env, target_ulong newtls) static inline void cpu_set_tls(CPUE2KState *env, target_ulong newtls)
{ {
qemu_log_mask(LOG_UNIMP, "cpu_set_tls: unimplemented\n"); qemu_log_mask(LOG_UNIMP, "cpu_set_tls: unimplemented\n");
// TODO // TODO: cpu_set_tls
} }
static inline target_ulong cpu_get_tls(CPUE2KState *env) static inline target_ulong cpu_get_tls(CPUE2KState *env)
{ {
// TODO // TODO: cpu_get_tls
qemu_log_mask(LOG_UNIMP, "cpu_get_tls: unimplemented\n"); qemu_log_mask(LOG_UNIMP, "cpu_get_tls: unimplemented\n");
return 0; return 0;
} }
static inline abi_ulong get_sp_from_cpustate(CPUE2KState *env) static inline abi_ulong get_sp_from_cpustate(CPUE2KState *env)
{ {
return env->usd_lo & ((1UL << 48) - 1); return extract64(env->usd_lo, 0, 48);
} }
#endif /* E2K_TARGET_CPU_H */ #endif /* E2K_TARGET_CPU_H */

View File

@ -86,7 +86,7 @@ static void cpu_e2k_disas_set_info(CPUState *cpu, disassemble_info *info)
void cpu_e2k_set_id(CPUE2KState *env, unsigned int cpu) void cpu_e2k_set_id(CPUE2KState *env, unsigned int cpu)
{ {
// TODO // TODO: cpu_e2k_set_id
qemu_log_mask(LOG_UNIMP, "cpu_e2k_set_id: not implemented\n"); qemu_log_mask(LOG_UNIMP, "cpu_e2k_set_id: not implemented\n");
} }
@ -165,14 +165,14 @@ static void e2k_cpu_synchronize_from_tb(CPUState *cs, const TranslationBlock *tb
static bool e2k_cpu_has_work(CPUState *cs) static bool e2k_cpu_has_work(CPUState *cs)
{ {
// TODO // TODO: e2k_cpu_has_work
qemu_log_mask(LOG_UNIMP, "e2k_cpu_has_work: not implemented\n"); qemu_log_mask(LOG_UNIMP, "e2k_cpu_has_work: not implemented\n");
return true; return true;
} }
static char *e2k_cpu_type_name(const char *cpu_model) static char *e2k_cpu_type_name(const char *cpu_model)
{ {
// TODO // TODO: e2k_cpu_type_name
char *name = g_strdup_printf("%s", cpu_model); char *name = g_strdup_printf("%s", cpu_model);
return name; return name;
} }

View File

@ -264,6 +264,6 @@ int e2k_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
fprintf(stderr, "%s: unknown register %d\n", __FUNCTION__, n); fprintf(stderr, "%s: unknown register %d\n", __FUNCTION__, n);
/* TODO */ // TODO: e2k_cpu_gdb_write_register
return 0; return 0;
} }

View File

@ -491,9 +491,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
void restore_state_to_opc(CPUE2KState *env, TranslationBlock *tb, void restore_state_to_opc(CPUE2KState *env, TranslationBlock *tb,
target_ulong *data) target_ulong *data)
{ {
// target_ulong pc = data[0]; // TODO: restore_state_to_opc
// target_ulong npc = data[0];
// TODO
qemu_log_mask(LOG_UNIMP, "restore_state_to_opc: not implemented\n"); qemu_log_mask(LOG_UNIMP, "restore_state_to_opc: not implemented\n");
} }

View File

@ -154,11 +154,11 @@ void e2k_commit_stubs(DisasContext *ctx)
case 0x00: case 0x00:
break; break;
case 0x01: case 0x01:
// TODO // TODO: abgd
abort(); abort();
break; break;
case 0x02: case 0x02:
// TODO // TODO: abgi
abort(); abort();
break; break;
default: default:
@ -501,7 +501,6 @@ static void gen_jmp(DisasContext *dc)
unsigned int cond_type = GET_FIELD(dc->bundle.ss, 5, 4); unsigned int cond_type = GET_FIELD(dc->bundle.ss, 5, 4);
unsigned int ctpr = GET_FIELD(dc->bundle.ss, 10, 2); unsigned int ctpr = GET_FIELD(dc->bundle.ss, 10, 2);
/* TODO: different kinds of ct */
if (ctpr != 0) { if (ctpr != 0) {
dc->ct.type = CT_JUMP; dc->ct.type = CT_JUMP;
dc->ct.u.ctpr = e2k_cs.ctprs[ctpr - 1]; dc->ct.u.ctpr = e2k_cs.ctprs[ctpr - 1];
@ -510,7 +509,6 @@ static void gen_jmp(DisasContext *dc)
if (cond_type == 1) { if (cond_type == 1) {
tcg_gen_movi_tl(e2k_cs.ct_cond, 1); tcg_gen_movi_tl(e2k_cs.ct_cond, 1);
} else if (cond_type > 1) { } else if (cond_type > 1) {
/* TODO: single assign */
TCGv preg = tcg_temp_new(); TCGv preg = tcg_temp_new();
TCGv loop_end = tcg_temp_new(); TCGv loop_end = tcg_temp_new();
TCGv not_loop_end = tcg_temp_new(); TCGv not_loop_end = tcg_temp_new();