mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
target/s390x: Move exception-related functions to a new excp_helper.c file
These functions can not be compiled with --disable-tcg. But since we need the other functions from helper.c in the non-tcg build, we can also not simply remove helper.c from the non-tcg builds. Thus the problematic functions have to be moved into a separate new file instead that we can later omit in the non-tcg builds. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1500886370-14572-5-git-send-email-thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
committed by
Cornelia Huck
parent
e3cfd926f7
commit
cded4014ae
@@ -1,6 +1,6 @@
|
||||
obj-y += translate.o helper.o cpu.o interrupt.o
|
||||
obj-y += int_helper.o fpu_helper.o cc_helper.o mem_helper.o misc_helper.o
|
||||
obj-y += gdbstub.o cpu_models.o cpu_features.o
|
||||
obj-y += gdbstub.o cpu_models.o cpu_features.o excp_helper.o
|
||||
obj-$(CONFIG_SOFTMMU) += machine.o ioinst.o arch_dump.o mmu_helper.o diag.o
|
||||
obj-$(CONFIG_KVM) += kvm.o
|
||||
|
||||
|
||||
@@ -801,6 +801,8 @@ static inline void setcc(S390CPU *cpu, uint64_t cc)
|
||||
env->cc_op = cc;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
|
||||
typedef struct LowCore
|
||||
{
|
||||
/* prefix area: defined by architecture */
|
||||
@@ -918,6 +920,11 @@ typedef struct LowCore
|
||||
uint8_t pad18[0x2000-0x1400]; /* 0x1400 */
|
||||
} QEMU_PACKED LowCore;
|
||||
|
||||
LowCore *cpu_map_lowcore(CPUS390XState *env);
|
||||
void cpu_unmap_lowcore(LowCore *lowcore);
|
||||
|
||||
#endif
|
||||
|
||||
/* STSI */
|
||||
#define STSI_LEVEL_MASK 0x00000000f0000000ULL
|
||||
#define STSI_LEVEL_CURRENT 0x0000000000000000ULL
|
||||
@@ -1094,6 +1101,7 @@ struct sysib_322 {
|
||||
#define SIGP_ORDER_MASK 0x000000ff
|
||||
|
||||
void load_psw(CPUS390XState *env, uint64_t mask, uint64_t addr);
|
||||
uint64_t get_psw_mask(CPUS390XState *env);
|
||||
target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr);
|
||||
int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc,
|
||||
target_ulong *raddr, int *flags, bool exc);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+4
-468
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user