Commit 538f368612565f7c7672145c31e87f1d3d02d545
Committed by
Anthony Liguori
1 parent
ef768138
QEMU KVM: i386: Fix the cpu reset state
As per the IA32 processor manual, the accessed bit is set to 1 in the processor state after reset. qemu pc cpu_reset code was missing this accessed bit setting. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
1 changed file
with
12 additions
and
6 deletions
target-i386/helper.c
| ... | ... | @@ -496,17 +496,23 @@ void cpu_reset(CPUX86State *env) |
| 496 | 496 | env->tr.flags = DESC_P_MASK | (11 << DESC_TYPE_SHIFT); |
| 497 | 497 | |
| 498 | 498 | cpu_x86_load_seg_cache(env, R_CS, 0xf000, 0xffff0000, 0xffff, |
| 499 | - DESC_P_MASK | DESC_S_MASK | DESC_CS_MASK | DESC_R_MASK); | |
| 499 | + DESC_P_MASK | DESC_S_MASK | DESC_CS_MASK | | |
| 500 | + DESC_R_MASK | DESC_A_MASK); | |
| 500 | 501 | cpu_x86_load_seg_cache(env, R_DS, 0, 0, 0xffff, |
| 501 | - DESC_P_MASK | DESC_S_MASK | DESC_W_MASK); | |
| 502 | + DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | | |
| 503 | + DESC_A_MASK); | |
| 502 | 504 | cpu_x86_load_seg_cache(env, R_ES, 0, 0, 0xffff, |
| 503 | - DESC_P_MASK | DESC_S_MASK | DESC_W_MASK); | |
| 505 | + DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | | |
| 506 | + DESC_A_MASK); | |
| 504 | 507 | cpu_x86_load_seg_cache(env, R_SS, 0, 0, 0xffff, |
| 505 | - DESC_P_MASK | DESC_S_MASK | DESC_W_MASK); | |
| 508 | + DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | | |
| 509 | + DESC_A_MASK); | |
| 506 | 510 | cpu_x86_load_seg_cache(env, R_FS, 0, 0, 0xffff, |
| 507 | - DESC_P_MASK | DESC_S_MASK | DESC_W_MASK); | |
| 511 | + DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | | |
| 512 | + DESC_A_MASK); | |
| 508 | 513 | cpu_x86_load_seg_cache(env, R_GS, 0, 0, 0xffff, |
| 509 | - DESC_P_MASK | DESC_S_MASK | DESC_W_MASK); | |
| 514 | + DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | | |
| 515 | + DESC_A_MASK); | |
| 510 | 516 | |
| 511 | 517 | env->eip = 0xfff0; |
| 512 | 518 | env->regs[R_EDX] = env->cpuid_version; | ... | ... |