diff options
author | Juan Quintela <quintela@redhat.com> | 2009-09-29 22:48:49 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-10-05 09:32:39 -0500 |
commit | 5ee0ffaa42b02e04d8047c7fc32687b348719294 (patch) | |
tree | cfe863b16d67c383de96ef2dd237444fe6b7fc74 /target-i386/helper.c | |
parent | 1f76b9b9b3b78fb51c917d3f3efa6fff1e57a734 (diff) |
x86: make a20_mask int32_t
This makes the savevm code correct, and sign extensins gives us exactly
what we need (namely, sign extend to 64 bits when used with 64bit addresess.
Once there, change 0x100000 for 1 << 20, that maks all a20 use the same syntax.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'target-i386/helper.c')
-rw-r--r-- | target-i386/helper.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/target-i386/helper.c b/target-i386/helper.c index 8111f25662..999c1bfb14 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -780,7 +780,7 @@ void cpu_dump_state(CPUState *env, FILE *f, eflags & CC_C ? 'C' : '-', env->hflags & HF_CPL_MASK, (env->hflags >> HF_INHIBIT_IRQ_SHIFT) & 1, - (int)(env->a20_mask >> 20) & 1, + (env->a20_mask >> 20) & 1, (env->hflags >> HF_SMM_SHIFT) & 1, env->halted); } else @@ -807,7 +807,7 @@ void cpu_dump_state(CPUState *env, FILE *f, eflags & CC_C ? 'C' : '-', env->hflags & HF_CPL_MASK, (env->hflags >> HF_INHIBIT_IRQ_SHIFT) & 1, - (int)(env->a20_mask >> 20) & 1, + (env->a20_mask >> 20) & 1, (env->hflags >> HF_SMM_SHIFT) & 1, env->halted); } @@ -938,7 +938,7 @@ void cpu_x86_set_a20(CPUX86State *env, int a20_state) /* when a20 is changed, all the MMU mappings are invalid, so we must flush everything */ tlb_flush(env, 1); - env->a20_mask = (~0x100000) | (a20_state << 20); + env->a20_mask = ~(1 << 20) | (a20_state << 20); } } |