qemu/target-i386
Paolo Bonzini d3b5491897 target-i386: rework CPL checks during task switch, preparing for next patch
During task switch, all of CS.DPL, CS.RPL, SS.DPL must match (in addition
to all the other requirements) and will be the new CPL.  So far this worked
by carefully setting the CS selector and flags before doing the task
switch; but this will not work once we get the CPL from SS.DPL.

Temporarily assume that the CPL comes from CS.RPL during task switch
to a protected-mode task, until the descriptor of SS is loaded.

Tested-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-05-21 18:02:08 +02:00
..
Makefile.objs Makefile.target: CONFIG_NO_* variables removed 2013-10-16 18:21:00 +02:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01:00
arch_dump.c dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
arch_memory_mapping.c exec: Make ldq/ldub_*_phys input an AddressSpace 2014-02-11 22:57:00 +10:00
cc_helper.c target-i386: Fix CC_OP_CLR vs PF 2014-02-28 08:43:15 -08:00
cc_helper_template.h target-i386: Implement BLSR, BLSMSK, BLSI 2013-02-18 15:52:05 -08:00
cpu-qom.h target-i386: X86CPU model subclasses 2014-03-13 19:20:07 +01:00
cpu.c target-i386: preserve FPU and MSR state on INIT 2014-05-13 13:12:40 +02:00
cpu.h cpu: make CPU_INTERRUPT_RESET available on all targets 2014-05-13 13:21:51 +02:00
excp_helper.c cpu-exec: Change cpu_loop_exit() argument to CPUState 2014-03-13 19:20:47 +01:00
fpu_helper.c target-i386: Fix SSE status flag corruption 2014-02-28 08:44:01 -08:00
gdbstub.c target-i386: fix segment flags for SMM and VM86 mode 2014-05-21 18:02:08 +02:00
helper.c target-i386: preserve FPU and MSR state on INIT 2014-05-13 13:12:40 +02:00
helper.h target-i386: yield to another VCPU on PAUSE 2013-11-21 17:39:20 +01:00
int_helper.c target-i386/helper: remove EDX macro 2013-06-15 17:49:10 +00:00
ioport-user.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm-stub.c target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid() 2013-11-21 17:39:11 +01:00
kvm.c kvm: forward INIT signals coming from the chipset 2014-05-13 13:12:40 +02:00
kvm_i386.h kvm: forward INIT signals coming from the chipset 2014-05-13 13:12:40 +02:00
machine.c target-i386: reorder fields in cpu/msr_hyperv_hypercall subsection 2014-04-05 10:49:05 +01:00
mem_helper.c translate-all: Change cpu_restore_state() argument to CPUState 2014-03-13 19:20:47 +01:00
misc_helper.c cputlb: Change tlb_flush_page() argument to CPUState 2014-03-13 19:52:47 +01:00
ops_sse.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +02:00
ops_sse_header.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +02:00
seg_helper.c target-i386: rework CPL checks during task switch, preparing for next patch 2014-05-21 18:02:08 +02:00
shift_helper_template.h target-i386: compute eflags outside rcl/rcr helper 2013-02-18 15:03:56 -08:00
smm_helper.c target-i386: fix segment flags for SMM and VM86 mode 2014-05-21 18:02:08 +02:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
svm_helper.c target-i386: the x86 CPL is stored in CS.selector - auto update hflags accordingly. 2014-05-13 13:12:40 +02:00
topology.h target-i386: Inline bitops_flsl 2013-02-16 11:12:29 +00:00
translate.c target-i386: Preserve the Z bit for bt/bts/btr/btc 2014-05-12 14:20:04 -07:00