aboutsummaryrefslogtreecommitdiff
path: root/helper2-i386.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-08-20 23:02:09 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-08-20 23:02:09 +0000
commit3f3373166227b13e762e20d2fb51eadfa6a2d653 (patch)
tree61211017f0428c56b245c36b357aa0e2de4ec91e /helper2-i386.c
parentd05e66d217f8f83487c3b1d3015a67316b47645f (diff)
downloadqemu-3f3373166227b13e762e20d2fb51eadfa6a2d653.zip
qemu-3f3373166227b13e762e20d2fb51eadfa6a2d653.tar.gz
qemu-3f3373166227b13e762e20d2fb51eadfa6a2d653.tar.bz2
pop ss, mov ss, x and sti disable irqs for the next instruction - began dispatch optimization by adding new x86 cpu 'hidden' flags
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@372 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'helper2-i386.c')
-rw-r--r--helper2-i386.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/helper2-i386.c b/helper2-i386.c
index 7a6fc13..f006c72 100644
--- a/helper2-i386.c
+++ b/helper2-i386.c
@@ -52,7 +52,7 @@ CPUX86State *cpu_x86_init(void)
tlb_flush(env);
#ifdef CONFIG_SOFTMMU
- env->soft_mmu = 1;
+ env->hflags |= HF_SOFTMMU_MASK;
#endif
/* init various static tables */
if (!inited) {
@@ -228,7 +228,7 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, uint32_t addr, int is_write)
int cpl, error_code, is_dirty, is_user, prot, page_size, ret;
unsigned long pd;
- cpl = env->cpl;
+ cpl = env->hflags & HF_CPL_MASK;
is_user = (cpl == 3);
#ifdef DEBUG_MMU
@@ -325,7 +325,7 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, uint32_t addr, int is_write)
}
do_mapping:
- if (env->soft_mmu) {
+ if (env->hflags & HF_SOFTMMU_MASK) {
unsigned long paddr, vaddr, address, addend, page_offset;
int index;
@@ -359,7 +359,7 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, uint32_t addr, int is_write)
if ((pd & 0xfff) != 0) {
/* IO access: no mapping is done as it will be handled by the
soft MMU */
- if (!env->soft_mmu)
+ if (!(env->hflags & HF_SOFTMMU_MASK))
ret = 2;
} else {
void *map_addr;