diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-11-23 23:26:39 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-11-23 23:26:39 +0000 |
commit | 6bb705711b90a64dd1b4ff4dad41cf866e69de78 (patch) | |
tree | 23d84fc338f5f7b975b0aff69c37eb5646fc9d02 /target-i386 | |
parent | 4136f33c7e3c034b17bb0032fa5d4297ae2f317a (diff) |
a20 fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@477 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/helper2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/target-i386/helper2.c b/target-i386/helper2.c index 9abf7ffc7f..47c18fbaad 100644 --- a/target-i386/helper2.c +++ b/target-i386/helper2.c @@ -190,6 +190,10 @@ void cpu_x86_set_a20(CPUX86State *env, int a20_state) { a20_state = (a20_state != 0); if (a20_state != a20_enabled) { + /* if the cpu is currently executing code, we must unlink it and + all the potentially executing TB */ + cpu_interrupt(env, 0); + /* when a20 is changed, all the MMU mappings are invalid, so we must flush everything */ page_unmap(); |