Statistics
| Branch: | Revision:

root / target-i386 @ 58cd9864

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.7 kB
cpu.c 84 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
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 <>...

0668af54 05/06/2013 11:14 pm Eduardo Habkost

target-i386: Introduce generic CPUID feature compat function

Introduce x86_cpu_compat_set_features(), that can be used to set/unset
feature bits on specific CPU models for machine-type compatibility.

Signed-off-by: Eduardo Habkost <>
Signed-off-by: Andreas Färber <>

b2a856d9 05/06/2013 08:55 pm Andreas Färber

target-i386: Change CPUID model of 486 to 8

This changes the model number of 486 to 8 (DX4) which matches the
feature set presented, and actually has the CPUID instruction.

This adds a compatibility property, to keep model=0 on pc-*-1.4 and older.

Signed-off-by: H. Peter Anvin <>...

ba2bc7a4 05/06/2013 08:55 pm Andreas Färber

target-i386: Emulate X86CPU subclasses for global properties

After initializing the object from its x86_def_t and before setting any
additional cpu arguments, set any global properties for the designated
subclass <name>
{i386,x86_64}-cpu.

Reviewed-by: Eduardo Habkost <>...

034acf4a 05/06/2013 08:16 pm Eduardo Habkost

target-i386: Introduce X86CPU::filtered_features field

This field will contain the feature bits that were filtered out because
of missing host support.

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Eric Blake <>
Signed-off-by: Andreas Färber <>

7e5292b5 05/06/2013 08:16 pm Eduardo Habkost

target-i386: Add "filtered-features" property to X86CPU

This property will contain all the features that were removed from the
CPU because they are not supported by the host.

This way, libvirt or other management tools can emulate the
check/enforce behavior by checking if filtered-properties is all zeroes,...

View revisions

Also available in: Atom