aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-07-04 20:57:05 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-10-01 09:31:26 +0000
commitbccd9ec5f098668576342c83d90d6d6833d61d33 (patch)
treefa1cc26e01bd423b626d28c9cd9c9a6a286337dd /target-i386
parentefbf29b6816416731e5dc420901a90430b6ea92d (diff)
downloadqemu-bccd9ec5f098668576342c83d90d6d6833d61d33.zip
qemu-bccd9ec5f098668576342c83d90d6d6833d61d33.tar.gz
qemu-bccd9ec5f098668576342c83d90d6d6833d61d33.tar.bz2
softmmu_header: pass CPUState to tlb_fill
Pass CPUState pointer to tlb_fill() instead of architecture local cpu_single_env hacks. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/op_helper.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c
index 1fc248f..3bb5a91 100644
--- a/target-i386/op_helper.c
+++ b/target-i386/op_helper.c
@@ -4997,17 +4997,16 @@ void helper_boundl(target_ulong a0, int v)
NULL, it means that the function was called in C code (i.e. not
from generated code or from helper.c) */
/* XXX: fix it to restore all registers */
-void tlb_fill(target_ulong addr, int is_write, int mmu_idx, void *retaddr)
+void tlb_fill(CPUState *env1, target_ulong addr, int is_write, int mmu_idx,
+ void *retaddr)
{
TranslationBlock *tb;
int ret;
unsigned long pc;
CPUX86State *saved_env;
- /* XXX: hack to restore env in all cases, even if not called from
- generated code */
saved_env = env;
- env = cpu_single_env;
+ env = env1;
ret = cpu_x86_handle_mmu_fault(env, addr, is_write, mmu_idx);
if (ret) {