[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 40/76] i386: hvf: Don't miss 16-bit displacement
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 40/76] i386: hvf: Don't miss 16-bit displacement |
Date: |
Tue, 5 Feb 2019 19:14:50 +0100 |
From: Roman Bolshakov <address@hidden>
In 16-bit addressing mode, when Mod = 0 and R/M = 6, decoded displacement
doesn't reach decode_linear_addr and gets lost. Instructions that
involve the combination of ModRM always get a pointer with zero offset
from the beginning of DS segment.
The change fixes drawing in F-BIRD from day 1 of '18 advent calendar.
Signed-off-by: Roman Bolshakov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
target/i386/hvf/x86_decode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/i386/hvf/x86_decode.c b/target/i386/hvf/x86_decode.c
index 5f513c5..9ef7d75 100644
--- a/target/i386/hvf/x86_decode.c
+++ b/target/i386/hvf/x86_decode.c
@@ -1642,7 +1642,7 @@ void calc_modrm_operand16(CPUX86State *env, struct
x86_decode *decode,
X86Seg seg = R_DS;
if (!decode->modrm.mod && 6 == decode->modrm.rm) {
- op->ptr = (uint16_t)decode->displacement;
+ ptr = decode->displacement;
goto calc_addr;
}
--
1.8.3.1
- [Qemu-devel] [PULL 44/76] qemu-options: Remove deprecated "-virtioconsole" option, (continued)
- [Qemu-devel] [PULL 44/76] qemu-options: Remove deprecated "-virtioconsole" option, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 49/76] build: actually use CONFIG_PAM, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 34/76] ui: vnc: finish removing TABs, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 25/76] target-i386: hvf: remove MPX support, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 17/76] linuxboot_dma: move common functions in a new header, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 05/76] vhost-user-test: reduce usage of global_qtest, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 18/76] optionrom: add new PVH option rom, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 11/76] elf: Add optional function ptr to load_elf() to parse ELF notes, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 39/76] docker: adjust Xen repository for CentOS 7, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 36/76] hw/core/loader.c: Read as long as possible in load_image_size(), Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 40/76] i386: hvf: Don't miss 16-bit displacement,
Paolo Bonzini <=
- [Qemu-devel] [PULL 43/76] Remove deprecated -enable-hax option, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 35/76] unify len and addr type for memory/address APIs, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 46/76] ide: split ioport registration to a separate file, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 50/76] hw/i386/Makefile.objs: Build pc_piix* and pc_q35 boards, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 48/76] hw/pci-host/Makefile.objs: make CONFIGS clear for PCI EXPRESS, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 51/76] hw/arm/Makefile.objs: CONFIG_ARM_VIRT created for virt board, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 54/76] hw/mips/Makefile.objs: Create CONFIG_* for r4k, malta, mipssim boards, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 53/76] hw/microblaze/Makefile.objs: Create configs for petalogix and xilinx boards, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 55/76] hw/ppc/Makefile.objs: Build all boards conditinally with CONFIG_*, Paolo Bonzini, 2019/02/05
- [Qemu-devel] [PULL 52/76] hw/m68k/Makefile.objs: Conditionally build boards, Paolo Bonzini, 2019/02/05