Make s390x build

This commit is contained in:
mio 2021-12-26 23:09:25 +01:00
parent faa689c0f0
commit e977f81813
No known key found for this signature in database
GPG Key ID: DFF27E34A47CB873
4 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,9 @@
#ifndef UNICORN_ARCH_POSTFIX
#define UNICORN_ARCH_POSTFIX _s390x
#endif
#define uc_add_inline_hook uc_add_inline_hook_s390x
#define uc_del_inline_hook uc_del_inline_hook_s390x
#define tb_invalidate_phys_range tb_invalidate_phys_range_s390x
#define use_idiv_instructions use_idiv_instructions_s390x
#define arm_arch arm_arch_s390x
#define tb_target_set_jmp_target tb_target_set_jmp_target_s390x
@ -48,7 +51,7 @@
#define address_space_dispatch_compact address_space_dispatch_compact_s390x
#define flatview_translate flatview_translate_s390x
#define address_space_translate_for_iotlb address_space_translate_for_iotlb_s390x
//#define qemu_get_cpu qemu_get_cpu_s390x
#define qemu_get_cpu qemu_get_cpu_s390x
#define cpu_address_space_init cpu_address_space_init_s390x
#define cpu_get_address_space cpu_get_address_space_s390x
#define cpu_exec_unrealizefn cpu_exec_unrealizefn_s390x

View File

@ -27,6 +27,7 @@
#include "sysemu/sysemu.h"
#include "sysemu/tcg.h"
#include "fpu/softfloat-helpers.h"
#include "exec/exec-all.h"
#define CR0_RESET 0xE0UL
#define CR14_RESET 0xC2000000UL;

View File

@ -1,4 +1,5 @@
DEF_HELPER_4(uc_tracecode, void, i32, i32, ptr, i64)
DEF_HELPER_6(uc_traceopcode, void, ptr, i64, i64, i32, ptr, i64)
DEF_HELPER_2(exception, noreturn, env, i32)
DEF_HELPER_2(data_exception, noreturn, env, i32)

View File

@ -6844,7 +6844,7 @@ static void s390x_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
DisasContext *dc = container_of(dcbase, DisasContext, base);
// Unicorn: end address tells us to stop emulation
if (dcbase->pc_next == dc->uc->addr_end) {
if (uc_addr_is_exit(dc->uc, dcbase->pc_next)) {
// imitate PGM exception to halt emulation
dcbase->is_jmp = DISAS_UNICORN_HALT;
} else {