Fix boot hang if console is not connected (bz #894451)

Fix segfault with zero length virtio-scsi disk (bz #847549)
This commit is contained in:
Cole Robinson 2013-02-02 15:47:37 -05:00
parent e051f2359e
commit 9290838132
367 changed files with 211 additions and 1180 deletions

View File

@ -178,6 +178,3 @@ index 6d001c2..e745bef 100644
break; break;
} }
} }
--
1.8.0.2

View File

@ -30,6 +30,3 @@ index 1ad9ec7..ad31877 100644
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
cpu_fprintf(f, "s%2.2d=%8.8x ", cpu_fprintf(f, "s%2.2d=%8.8x ",
i, env->sregs[srs][i]); i, env->sregs[srs][i]);
--
1.8.0.2

View File

@ -59,6 +59,3 @@ index e745bef..52be07a 100644
}; };
if (host_errno == 0) { if (host_errno == 0) {
--
1.8.0.2

View File

@ -128,6 +128,3 @@ index 9c64ef8..f4b62a5 100644
env->fsr |= FSR_FCC1 << FS; \ env->fsr |= FSR_FCC1 << FS; \
break; \ break; \
default: \ default: \
--
1.8.0.2

View File

@ -1598,6 +1598,3 @@ index abc35dd..195e93e 100644
} else { } else {
env->regs[r1] = ret; env->regs[r1] = ret;
} }
--
1.8.0.2

View File

@ -1751,6 +1751,3 @@ index 1c1baf5..c370df3 100644
tcg_temp_free_i32(tmp32); tcg_temp_free_i32(tmp32);
break; break;
case 0xd: /* DEB R1,D2(X2,B2) [RXE] */ case 0xd: /* DEB R1,D2(X2,B2) [RXE] */
--
1.8.0.2

View File

@ -1153,6 +1153,3 @@ index 270bf14..eced890 100644
/* invalidate pte */ /* invalidate pte */
void HELPER(ipte)(uint64_t pte_addr, uint64_t vaddr) void HELPER(ipte)(uint64_t pte_addr, uint64_t vaddr)
{ {
--
1.8.0.2

View File

@ -439,6 +439,3 @@ index eced890..3b8b997 100644
void HELPER(unpk)(uint32_t len, uint64_t dest, uint64_t src) void HELPER(unpk)(uint32_t len, uint64_t dest, uint64_t src)
{ {
int len_dest = len >> 4; int len_dest = len >> 4;
--
1.8.0.2

View File

@ -2419,6 +2419,3 @@ index 3b8b997..bb8dbf5 100644
-} -}
- -
#endif #endif
--
1.8.0.2

View File

@ -919,6 +919,3 @@ index bb8dbf5..0000000
- return cc; - return cc;
-} -}
-#endif -#endif
--
1.8.0.2

View File

@ -1213,6 +1213,3 @@ index c370df3..b1f2071 100644
set_cc_static(s); set_cc_static(s);
tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_1);
tcg_temp_free_i32(tmp32_2); tcg_temp_free_i32(tmp32_2);
--
1.8.0.2

View File

@ -197,6 +197,3 @@ index b1f2071..2a61e92 100644
set_cc_static(s); set_cc_static(s);
tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_1);
tcg_temp_free_i32(tmp32_2); tcg_temp_free_i32(tmp32_2);
--
1.8.0.2

View File

@ -185,6 +185,3 @@ index 2a61e92..1d87272 100644
tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp);
tcg_temp_free_i64(tmp2); tcg_temp_free_i64(tmp2);
tcg_temp_free_i64(tmp3); tcg_temp_free_i64(tmp3);
--
1.8.0.2

View File

@ -406,6 +406,3 @@ index 1d87272..0c61e63 100644
set_cc_static(s); set_cc_static(s);
tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp);
tcg_temp_free_i64(tmp2); tcg_temp_free_i64(tmp2);
--
1.8.0.2

View File

@ -1579,6 +1579,3 @@ index 0c61e63..66119cd 100644
} }
set_cc_static(s); set_cc_static(s);
tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp);
--
1.8.0.2

View File

@ -59,6 +59,3 @@ index 04662c1..99b5339 100644
TCG_AREG0); TCG_AREG0);
#endif #endif
tgen_calli(s, (tcg_target_ulong)qemu_ld_helpers[s_bits]); tgen_calli(s, (tcg_target_ulong)qemu_ld_helpers[s_bits]);
--
1.8.0.2

View File

@ -42,6 +42,3 @@ index dceaa95..e27df96 100644
return EXCP_UDEF; return EXCP_UDEF;
} }
env->cp15.c6_region[ri->crm] = value; env->cp15.c6_region[ri->crm] = value;
--
1.8.0.2

View File

@ -52,6 +52,3 @@ index 9c65474..63f970d 100644
CASE_OP_32_64(or): CASE_OP_32_64(or):
CASE_OP_32_64(and): CASE_OP_32_64(and):
if (args[1] == args[2]) { if (args[1] == args[2]) {
--
1.8.0.2

View File

@ -25,6 +25,3 @@ index 63f970d..0db849e 100644
if (temps[args[1]].state == TCG_TEMP_CONST) { if (temps[args[1]].state == TCG_TEMP_CONST) {
/* Proceed with possible constant folding. */ /* Proceed with possible constant folding. */
break; break;
--
1.8.0.2

View File

@ -24,6 +24,3 @@ index 0db849e..c12cb2b 100644
CASE_OP_32_64(mul): CASE_OP_32_64(mul):
if ((temps[args[2]].state == TCG_TEMP_CONST if ((temps[args[2]].state == TCG_TEMP_CONST
&& temps[args[2]].val == 0)) { && temps[args[2]].val == 0)) {
--
1.8.0.2

View File

@ -43,6 +43,3 @@ index c12cb2b..1698ba3 100644
/* Simplify expression for "op r, a, 0 => mov r, a" cases */ /* Simplify expression for "op r, a, 0 => mov r, a" cases */
switch (op) { switch (op) {
CASE_OP_32_64(add): CASE_OP_32_64(add):
--
1.8.0.2

View File

@ -44,6 +44,3 @@ index 1698ba3..7debc8a 100644
default: default:
break; break;
} }
--
1.8.0.2

View File

@ -109,6 +109,3 @@ index 7debc8a..1cb1f36 100644
case INDEX_op_call: case INDEX_op_call:
nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); nb_call_args = (args[0] >> 16) + (args[0] & 0xffff);
if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) {
--
1.8.0.2

View File

@ -55,6 +55,3 @@ index 1cb1f36..156e8d9 100644
memset(temps, 0, nb_temps * sizeof(struct tcg_temp_info)); memset(temps, 0, nb_temps * sizeof(struct tcg_temp_info));
for (i = 0; i < def->nb_args; i++) { for (i = 0; i < def->nb_args; i++) {
*gen_args = *args; *gen_args = *args;
--
1.8.0.2

View File

@ -139,6 +139,3 @@ index 156e8d9..fba0ed9 100644
case INDEX_op_call: case INDEX_op_call:
nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); nb_call_args = (args[0] >> 16) + (args[0] & 0xffff);
if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) {
--
1.8.0.2

View File

@ -1332,6 +1332,3 @@ index 66119cd..3214783 100644
num_insns++; num_insns++;
if (env->singlestep_enabled) { if (env->singlestep_enabled) {
--
1.8.0.2

View File

@ -277,6 +277,3 @@ index 872a2ba..5f6dcba 100644
dc->pc += 4; dc->pc += 4;
num_insns++; num_insns++;
--
1.8.0.2

View File

@ -497,6 +497,3 @@ index 9fc1e31..10bb303 100644
} else { } else {
switch(dc->is_jmp) { switch(dc->is_jmp) {
case DISAS_NEXT: case DISAS_NEXT:
--
1.8.0.2

View File

@ -896,6 +896,3 @@ index 10bb303..fb707f2 100644
} }
/* generate intermediate code for basic block 'tb'. */ /* generate intermediate code for basic block 'tb'. */
--
1.8.0.2

View File

@ -432,6 +432,3 @@ index 188bf8c..b786a6b 100644
s->pc += 4; s->pc += 4;
/* UniCore instructions class: /* UniCore instructions class:
--
1.8.0.2

View File

@ -176,6 +176,3 @@ index edef79a..6f651d9 100644
break; break;
case DISAS_SWI: case DISAS_SWI:
gen_exception(EXCP_SWI); gen_exception(EXCP_SWI);
--
1.8.0.2

View File

@ -816,6 +816,3 @@ index 6f651d9..9ae3b26 100644
rd = 16; rd = 16;
break; break;
case 0xc: /* orr */ case 0xc: /* orr */
--
1.8.0.2

View File

@ -174,6 +174,3 @@ index 9ae3b26..f4b447a 100644
s->pc += 2; s->pc += 2;
switch (insn >> 12) { switch (insn >> 12) {
--
1.8.0.2

View File

@ -710,6 +710,3 @@ index 7470149..9c7d77f 100644
tcg_temp_free_i32(tmp); tcg_temp_free_i32(tmp);
} else { } else {
switch(dc->is_jmp) { switch(dc->is_jmp) {
--
1.8.0.2

View File

@ -518,6 +518,3 @@ index 3629629..9a39c6a 100644
cpu_R[dc->src], cpu_PR[PR_CCS]); cpu_R[dc->src], cpu_PR[PR_CCS]);
break; break;
case CRISV10_REG_DSTEP: case CRISV10_REG_DSTEP:
--
1.8.0.2

View File

@ -1533,6 +1533,3 @@ index 9a39c6a..d2cca89 100644
break; break;
} }
--
1.8.0.2

View File

@ -1055,6 +1055,3 @@ index 6532ad2..d05c74c 100644
} else { } else {
switch (ctx.bstate) { switch (ctx.bstate) {
case BS_STOP: case BS_STOP:
--
1.8.0.2

View File

@ -6331,6 +6331,3 @@ index b293419..7ab769f 100644
} else { } else {
switch (ctx.bstate) { switch (ctx.bstate) {
case BS_STOP: case BS_STOP:
--
1.8.0.2

View File

@ -1678,6 +1678,3 @@ index b9ea9dd..ef9b172 100644
#if defined(DEBUG_SIGNAL) #if defined(DEBUG_SIGNAL)
qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
pc, address, is_write, *(unsigned long *)old_set); pc, address, is_write, *(unsigned long *)old_set);
--
1.8.0.2

View File

@ -109,6 +109,3 @@ index 34c2df8..3017858 100644
{ INDEX_op_add_i64, { "r", "0", "re" } }, { INDEX_op_add_i64, { "r", "0", "re" } },
{ INDEX_op_mul_i64, { "r", "0", "re" } }, { INDEX_op_mul_i64, { "r", "0", "re" } },
--
1.8.0.2

View File

@ -48,6 +48,3 @@ index 8386b70..c002a88 100644
case INDEX_op_debug_insn_start: case INDEX_op_debug_insn_start:
args -= def->nb_args; args -= def->nb_args;
break; break;
--
1.8.0.2

View File

@ -80,6 +80,3 @@ index d710694..8fbbc81 100644
#if defined(CONFIG_DEBUG_TCG) #if defined(CONFIG_DEBUG_TCG)
/* If you call tcg_clear_temp_count() at the start of a section of /* If you call tcg_clear_temp_count() at the start of a section of
* code which is not supposed to leak any TCG temporaries, then * code which is not supposed to leak any TCG temporaries, then
--
1.8.0.2

View File

@ -50,6 +50,3 @@ index 7ab769f..c31f91c 100644
MIPS_DEBUG("%s, %x, %d(%s)", opn, reglist, offset, regnames[base]); MIPS_DEBUG("%s, %x, %d(%s)", opn, reglist, offset, regnames[base]);
tcg_temp_free(t0); tcg_temp_free(t0);
tcg_temp_free(t1); tcg_temp_free(t1);
--
1.8.0.2

View File

@ -283,6 +283,3 @@ index c31f91c..4937f6b 100644
break; break;
case OPC_J ... OPC_JAL: /* Jump */ case OPC_J ... OPC_JAL: /* Jump */
offset = (int32_t)(ctx->opcode & 0x3FFFFFF) << 2; offset = (int32_t)(ctx->opcode & 0x3FFFFFF) << 2;
--
1.8.0.2

View File

@ -65,6 +65,3 @@ index 4937f6b..aba7935 100644
/* General purpose registers moves. */ /* General purpose registers moves. */
static inline void gen_load_gpr (TCGv t, int reg) static inline void gen_load_gpr (TCGv t, int reg)
--
1.8.0.2

View File

@ -57,6 +57,3 @@ index 10d9773..9da333c 100644
} }
for (i = 0; i < def->nb_args; i++) { for (i = 0; i < def->nb_args; i++) {
gen_args[i] = args[i]; gen_args[i] = args[i];
--
1.8.0.2

View File

@ -52,6 +52,3 @@ index 1900bd5..7a1c528 100644
tcg_temp_free(tmp); tcg_temp_free(tmp);
} }
break; break;
--
1.8.0.2

View File

@ -30,6 +30,3 @@ index 7a1c528..b6643eb 100644
dc->pc = dc->next_pc; dc->pc = dc->next_pc;
return; return;
--
1.8.0.2

View File

@ -328,6 +328,3 @@ index 30a0f21..6d89495 100644
#endif /* TCG_TARGET_REG_BITS == 64 */ #endif /* TCG_TARGET_REG_BITS == 64 */
/* Offset to user memory in user mode. */ /* Offset to user memory in user mode. */
--
1.8.0.2

View File

@ -155,6 +155,3 @@ index 12de6a3..4a9011a 100644
} }
#define QUAL_RM_N 0x080 /* Round mode nearest even */ #define QUAL_RM_N 0x080 /* Round mode nearest even */
--
1.8.0.2

View File

@ -113,6 +113,3 @@ index 504f953..b356d76 100644
#endif #endif
#define TCG_TARGET_deposit_i32_valid(ofs, len) \ #define TCG_TARGET_deposit_i32_valid(ofs, len) \
--
1.8.0.2

View File

@ -68,6 +68,3 @@ index 9da333c..26038a6 100644
case INDEX_op_call: case INDEX_op_call:
nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); nb_call_args = (args[0] >> 16) + (args[0] & 0xffff);
if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) {
--
1.8.0.2

View File

@ -52,6 +52,3 @@ index 26038a6..1be7631 100644
default: default:
break; break;
} }
--
1.8.0.2

View File

@ -187,6 +187,3 @@ index 5d37dd9..a91709f 100644
default: return 0; default: return 0;
} }
--
1.8.0.2

View File

@ -30,6 +30,3 @@ index f454107..609ed86 100644
uint16_t *tb_next_offset; uint16_t *tb_next_offset;
uint16_t *tb_jmp_offset; /* != NULL if USE_DIRECT_JUMP */ uint16_t *tb_jmp_offset; /* != NULL if USE_DIRECT_JUMP */
--
1.8.0.2

View File

@ -103,6 +103,3 @@ index 8b81b70..a76569d 100644
} }
tcg_out_mov(s, TCG_TYPE_I32, ret, scratch); tcg_out_mov(s, TCG_TYPE_I32, ret, scratch);
--
1.8.0.2

View File

@ -244,6 +244,3 @@ index a76569d..5385d45 100644
addrlo_reg = TCG_REG_R31; addrlo_reg = TCG_REG_R31;
} }
tcg_out_qemu_st_direct(s, datalo_reg, datahi_reg, addrlo_reg, opc); tcg_out_qemu_st_direct(s, datalo_reg, datahi_reg, addrlo_reg, opc);
--
1.8.0.2

View File

@ -60,6 +60,3 @@ index 74db83d..9293745 100644
{ INDEX_op_brcond2_i32, { "rZ", "rZ", "rZ", "rZ" } }, { INDEX_op_brcond2_i32, { "rZ", "rZ", "rZ", "rZ" } },
#if TARGET_LONG_BITS == 32 #if TARGET_LONG_BITS == 32
--
1.8.0.2

View File

@ -161,6 +161,3 @@ index 9293745..a09c0d6 100644
#if defined(CONFIG_SOFTMMU) #if defined(CONFIG_SOFTMMU)
tcg_out_opc_sa(s, OPC_SRL, TCG_REG_A0, addr_regl, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out_opc_sa(s, OPC_SRL, TCG_REG_A0, addr_regl, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS);
--
1.8.0.2

View File

@ -241,6 +241,3 @@ index a09c0d6..8b38f98 100644
# endif # endif
#endif #endif
data_regl = *args++; data_regl = *args++;
--
1.8.0.2

View File

@ -32,6 +32,3 @@ index 8b38f98..0ea6a76 100644
tcg_add_target_add_op_defs(mips_op_defs); tcg_add_target_add_op_defs(mips_op_defs);
tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf), tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf),
--
1.8.0.2

View File

@ -42,6 +42,3 @@ index 0ea6a76..c05169f 100644
- tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf), - tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf),
- CPU_TEMP_BUF_NLONGS * sizeof(long)); - CPU_TEMP_BUF_NLONGS * sizeof(long));
} }
--
1.8.0.2

View File

@ -94,6 +94,3 @@ index c05169f..6aa4527 100644
break; break;
case TCG_COND_GTU: case TCG_COND_GTU:
tcg_out_opc_reg(s, OPC_SLTU, TCG_REG_AT, arg2, arg1); tcg_out_opc_reg(s, OPC_SLTU, TCG_REG_AT, arg2, arg1);
--
1.8.0.2

View File

@ -156,6 +156,3 @@ index 9c68a32..c5c13f7 100644
/* optional instructions automatically implemented */ /* optional instructions automatically implemented */
#define TCG_TARGET_HAS_neg_i32 0 /* sub rd, zero, rt */ #define TCG_TARGET_HAS_neg_i32 0 /* sub rd, zero, rt */
#define TCG_TARGET_HAS_ext8u_i32 0 /* andi rt, rs, 0xff */ #define TCG_TARGET_HAS_ext8u_i32 0 /* andi rt, rs, 0xff */
--
1.8.0.2

View File

@ -87,6 +87,3 @@ index c5c13f7..470314c 100644
#endif #endif
/* optional instructions automatically implemented */ /* optional instructions automatically implemented */
--
1.8.0.2

View File

@ -72,6 +72,3 @@ index 470314c..897a737 100644
#endif #endif
/* optional instructions automatically implemented */ /* optional instructions automatically implemented */
--
1.8.0.2

View File

@ -135,6 +135,3 @@ index 897a737..d147e70 100644
/* optional instructions only implemented on MIPS32R2 */ /* optional instructions only implemented on MIPS32R2 */
#ifdef _MIPS_ARCH_MIPS32R2 #ifdef _MIPS_ARCH_MIPS32R2
--
1.8.0.2

View File

@ -57,6 +57,3 @@ index 1be7631..308b7f9 100644
} }
} }
--
1.8.0.2

View File

@ -73,6 +73,3 @@ index 308b7f9..da8dffe 100644
gen_args += 2; gen_args += 2;
args += 2; args += 2;
break; break;
--
1.8.0.2

View File

@ -372,6 +372,3 @@ index da8dffe..1904b39 100644
} }
} }
for (i = 0; i < def->nb_args; i++) { for (i = 0; i < def->nb_args; i++) {
--
1.8.0.2

View File

@ -37,6 +37,3 @@ index 1904b39..aeb2225 100644
for (i = def->nb_oargs; i < def->nb_oargs + def->nb_iargs; i++) { for (i = def->nb_oargs; i < def->nb_oargs + def->nb_iargs; i++) {
if (temps[args[i]].state == TCG_TEMP_COPY) { if (temps[args[i]].state == TCG_TEMP_COPY) {
args[i] = find_better_copy(s, args[i]); args[i] = find_better_copy(s, args[i]);
--
1.8.0.2

View File

@ -26,6 +26,3 @@ index aeb2225..b9a7da9 100644
if (temps_are_copies(args[0], args[1])) { if (temps_are_copies(args[0], args[1])) {
gen_opc_buf[op_index] = INDEX_op_nop; gen_opc_buf[op_index] = INDEX_op_nop;
} else { } else {
--
1.8.0.2

View File

@ -41,6 +41,3 @@ index b9a7da9..ceea644 100644
/* Propagate constants through copy operations and do constant /* Propagate constants through copy operations and do constant
folding. Constants will be substituted to arguments by register folding. Constants will be substituted to arguments by register
allocator where needed and possible. Also detect copies. */ allocator where needed and possible. Also detect copies. */
--
1.8.0.2

View File

@ -187,6 +187,3 @@ index ceea644..abe016a 100644
if (temps_are_copies(args[0], args[4-tmp])) { if (temps_are_copies(args[0], args[4-tmp])) {
gen_opc_buf[op_index] = INDEX_op_nop; gen_opc_buf[op_index] = INDEX_op_nop;
} else if (temps[args[4-tmp]].state == TCG_TEMP_CONST) { } else if (temps[args[4-tmp]].state == TCG_TEMP_CONST) {
--
1.8.0.2

View File

@ -33,6 +33,3 @@ index abe016a..c8ae50b 100644
tmp = args[1]; tmp = args[1];
args[1] = args[2]; args[1] = args[2];
args[2] = tmp; args[2] = tmp;
--
1.8.0.2

View File

@ -63,6 +63,3 @@ index 24ce830..93421cd 100644
tcg_reg_alloc_movi(s, args); tcg_reg_alloc_movi(s, args);
break; break;
case INDEX_op_debug_insn_start: case INDEX_op_debug_insn_start:
--
1.8.0.2

View File

@ -41,6 +41,3 @@ index c8ae50b..35532a1 100644
CASE_OP_32_64(setcond): CASE_OP_32_64(setcond):
tmp = do_constant_folding_cond(op, args[1], args[2], args[3]); tmp = do_constant_folding_cond(op, args[1], args[2], args[3]);
if (tmp != 2) { if (tmp != 2) {
--
1.8.0.2

View File

@ -28,6 +28,3 @@ index d03ae05..33783ee 100644
* qemu_ld8u t0, t1, flags * qemu_ld8u t0, t1, flags
qemu_ld8s t0, t1, flags qemu_ld8s t0, t1, flags
--
1.8.0.2

View File

@ -52,6 +52,3 @@ index b356d76..ace63ba 100644
/* optional instructions */ /* optional instructions */
#define TCG_TARGET_HAS_div2_i32 1 #define TCG_TARGET_HAS_div2_i32 1
--
1.8.0.2

View File

@ -132,6 +132,3 @@ index 177eea1..3259d89 100644
#define TCG_AREG0 TCG_REG_R27 #define TCG_AREG0 TCG_REG_R27
--
1.8.0.2

View File

@ -25,6 +25,3 @@ index baed3b4..608fc46 100644
#endif #endif
{ -1 }, { -1 },
}; };
--
1.8.0.2

View File

@ -22,6 +22,3 @@ index 608fc46..0a19313 100644
#define ARITH_SUBX (INSN_OP(2) | INSN_OP3(0x0c)) #define ARITH_SUBX (INSN_OP(2) | INSN_OP3(0x0c))
#define ARITH_UMUL (INSN_OP(2) | INSN_OP3(0x0a)) #define ARITH_UMUL (INSN_OP(2) | INSN_OP3(0x0a))
#define ARITH_UDIV (INSN_OP(2) | INSN_OP3(0x0e)) #define ARITH_UDIV (INSN_OP(2) | INSN_OP3(0x0e))
--
1.8.0.2

View File

@ -40,6 +40,3 @@ index 5834766..871a68a 100644
if (code_gen_buffer_size > (512 * 1024 * 1024)) { if (code_gen_buffer_size > (512 * 1024 * 1024)) {
code_gen_buffer_size = (512 * 1024 * 1024); code_gen_buffer_size = (512 * 1024 * 1024);
} }
--
1.8.0.2

View File

@ -281,6 +281,3 @@ index 93421cd..16c4e1d 100644
s->current_frame_offset = (s->current_frame_offset + s->current_frame_offset = (s->current_frame_offset +
(tcg_target_long)sizeof(tcg_target_long) - 1) & (tcg_target_long)sizeof(tcg_target_long) - 1) &
~(sizeof(tcg_target_long) - 1); ~(sizeof(tcg_target_long) - 1);
--
1.8.0.2

View File

@ -962,6 +962,3 @@ index 23c2fda..d89c19b 100644
{ -1 }, { -1 },
}; };
--
1.8.0.2

View File

@ -108,6 +108,3 @@ index adca1d2..99e9f57 100644
#ifdef CONFIG_SOLARIS #ifdef CONFIG_SOLARIS
#define TCG_AREG0 TCG_REG_G2 #define TCG_AREG0 TCG_REG_G2
#elif HOST_LONG_BITS == 64 #elif HOST_LONG_BITS == 64
--
1.8.0.2

View File

@ -46,6 +46,3 @@ index 99e9f57..ee154d0 100644
static inline void flush_icache_range(tcg_target_ulong start, static inline void flush_icache_range(tcg_target_ulong start,
tcg_target_ulong stop) tcg_target_ulong stop)
--
1.8.0.2

View File

@ -198,6 +198,3 @@ index ee154d0..6314ffb 100644
#endif #endif
#if TCG_TARGET_REG_BITS == 64 #if TCG_TARGET_REG_BITS == 64
--
1.8.0.2

View File

@ -57,6 +57,3 @@ index e625aa3..be5c170 100644
case INDEX_op_mul_i64: case INDEX_op_mul_i64:
c = ARITH_MULX; c = ARITH_MULX;
goto gen_arith; goto gen_arith;
--
1.8.0.2

View File

@ -270,6 +270,3 @@ index be5c170..d401f8e 100644
tcg_add_target_add_op_defs(sparc_op_defs); tcg_add_target_add_op_defs(sparc_op_defs);
} }
--
1.8.0.2

View File

@ -39,6 +39,3 @@ index d401f8e..03c385a 100644
}; };
static const int tcg_target_call_iarg_regs[6] = { static const int tcg_target_call_iarg_regs[6] = {
--
1.8.0.2

View File

@ -74,6 +74,3 @@ index 03c385a..1db0c9d 100644
+ *ptr = CALL | (disp & 0x3fffffff); + *ptr = CALL | (disp & 0x3fffffff);
+ flush_icache_range(jmp_addr, jmp_addr + 4); + flush_icache_range(jmp_addr, jmp_addr + 4);
+} +}
--
1.8.0.2

View File

@ -55,6 +55,3 @@ index 1db0c9d..876da4f 100644
} }
#endif #endif
--
1.8.0.2

View File

@ -28,6 +28,3 @@ index 4a9011a..3f9aee1 100644
qemu_init_vcpu(env); qemu_init_vcpu(env);
return env; return env;
--
1.8.0.2

View File

@ -88,6 +88,3 @@ index d147e70..7020d65 100644
#define TCG_TARGET_HAS_bswap16_i32 1 #define TCG_TARGET_HAS_bswap16_i32 1
#define TCG_TARGET_HAS_bswap32_i32 1 #define TCG_TARGET_HAS_bswap32_i32 1
#define TCG_TARGET_HAS_rot_i32 1 #define TCG_TARGET_HAS_rot_i32 1
--
1.8.0.2

View File

@ -62,6 +62,3 @@ index 33783ee..27846f1 100644
Similar to setcond, except that the 64-bit values T1 and T2 are Similar to setcond, except that the 64-bit values T1 and T2 are
formed from two 32-bit arguments. The result is a 32-bit value. formed from two 32-bit arguments. The result is a 32-bit value.
--
1.8.0.2

View File

@ -29,6 +29,3 @@ index 85c6b81..616ef23 100644
#if TCG_TARGET_REG_BITS == 32 #if TCG_TARGET_REG_BITS == 32
{ INDEX_op_mulu2_i32, { "a", "d", "a", "r" } }, { INDEX_op_mulu2_i32, { "a", "d", "a", "r" } },
--
1.8.0.2

View File

@ -47,6 +47,3 @@ index 1f81da7..6516da0 100644
#define MAX_OPC_PARAM_OARGS 1 #define MAX_OPC_PARAM_OARGS 1
#define MAX_OPC_PARAM_ARGS (MAX_OPC_PARAM_IARGS + MAX_OPC_PARAM_OARGS) #define MAX_OPC_PARAM_ARGS (MAX_OPC_PARAM_IARGS + MAX_OPC_PARAM_OARGS)
--
1.8.0.2

View File

@ -114,6 +114,3 @@ index ce8a988..a4f7b78 100644
tci_write_reg(TCG_REG_R0, tmp64); tci_write_reg(TCG_REG_R0, tmp64);
#endif #endif
break; break;
--
1.8.0.2

View File

@ -36,6 +36,3 @@ index 4fc48f8..bb4f585 100644
static const char *compression_names[] = { static const char *compression_names[] = {
[ SPICE_IMAGE_COMPRESS_OFF ] = "off", [ SPICE_IMAGE_COMPRESS_OFF ] = "off",
--
1.8.0.2

Some files were not shown because too many files have changed in this diff Show More