fpu_plus(mips32)
This commit is contained in:
Submodule lib/resources updated: 98eb8a3406...14b80cde0a
@@ -8,10 +8,10 @@
|
|||||||
".NETCoreApp,Version=v8.0": {
|
".NETCoreApp,Version=v8.0": {
|
||||||
"OptionsParser/1.0.0": {
|
"OptionsParser/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
"Microsoft.NET.Test.Sdk": "16.9.1",
|
"Microsoft.NET.Test.Sdk": "16.9.1",
|
||||||
"NUnit": "3.13.1",
|
"NUnit": "3.13.1",
|
||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0"
|
||||||
"OptionsParser": "1.0.0"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"OptionsParser.dll": {}
|
"OptionsParser.dll": {}
|
||||||
|
|||||||
@@ -26,12 +26,12 @@
|
|||||||
"Xwt": "1.0.0",
|
"Xwt": "1.0.0",
|
||||||
"Xwt.Gtk3": "1.0.0",
|
"Xwt.Gtk3": "1.0.0",
|
||||||
"libtftp": "1.0.0",
|
"libtftp": "1.0.0",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"CookComputing.XmlRpcV2": "2.5.0.0",
|
"CookComputing.XmlRpcV2": "2.5.0.0",
|
||||||
"CoSimulationPlugin.Reference": "1.0.0.0",
|
"CoSimulationPlugin.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -1954,10 +1954,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1994,10 +1994,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3134,7 +3134,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3159,7 +3159,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
@@ -127,9 +127,23 @@ static void free_list(host_memory_block_lists_t **lists)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* tlib_free is backed by Renode's C# SimpleMemoryManager, not by plain libc
|
||||||
|
* free. Unlike free(NULL), SimpleMemoryManager.Free(IntPtr.Zero) is an error,
|
||||||
|
* so guard every optional allocation before releasing it.
|
||||||
|
*/
|
||||||
|
if((*lists)->elements != NULL)
|
||||||
|
{
|
||||||
tlib_free((*lists)->elements);
|
tlib_free((*lists)->elements);
|
||||||
|
}
|
||||||
|
if((*lists)->guest_to_host_nodes != NULL)
|
||||||
|
{
|
||||||
tlib_free((*lists)->guest_to_host_nodes);
|
tlib_free((*lists)->guest_to_host_nodes);
|
||||||
|
}
|
||||||
|
if((*lists)->host_to_guest_nodes != NULL)
|
||||||
|
{
|
||||||
tlib_free((*lists)->host_to_guest_nodes);
|
tlib_free((*lists)->host_to_guest_nodes);
|
||||||
|
}
|
||||||
tlib_free(*lists);
|
tlib_free(*lists);
|
||||||
|
|
||||||
*lists = NULL;
|
*lists = NULL;
|
||||||
@@ -143,6 +157,12 @@ void renode_set_host_blocks(host_memory_block_packed_t *blocks, int count)
|
|||||||
|
|
||||||
old_mappings = lists;
|
old_mappings = lists;
|
||||||
|
|
||||||
|
if(count <= 0) {
|
||||||
|
lists = NULL;
|
||||||
|
free_list(&old_mappings);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
new_mappings = tlib_malloc(sizeof(host_memory_block_lists_t));
|
new_mappings = tlib_malloc(sizeof(host_memory_block_lists_t));
|
||||||
new_mappings->size = count;
|
new_mappings->size = count;
|
||||||
new_mappings->elements = tlib_malloc(sizeof(host_memory_block_t) * count);
|
new_mappings->elements = tlib_malloc(sizeof(host_memory_block_t) * count);
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ void cpu_reset(CPUState *env)
|
|||||||
env->LO = 0;
|
env->LO = 0;
|
||||||
|
|
||||||
// CP0寄存器
|
// CP0寄存器
|
||||||
env->CP0_Status = CP0_STATUS_ERL | CP0_STATUS_CU1;
|
env->CP0_Status = CP0_STATUS_ERL | CP0_STATUS_CU1 | CP0_STATUS_BEV;
|
||||||
env->CP0_Cause = 0;
|
env->CP0_Cause = (1 << 23); // Cause.IV = 1,中断使用独立向量 0xBFC00400
|
||||||
env->CP0_EPC = 0;
|
env->CP0_EPC = 0;
|
||||||
env->CP0_PRId = 0x00006302;
|
env->CP0_PRId = 0x00006302;
|
||||||
env->CP0_Config0 = 0x80000000;
|
env->CP0_Config0 = 0x80000000;
|
||||||
@@ -273,6 +273,24 @@ void helper_fpu_math(CPUState *env, uint32_t insn) {
|
|||||||
case 0x05: res = (uint32_t)fst0 & 0x7FFFFFFF; break; // abs.s
|
case 0x05: res = (uint32_t)fst0 & 0x7FFFFFFF; break; // abs.s
|
||||||
case 0x07: res = (uint32_t)fst0 ^ 0x80000000; break; // neg.s
|
case 0x07: res = (uint32_t)fst0 ^ 0x80000000; break; // neg.s
|
||||||
case 0x08: res = float32_to_int64(wt0, &env->fp_status); break; // round.l.s
|
case 0x08: res = float32_to_int64(wt0, &env->fp_status); break; // round.l.s
|
||||||
|
case 0x09: { // trunc.l.s - 单精度截断为长整数
|
||||||
|
res = (uint64_t)float32_to_int64(wt0, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0A: { // ceil.l.s - 单精度向上取整为长整数
|
||||||
|
int old_mode = get_float_rounding_mode(&env->fp_status);
|
||||||
|
set_float_rounding_mode(float_round_up, &env->fp_status);
|
||||||
|
res = (uint64_t)float32_to_int64(wt0, &env->fp_status);
|
||||||
|
set_float_rounding_mode(old_mode, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0B: { // floor.l.s - 单精度向下取整为长整数
|
||||||
|
int old_mode = get_float_rounding_mode(&env->fp_status);
|
||||||
|
set_float_rounding_mode(float_round_down, &env->fp_status);
|
||||||
|
res = (uint64_t)float32_to_int64(wt0, &env->fp_status);
|
||||||
|
set_float_rounding_mode(old_mode, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 0x10: { // movf.s - 如果FCC为假则传送
|
case 0x10: { // movf.s - 如果FCC为假则传送
|
||||||
uint32_t cc = (insn >> 18) & 0x7;
|
uint32_t cc = (insn >> 18) & 0x7;
|
||||||
int fcc = (env->fcr31 >> (23 + cc)) & 1;
|
int fcc = (env->fcr31 >> (23 + cc)) & 1;
|
||||||
@@ -300,7 +318,7 @@ void helper_fpu_math(CPUState *env, uint32_t insn) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x20: res = int32_to_float32((int32_t)fst0, &env->fp_status); break; // cvt.s.w
|
case 0x20: res = int32_to_float32((int32_t)fst0, &env->fp_status); break; // cvt.s.w
|
||||||
case 0x21: res = int32_to_float64((int32_t)fst0, &env->fp_status); break; //cvt.d.w(整数转双精度,结果在单精度分支是因为源操作数是整数)
|
case 0x21: res = float32_to_float64(wt0, &env->fp_status); break; // cvt.d.s(单精度转双精度)
|
||||||
case 0x24: res = (uint64_t)(uint32_t)float32_to_int32(wt0, &env->fp_status); break; // cvt.w.s
|
case 0x24: res = (uint64_t)(uint32_t)float32_to_int32(wt0, &env->fp_status); break; // cvt.w.s
|
||||||
case 0x25: res = (uint64_t)(uint32_t)float32_to_int32(wt0, &env->fp_status); break; // cvt.l.s(简化为32位)
|
case 0x25: res = (uint64_t)(uint32_t)float32_to_int32(wt0, &env->fp_status); break; // cvt.l.s(简化为32位)
|
||||||
case 0x0C: { // round.w.s
|
case 0x0C: { // round.w.s
|
||||||
@@ -377,6 +395,24 @@ void helper_fpu_math(CPUState *env, uint32_t insn) {
|
|||||||
case 0x05: res = fst0 & 0x7FFFFFFFFFFFFFFFULL; break; // abs.d
|
case 0x05: res = fst0 & 0x7FFFFFFFFFFFFFFFULL; break; // abs.d
|
||||||
case 0x07: res = fst0 ^ 0x8000000000000000ULL; break; // neg.d
|
case 0x07: res = fst0 ^ 0x8000000000000000ULL; break; // neg.d
|
||||||
case 0x08: res = float64_to_int64(wt0, &env->fp_status); break; // round.l.d
|
case 0x08: res = float64_to_int64(wt0, &env->fp_status); break; // round.l.d
|
||||||
|
case 0x09: { // trunc.l.d - 双精度截断为长整数
|
||||||
|
res = (uint64_t)float64_to_int64(wt0, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0A: { // ceil.l.d - 双精度向上取整为长整数
|
||||||
|
int old_mode = get_float_rounding_mode(&env->fp_status);
|
||||||
|
set_float_rounding_mode(float_round_up, &env->fp_status);
|
||||||
|
res = (uint64_t)float64_to_int64(wt0, &env->fp_status);
|
||||||
|
set_float_rounding_mode(old_mode, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x0B: { // floor.l.d - 双精度向下取整为长整数
|
||||||
|
int old_mode = get_float_rounding_mode(&env->fp_status);
|
||||||
|
set_float_rounding_mode(float_round_down, &env->fp_status);
|
||||||
|
res = (uint64_t)float64_to_int64(wt0, &env->fp_status);
|
||||||
|
set_float_rounding_mode(old_mode, &env->fp_status);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 0x10: { // movf.d - 如果FCC为假则传送
|
case 0x10: { // movf.d - 如果FCC为假则传送
|
||||||
uint32_t cc = (insn >> 18) & 0x7;
|
uint32_t cc = (insn >> 18) & 0x7;
|
||||||
int fcc = (env->fcr31 >> (23 + cc)) & 1;
|
int fcc = (env->fcr31 >> (23 + cc)) & 1;
|
||||||
|
|||||||
@@ -361,6 +361,41 @@ static void disas_cop1(DisasContext *ctx, CPUState *env, uint32_t insn) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x03: // MFHC1 - 读浮点寄存器高 32 位到主 CPU
|
||||||
|
fprintf(stderr, "[MFHC1] PC=%08x insn=%08x rs=%d rt=%d rd=%d\n", ctx->pc, insn, rs, rt, rd);
|
||||||
|
if (!is_zero_reg(rt)) {
|
||||||
|
TCGv t0 = tcg_temp_new();
|
||||||
|
TCGv_i32 t32 = tcg_temp_new_i32();
|
||||||
|
tcg_gen_extrh_i64_i32(t32, fpu_gpr[rd]); // 直接取高 32 位
|
||||||
|
tcg_gen_ext_i32_tl(t0, t32);
|
||||||
|
tcg_gen_ext32s_tl(t0, t0);
|
||||||
|
store_gpr(rt, t0);
|
||||||
|
tcg_temp_free(t0);
|
||||||
|
tcg_temp_free_i32(t32);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x07: // MTHC1 - 写主 CPU 值到浮点寄存器高 32 位
|
||||||
|
fprintf(stderr, "[MTHC1] PC=%08x insn=%08x rs=%d rt=%d rd=%d\n", ctx->pc, insn, rs, rt, rd);
|
||||||
|
{
|
||||||
|
TCGv t0 = load_gpr(rt);
|
||||||
|
TCGv_i64 t64 = tcg_temp_new_i64();
|
||||||
|
TCGv_i64 t_mask = tcg_temp_new_i64();
|
||||||
|
TCGv_i64 t_val = tcg_temp_new_i64();
|
||||||
|
|
||||||
|
tcg_gen_extu_tl_i64(t_val, t0); // 零扩展到 64 位
|
||||||
|
tcg_gen_shli_i64(t_val, t_val, 32); // 左移 32 位到高半部分
|
||||||
|
tcg_gen_movi_i64(t_mask, 0xFFFFFFFF); // 低 32 位 mask
|
||||||
|
tcg_gen_and_i64(t64, fpu_gpr[rd], t_mask); // 保留低 32 位
|
||||||
|
tcg_gen_or_i64(fpu_gpr[rd], t64, t_val); // 合并
|
||||||
|
|
||||||
|
tcg_temp_free(t0);
|
||||||
|
tcg_temp_free_i64(t64);
|
||||||
|
tcg_temp_free_i64(t_mask);
|
||||||
|
tcg_temp_free_i64(t_val);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x02: // CFC1 (读控制寄存器)
|
case 0x02: // CFC1 (读控制寄存器)
|
||||||
if (rd == 31 && !is_zero_reg(rt)) {
|
if (rd == 31 && !is_zero_reg(rt)) {
|
||||||
TCGv t0 = tcg_temp_new();
|
TCGv t0 = tcg_temp_new();
|
||||||
@@ -420,6 +455,7 @@ static void disas_cop1(DisasContext *ctx, CPUState *env, uint32_t insn) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
fprintf(stderr, "[COP1 DEFAULT] PC=%08x insn=%08x rs=%d rt=%d rd=%d\n", ctx->pc, insn, rs, rt, rd);
|
||||||
generate_exception_end(ctx, EXCP_RI);
|
generate_exception_end(ctx, EXCP_RI);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -763,7 +799,7 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x11: // COP1
|
case 0x11: // COP1
|
||||||
// 校验 CP0 Status.CU1 位 (假设你的 hflags 中 MIPS_HFLAG_FPU 代表 CU1 状态)
|
fprintf(stderr, "[COP1] PC=%08x insn=%08x rs=%d rt=%d rd=%d\n", ctx->pc, insn, rs, rt, rd);
|
||||||
if (!(ctx->hflags & MIPS_HFLAG_FPU)) {
|
if (!(ctx->hflags & MIPS_HFLAG_FPU)) {
|
||||||
// 门禁未开,操作系统拦截,触发浮点懒加载陷阱
|
// 门禁未开,操作系统拦截,触发浮点懒加载陷阱
|
||||||
generate_exception_end(ctx, EXCP_CpU);
|
generate_exception_end(ctx, EXCP_CpU);
|
||||||
@@ -795,6 +831,7 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
break;
|
break;
|
||||||
case 0x35: // LDC1 (Load Doubleword to Coprocessor 1)
|
case 0x35: // LDC1 (Load Doubleword to Coprocessor 1)
|
||||||
{
|
{
|
||||||
|
fprintf(stderr, "[LDC1] PC=%08x insn=%08x rs=%d rt=%d imm=%d\n", ctx->pc, insn, rs, rt, imm);
|
||||||
TCGv t0 = load_gpr(rs);
|
TCGv t0 = load_gpr(rs);
|
||||||
TCGv addr = tcg_temp_local_new();
|
TCGv addr = tcg_temp_local_new();
|
||||||
TCGv val_lo = tcg_temp_new();
|
TCGv val_lo = tcg_temp_new();
|
||||||
@@ -831,6 +868,7 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
|
|
||||||
case 0x3D: // SDC1 (Store Doubleword from Coprocessor 1)
|
case 0x3D: // SDC1 (Store Doubleword from Coprocessor 1)
|
||||||
{
|
{
|
||||||
|
fprintf(stderr, "[SDC1] PC=%08x insn=%08x rs=%d rt=%d imm=%d\n", ctx->pc, insn, rs, rt, imm);
|
||||||
TCGv t0 = load_gpr(rs);
|
TCGv t0 = load_gpr(rs);
|
||||||
TCGv addr = tcg_temp_local_new();
|
TCGv addr = tcg_temp_local_new();
|
||||||
TCGv val_lo = tcg_temp_new();
|
TCGv val_lo = tcg_temp_new();
|
||||||
@@ -968,7 +1006,26 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
case 0x01: // REGIMM
|
case 0x01: // REGIMM
|
||||||
{
|
{
|
||||||
TCGv t0 = load_gpr(rs);
|
TCGv t0 = load_gpr(rs);
|
||||||
if (rt == 0x00 || rt == 0x01 || rt == 0x10 || rt == 0x11) {
|
/* Branch-Likely 变体:rt=0x02(BLTZL), 0x03(BGEZL), 0x12(BLTZALL), 0x13(BGEZALL) */
|
||||||
|
if (rt == 0x02 || rt == 0x03 || rt == 0x12 || rt == 0x13) {
|
||||||
|
if (rt == 0x12 || rt == 0x13) { // Link
|
||||||
|
TCGv res = tcg_temp_new();
|
||||||
|
tcg_gen_movi_tl(res, ctx->pc + 8);
|
||||||
|
store_gpr(31, res);
|
||||||
|
tcg_temp_free(res);
|
||||||
|
}
|
||||||
|
TCGv res = tcg_temp_new();
|
||||||
|
if (rt == 0x02 || rt == 0x12) { // LT
|
||||||
|
tcg_gen_setcondi_tl(TCG_COND_LT, res, t0, 0);
|
||||||
|
} else { // GE
|
||||||
|
tcg_gen_setcondi_tl(TCG_COND_GE, res, t0, 0);
|
||||||
|
}
|
||||||
|
tcg_gen_st_tl(res, cpu_env, offsetof(CPUState, bcond));
|
||||||
|
ctx->btarget = ctx->pc + 4 + (imm << 2);
|
||||||
|
ctx->hflags |= MIPS_HFLAG_BC;
|
||||||
|
tcg_temp_free(res);
|
||||||
|
}
|
||||||
|
else if (rt == 0x00 || rt == 0x01 || rt == 0x10 || rt == 0x11) {
|
||||||
if (rt == 0x10 || rt == 0x11) {
|
if (rt == 0x10 || rt == 0x11) {
|
||||||
TCGv res = tcg_temp_new();
|
TCGv res = tcg_temp_new();
|
||||||
tcg_gen_movi_tl(res, ctx->pc + 8);
|
tcg_gen_movi_tl(res, ctx->pc + 8);
|
||||||
@@ -1031,6 +1088,29 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x14: // BEQL - Branch Equal Likely
|
||||||
|
case 0x15: // BNEL - Branch Not Equal Likely
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Branch-Likely:用 bcond/btarget 机制,和普通分支一样。
|
||||||
|
* 延迟槽正常执行,分支解析时根据 bcond 决定跳转还是 PC+8。
|
||||||
|
*/
|
||||||
|
TCGv t0 = load_gpr(rs);
|
||||||
|
TCGv t1 = load_gpr(rt);
|
||||||
|
TCGv res = tcg_temp_new();
|
||||||
|
|
||||||
|
tcg_gen_setcond_tl((op == 0x14) ? TCG_COND_EQ : TCG_COND_NE, res, t0, t1);
|
||||||
|
tcg_gen_st_tl(res, cpu_env, offsetof(CPUState, bcond));
|
||||||
|
|
||||||
|
ctx->btarget = ctx->pc + 4 + (imm << 2);
|
||||||
|
ctx->hflags |= MIPS_HFLAG_BC;
|
||||||
|
|
||||||
|
tcg_temp_free(t0);
|
||||||
|
tcg_temp_free(t1);
|
||||||
|
tcg_temp_free(res);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x06: // BLEZ
|
case 0x06: // BLEZ
|
||||||
case 0x07: // BGTZ
|
case 0x07: // BGTZ
|
||||||
{
|
{
|
||||||
@@ -1049,6 +1129,24 @@ static bool disas_insn(CPUState *env, DisasContext *ctx)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x16: // BLEZL - Branch Less Equal Zero Likely
|
||||||
|
case 0x17: // BGTZL - Branch Greater Than Zero Likely
|
||||||
|
{
|
||||||
|
TCGv t0 = load_gpr(rs);
|
||||||
|
TCGv res = tcg_temp_new();
|
||||||
|
|
||||||
|
if (op == 0x16) tcg_gen_setcondi_tl(TCG_COND_LE, res, t0, 0);
|
||||||
|
else tcg_gen_setcondi_tl(TCG_COND_GT, res, t0, 0);
|
||||||
|
|
||||||
|
tcg_gen_st_tl(res, cpu_env, offsetof(CPUState, bcond));
|
||||||
|
ctx->btarget = ctx->pc + 4 + (imm << 2);
|
||||||
|
ctx->hflags |= MIPS_HFLAG_BC;
|
||||||
|
|
||||||
|
tcg_temp_free(t0);
|
||||||
|
tcg_temp_free(res);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x02: // J
|
case 0x02: // J
|
||||||
case 0x03: // JAL
|
case 0x03: // JAL
|
||||||
// 【修复】:保留 KSEG0 等内核空间地址的符号位,防止跳入 0 地址域
|
// 【修复】:保留 KSEG0 等内核空间地址的符号位,防止跳入 0 地址域
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ void attach_free(void *free_callback)
|
|||||||
|
|
||||||
void TCG_free(void *ptr)
|
void TCG_free(void *ptr)
|
||||||
{
|
{
|
||||||
|
if(ptr == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
_TCG_free(ptr);
|
_TCG_free(ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,10 @@
|
|||||||
"System.ServiceModel.Duplex": "4.8.1",
|
"System.ServiceModel.Duplex": "4.8.1",
|
||||||
"System.ServiceModel.Federation": "4.8.1",
|
"System.ServiceModel.Federation": "4.8.1",
|
||||||
"System.ServiceModel.NetTcp": "4.8.1",
|
"System.ServiceModel.NetTcp": "4.8.1",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -1782,10 +1782,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1806,10 +1806,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2841,7 +2841,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -2856,7 +2856,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
".NETCoreApp,Version=v8.0": {
|
".NETCoreApp,Version=v8.0": {
|
||||||
"OptionsParser/1.0.0": {
|
"OptionsParser/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
"Microsoft.NET.Test.Sdk": "16.9.1",
|
"Microsoft.NET.Test.Sdk": "16.9.1",
|
||||||
"NUnit": "3.13.1",
|
"NUnit": "3.13.1",
|
||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0"
|
||||||
"OptionsParser": "1.0.0"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"OptionsParser.dll": {}
|
"OptionsParser.dll": {}
|
||||||
|
|||||||
Binary file not shown.
@@ -8,10 +8,10 @@
|
|||||||
".NETCoreApp,Version=v8.0": {
|
".NETCoreApp,Version=v8.0": {
|
||||||
"OptionsParser/1.0.0": {
|
"OptionsParser/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
"Microsoft.NET.Test.Sdk": "16.9.1",
|
"Microsoft.NET.Test.Sdk": "16.9.1",
|
||||||
"NUnit": "3.13.1",
|
"NUnit": "3.13.1",
|
||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0"
|
||||||
"OptionsParser": "1.0.0"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"OptionsParser.dll": {}
|
"OptionsParser.dll": {}
|
||||||
|
|||||||
@@ -14,10 +14,10 @@
|
|||||||
"System.ServiceModel.Duplex": "4.8.1",
|
"System.ServiceModel.Duplex": "4.8.1",
|
||||||
"System.ServiceModel.Federation": "4.8.1",
|
"System.ServiceModel.Federation": "4.8.1",
|
||||||
"System.ServiceModel.NetTcp": "4.8.1",
|
"System.ServiceModel.NetTcp": "4.8.1",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -1781,10 +1781,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1805,10 +1805,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2840,7 +2840,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -2855,7 +2855,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
Binary file not shown.
@@ -8,10 +8,10 @@
|
|||||||
".NETCoreApp,Version=v8.0": {
|
".NETCoreApp,Version=v8.0": {
|
||||||
"OptionsParser/1.0.0": {
|
"OptionsParser/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
"Microsoft.NET.Test.Sdk": "16.9.1",
|
"Microsoft.NET.Test.Sdk": "16.9.1",
|
||||||
"NUnit": "3.13.1",
|
"NUnit": "3.13.1",
|
||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0"
|
||||||
"OptionsParser": "1.0.0"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"OptionsParser.dll": {}
|
"OptionsParser.dll": {}
|
||||||
|
|||||||
@@ -11,10 +11,10 @@
|
|||||||
"AntShell": "1.0.0",
|
"AntShell": "1.0.0",
|
||||||
"Infrastructure": "1.0.0",
|
"Infrastructure": "1.0.0",
|
||||||
"StyleCop.Analyzers": "1.1.118",
|
"StyleCop.Analyzers": "1.1.118",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -1574,10 +1574,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1598,10 +1598,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2507,7 +2507,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -2522,7 +2522,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -8,10 +8,10 @@
|
|||||||
".NETCoreApp,Version=v8.0": {
|
".NETCoreApp,Version=v8.0": {
|
||||||
"OptionsParser/1.0.0": {
|
"OptionsParser/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
"Microsoft.NET.Test.Sdk": "16.9.1",
|
"Microsoft.NET.Test.Sdk": "16.9.1",
|
||||||
"NUnit": "3.13.1",
|
"NUnit": "3.13.1",
|
||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0"
|
||||||
"OptionsParser": "1.0.0"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"OptionsParser.dll": {}
|
"OptionsParser.dll": {}
|
||||||
|
|||||||
@@ -26,12 +26,12 @@
|
|||||||
"Xwt": "1.0.0",
|
"Xwt": "1.0.0",
|
||||||
"Xwt.Gtk3": "1.0.0",
|
"Xwt.Gtk3": "1.0.0",
|
||||||
"libtftp": "1.0.0",
|
"libtftp": "1.0.0",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"CookComputing.XmlRpcV2": "2.5.0.0",
|
"CookComputing.XmlRpcV2": "2.5.0.0",
|
||||||
"CoSimulationPlugin.Reference": "1.0.0.0",
|
"CoSimulationPlugin.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -1954,10 +1954,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1994,10 +1994,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3134,7 +3134,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3159,7 +3159,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
@@ -16,11 +16,11 @@
|
|||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0",
|
||||||
"Renode": "1.0.0",
|
"Renode": "1.0.0",
|
||||||
"UnitTests": "1.0.0",
|
"UnitTests": "1.0.0",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"CoSimulationPlugin.Reference": "1.0.0.0",
|
"CoSimulationPlugin.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"Migrant.Reference": "0.14.0.0",
|
"Migrant.Reference": "0.14.0.0",
|
||||||
"OptionsParser.Reference": "0.1.0.0",
|
"OptionsParser.Reference": "0.1.0.0",
|
||||||
"PacketDotNet.Reference": "0.13.0.0",
|
"PacketDotNet.Reference": "0.13.0.0",
|
||||||
"Renode.Reference": "1.16.0.26170",
|
"Renode.Reference": "1.16.0.29349",
|
||||||
"SampleCommandPlugin.Reference": "1.0.0.0",
|
"SampleCommandPlugin.Reference": "1.0.0.0",
|
||||||
"Sprache": "2.1.0.0",
|
"Sprache": "2.1.0.0",
|
||||||
"SystemCPlugin.Reference": "1.0.0.0",
|
"SystemCPlugin.Reference": "1.0.0.0",
|
||||||
@@ -2035,10 +2035,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2067,10 +2067,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2131,10 +2131,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Renode.Reference/1.16.0.26170": {
|
"Renode.Reference/1.16.0.29349": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"Renode.dll": {
|
"Renode.dll": {
|
||||||
"assemblyVersion": "1.16.0.26170",
|
"assemblyVersion": "1.16.0.29349",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3255,7 +3255,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3275,7 +3275,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3315,7 +3315,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"Renode.Reference/1.16.0.26170": {
|
"Renode.Reference/1.16.0.29349": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
@@ -18,11 +18,11 @@
|
|||||||
"NUnit3TestAdapter": "3.17.0",
|
"NUnit3TestAdapter": "3.17.0",
|
||||||
"Renode": "1.0.0",
|
"Renode": "1.0.0",
|
||||||
"StyleCop.Analyzers": "1.1.118",
|
"StyleCop.Analyzers": "1.1.118",
|
||||||
"AntShell.Reference": "1.0.9669.26120",
|
"AntShell.Reference": "1.0.9672.29300",
|
||||||
"BigGustave.Reference": "1.0.0.0",
|
"BigGustave.Reference": "1.0.0.0",
|
||||||
"CoSimulationPlugin.Reference": "1.0.0.0",
|
"CoSimulationPlugin.Reference": "1.0.0.0",
|
||||||
"crypto.Reference": "1.9.0.0",
|
"crypto.Reference": "1.9.0.0",
|
||||||
"CxxDemangler.Reference": "1.0.9669.26104",
|
"CxxDemangler.Reference": "1.0.9672.29287",
|
||||||
"ELFSharp.Reference": "0.1.1.0",
|
"ELFSharp.Reference": "0.1.1.0",
|
||||||
"FdtSharp.Reference": "0.1.0.0",
|
"FdtSharp.Reference": "0.1.0.0",
|
||||||
"Infrastructure.Reference": "1.0.0.0",
|
"Infrastructure.Reference": "1.0.0.0",
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
"Migrant.Reference": "0.14.0.0",
|
"Migrant.Reference": "0.14.0.0",
|
||||||
"OptionsParser.Reference": "0.1.0.0",
|
"OptionsParser.Reference": "0.1.0.0",
|
||||||
"PacketDotNet.Reference": "0.13.0.0",
|
"PacketDotNet.Reference": "0.13.0.0",
|
||||||
"Renode.Reference": "1.16.0.26170",
|
"Renode.Reference": "1.16.0.29349",
|
||||||
"SampleCommandPlugin.Reference": "1.0.0.0",
|
"SampleCommandPlugin.Reference": "1.0.0.0",
|
||||||
"SystemCPlugin.Reference": "1.0.0.0",
|
"SystemCPlugin.Reference": "1.0.0.0",
|
||||||
"TermSharp.Reference": "0.0.0.0",
|
"TermSharp.Reference": "0.0.0.0",
|
||||||
@@ -2018,10 +2018,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"AntShell.dll": {
|
"AntShell.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26120",
|
"assemblyVersion": "1.0.9672.29300",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2050,10 +2050,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"CxxDemangler.dll": {
|
"CxxDemangler.dll": {
|
||||||
"assemblyVersion": "1.0.9669.26104",
|
"assemblyVersion": "1.0.9672.29287",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2122,10 +2122,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Renode.Reference/1.16.0.26170": {
|
"Renode.Reference/1.16.0.29349": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"Renode.dll": {
|
"Renode.dll": {
|
||||||
"assemblyVersion": "1.16.0.26170",
|
"assemblyVersion": "1.16.0.29349",
|
||||||
"fileVersion": "0.0.0.0"
|
"fileVersion": "0.0.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3232,7 +3232,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"AntShell.Reference/1.0.9669.26120": {
|
"AntShell.Reference/1.0.9672.29300": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3252,7 +3252,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"CxxDemangler.Reference/1.0.9669.26104": {
|
"CxxDemangler.Reference/1.0.9672.29287": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
@@ -3297,7 +3297,7 @@
|
|||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
},
|
},
|
||||||
"Renode.Reference/1.16.0.26170": {
|
"Renode.Reference/1.16.0.29349": {
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"serviceable": false,
|
"serviceable": false,
|
||||||
"sha512": ""
|
"sha512": ""
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user