aboutsummaryrefslogtreecommitdiff
path: root/hw/intc/sh_intc.c
diff options
context:
space:
mode:
authorLiran Alon <liran.alon@oracle.com>2020-03-12 18:54:18 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2020-06-10 12:09:43 -0400
commitb889212973dabee119a1ab21326a27fc51b88d6d (patch)
tree576d81bfed3d8cdc34f6319346f08822b9ef257e /hw/intc/sh_intc.c
parentc9ab24cef8ab680e3d24d7332599b2b857bd107b (diff)
downloadqemu-b889212973dabee119a1ab21326a27fc51b88d6d.zip
qemu-b889212973dabee119a1ab21326a27fc51b88d6d.tar.gz
qemu-b889212973dabee119a1ab21326a27fc51b88d6d.tar.bz2
hw/i386/vmport: Propagate IOPort read to vCPU EAX register
vmport_ioport_read() returns the value that should propagate to vCPU EAX register when guest reads VMPort IOPort (i.e. By x86 IN instruction). However, because vmport_ioport_read() calls cpu_synchronize_state(), the returned value gets overridden by the value in QEMU vCPU EAX register. i.e. cpu->env.regs[R_EAX]. To fix this issue, change vmport_ioport_read() to explicitly override cpu->env.regs[R_EAX] with the value it wish to propagate to vCPU EAX register. Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com> Signed-off-by: Liran Alon <liran.alon@oracle.com> Message-Id: <20200312165431.82118-4-liran.alon@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/intc/sh_intc.c')
0 files changed, 0 insertions, 0 deletions