From 10c339a07d42fcccbccd3f8a5e9c94ccb51fe3e4 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Sat, 5 Dec 2009 12:44:26 +0100 Subject: Add support for S390x system emulation Let's enable the basics for system emulation so we can run virtual machines with KVM! Signed-off-by: Alexander Graf Signed-off-by: Aurelien Jarno --- target-s390x/helper.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'target-s390x/helper.c') diff --git a/target-s390x/helper.c b/target-s390x/helper.c index 4a198ae32f..4c2dc82115 100644 --- a/target-s390x/helper.c +++ b/target-s390x/helper.c @@ -27,6 +27,9 @@ #include "gdbstub.h" #include "qemu-common.h" +#include +#include "kvm.h" + CPUS390XState *cpu_s390x_init(const char *cpu_model) { CPUS390XState *env; @@ -60,3 +63,22 @@ void cpu_reset(CPUS390XState *env) /* FIXME: reset vector? */ tlb_flush(env, 1); } + +#ifndef CONFIG_USER_ONLY + +int cpu_s390x_handle_mmu_fault (CPUState *env, target_ulong address, int rw, + int mmu_idx, int is_softmmu) +{ + target_ulong phys; + int prot; + + /* XXX: implement mmu */ + + phys = address; + prot = PAGE_READ | PAGE_WRITE; + + return tlb_set_page(env, address & TARGET_PAGE_MASK, + phys & TARGET_PAGE_MASK, prot, + mmu_idx, is_softmmu); +} +#endif /* CONFIG_USER_ONLY */ -- cgit v1.2.3