Statistics
| Branch: | Revision:

root / target-i386 @ b9a7b74f

Name Size
Makefile.objs 394 Bytes
TODO 1 kB
arch_dump.c 12.2 kB
arch_memory_mapping.c 8 kB
cc_helper.c 10.1 kB
cc_helper_template.h 6.6 kB
cpu-qom.h 2.9 kB
cpu.c 84.2 kB
cpu.h 38.4 kB
excp_helper.c 4.1 kB
fpu_helper.c 29.8 kB
helper.c 41 kB
helper.h 7.3 kB
hyperv.c 1.2 kB
hyperv.h 1.2 kB
int_helper.c 9.8 kB
ioport-user.c 1.6 kB
kvm-stub.c 375 Bytes
kvm.c 66.5 kB
kvm_i386.h 1.3 kB
machine.c 15.6 kB
mem_helper.c 3.6 kB
misc_helper.c 15.2 kB
ops_sse.h 73.4 kB
ops_sse_header.h 13 kB
seg_helper.c 79.3 kB
shift_helper_template.h 2.8 kB
smm_helper.c 10.1 kB
svm.h 5.7 kB
svm_helper.c 26.7 kB
topology.h 4.8 kB
translate.c 283.6 kB

Latest revisions

# Date Author Comment
a23bbfda 06/11/2013 07:03 pm Andreas Färber

cpu: Turn cpu_get_memory_mapping() into a CPUState hook

Change error reporting from return value to Error argument.

Reviewed-by: Jens Freimann <>
Reviewed-by: Luiz Capitulino <>
[AF: Fixed cpu_get_memory_mapping() documentation]...

444d5590 06/11/2013 06:50 pm Andreas Färber

cpu: Turn cpu_paging_enabled() into a CPUState hook

Relocate assignment of x86 get_arch_id to have all hooks in one place.

Reviewed-by: Jens Freimann <>
Reviewed-by: Luiz Capitulino <>
Signed-off-by: Andreas Färber <>

31ccdde2 06/11/2013 12:33 am Igor Mammedov

target-i386: cpu: Fix potential buffer overrun in get_register_name_32()

Spotted by Coverity,
x86_reg_info_32[] is CPU_NB_REGS32 elements long, so accessing
x86_reg_info_32[CPU_NB_REGS32] will be one element off array.

Signed-off-by: Igor Mammedov <>...

ffce9ebb 06/11/2013 12:33 am Eduardo Habkost

target-i386: Update model values on Conroe/Penryn/Nehalem CPU models

The CPUID model values on Conroe, Penryn, and Nehalem are too
conservative and don't reflect the values found on real Conroe, Penryn,
and Nehalem CPUs.

This causes at least one known problems: Windows XP disables sysenter...

6b11322e 06/11/2013 12:33 am Eduardo Habkost

target-i386: Set level=4 on Conroe/Penryn/Nehalem

The CPUID level value on Conroe, Penryn, and Nehalem are too low. This
causes at least one known problem: the -smp "threads" option doesn't
work as expect if level is < 4, because thread count information is...

dec3fc96 05/31/2013 08:51 pm Richard Henderson

target-i386: Fix aflag logic for CODE64 and the 0x67 prefix

The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR.
While fixing this, tidy and comment the code so that it's more obvious
what's going on in setting both aflag and dflag.

The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the...

bff63471 05/31/2013 04:02 pm Qiao Nuohan

target-i386: Fix mask of pte index in memory mapping

Function walk_pte() needs pte index to calculate virtual address.
However, pte index of PAE paging or IA-32e paging is 9 bit, so the mask
should be 0x1ff.

Signed-off-by: Qiao Nuohan <>...

fbc2ed95 05/31/2013 04:02 pm Luiz Capitulino

target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses

The code used to walk IA-32e page-tables, and possibly PAE page-tables,
uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address.

However, as we use a uint64_t to store the resulting address, that mask...

38ebb396 05/10/2013 08:59 pm Aurelien Jarno

target-i386: ROR r8/r16 imm instruction fix

Fix EFLAGS corruption by ROR r8/r16 imm instruction located at the end
of the TB, similarly to commit 089305ac for the non-immediate case.

Reported-by: Hervé Poussineau <>
Reviewed-by: Richard Henderson <>...

4458c236 05/06/2013 11:27 pm Borislav Petkov

target-i386: n270 can MOVBE

The Atom core (cpu name "n270" in QEMU speak) supports MOVBE. This is
needed when booting 3.8 and later linux kernels built with the MATOM
target because we require MOVBE in order to boot properly now.

Signed-off-by: Borislav Petkov <>...

View revisions

Also available in: Atom