aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-05-06 11:24:39 +0300
committerAvi Kivity <avi@redhat.com>2009-05-06 11:26:17 +0300
commit8f1c89f7f016e3d4d6a694978a047a06069230bb (patch)
treee7066eb1a2a40dfc1aaa9dd1ce0b6bf8893e1314 /cpu-exec.c
parentvirtio-net: Make save/load format independent of build options (diff)
parentETRAX: Simplify serport control logic. (diff)
downloadqemu-kvm-8f1c89f7f016e3d4d6a694978a047a06069230bb.tar.gz
qemu-kvm-8f1c89f7f016e3d4d6a694978a047a06069230bb.tar.bz2
qemu-kvm-8f1c89f7f016e3d4d6a694978a047a06069230bb.zip
Merge branch 'master' of git://git.sv.gnu.org/qemu
* 'master' of git://git.sv.gnu.org/qemu: (84 commits) ETRAX: Simplify serport control logic. ETRAX: Drop _t for the serial type. ETRAX: Use NULL for subwidth serport reg accesses. ETRAX: Drop the _t for the internal PIC type. ETRAX: Simplify the interrupt controller model. ETRAX: Simplify interrupt signaling. Fix compiler warnings in nwfpe code. target-mips: proper sign extension for 'SUBU rd, zero, rt' target-mips: fix comments about SUB/DSUB qemu-options.hx: fix description of cache=none suboption Suppress type mismatch warnings in VDE code. minor fix of pci_register_bus() use PCI_HEADER_TYPE. Fix typos in comments in exec.c Optimize cmp x, 0 case Reindent Handle NULL bdrv. Improve instruction name comments for easier searching Clarify: dmmuregs[1] is not a typo Optimize operations with immediate parameters ... Conflicts: Makefile.target hw/vga.c qemu-common.h vl.c (iothread merge by Marcelo) Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index f959f4edb..777fa5fef 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -54,6 +54,11 @@ int tb_invalidated_flag;
//#define DEBUG_EXEC
//#define DEBUG_SIGNAL
+int qemu_cpu_has_work(CPUState *env)
+{
+ return cpu_has_work(env);
+}
+
void cpu_loop_exit(void)
{
/* NOTE: the register at this point must be saved by hand because
@@ -1385,12 +1390,24 @@ int cpu_signal_handler(int host_signum, void *pinfo,
if ((insn >> 30) == 3) {
switch((insn >> 19) & 0x3f) {
case 0x05: // stb
+ case 0x15: // stba
case 0x06: // sth
+ case 0x16: // stha
case 0x04: // st
+ case 0x14: // sta
case 0x07: // std
+ case 0x17: // stda
+ case 0x0e: // stx
+ case 0x1e: // stxa
case 0x24: // stf
+ case 0x34: // stfa
case 0x27: // stdf
+ case 0x37: // stdfa
+ case 0x26: // stqf
+ case 0x36: // stqfa
case 0x25: // stfsr
+ case 0x3c: // casa
+ case 0x3e: // casxa
is_write = 1;
break;
}