mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-06-29 09:39:25 +00:00
armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition.
This commit is contained in:
parent
f144870adb
commit
ccdb0ff523
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -15,6 +15,7 @@ qemu/config-all-devices.mak
|
||||||
|
|
||||||
i386-softmmu/
|
i386-softmmu/
|
||||||
arm-softmmu/
|
arm-softmmu/
|
||||||
|
armeb-softmmu/
|
||||||
aarch64-softmmu/
|
aarch64-softmmu/
|
||||||
mips-softmmu/
|
mips-softmmu/
|
||||||
mips64-softmmu/
|
mips64-softmmu/
|
||||||
|
|
|
@ -3017,4 +3017,5 @@
|
||||||
#define xpsr_write xpsr_write_arm
|
#define xpsr_write xpsr_write_arm
|
||||||
#define xscale_cpar_write xscale_cpar_write_arm
|
#define xscale_cpar_write xscale_cpar_write_arm
|
||||||
#define xscale_cp_reginfo xscale_cp_reginfo_arm
|
#define xscale_cp_reginfo xscale_cp_reginfo_arm
|
||||||
|
#define ARM_REGS_STORAGE_SIZE ARM_REGS_STORAGE_SIZE_arm
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3017,4 +3017,5 @@
|
||||||
#define xpsr_write xpsr_write_armeb
|
#define xpsr_write xpsr_write_armeb
|
||||||
#define xscale_cpar_write xscale_cpar_write_armeb
|
#define xscale_cpar_write xscale_cpar_write_armeb
|
||||||
#define xscale_cp_reginfo xscale_cp_reginfo_armeb
|
#define xscale_cp_reginfo xscale_cp_reginfo_armeb
|
||||||
|
#define ARM_REGS_STORAGE_SIZE ARM_REGS_STORAGE_SIZE_armeb
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
for d in x86_64 arm m68k aarch64 mips mipsel mips64 mips64el sparc sparc64; do
|
for d in x86_64 arm armeb m68k aarch64 mips mipsel mips64 mips64el sparc sparc64; do
|
||||||
python header_gen.py $d > $d.h
|
python header_gen.py $d > $d.h
|
||||||
done
|
done
|
||||||
|
|
|
@ -3025,6 +3025,10 @@ symbols = (
|
||||||
'xscale_cp_reginfo'
|
'xscale_cp_reginfo'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
arm_symbols = (
|
||||||
|
'ARM_REGS_STORAGE_SIZE',
|
||||||
|
)
|
||||||
|
|
||||||
mips_symbols = (
|
mips_symbols = (
|
||||||
'cpu_mips_exec',
|
'cpu_mips_exec',
|
||||||
'cpu_mips_get_random',
|
'cpu_mips_get_random',
|
||||||
|
@ -3931,7 +3935,9 @@ mips_symbols = (
|
||||||
'mips_reg_write',
|
'mips_reg_write',
|
||||||
'mips_tcg_init',
|
'mips_tcg_init',
|
||||||
'mips_cpu_list',
|
'mips_cpu_list',
|
||||||
'mips_release'
|
'mips_release',
|
||||||
|
'MIPS64_REGS_STORAGE_SIZE',
|
||||||
|
'MIPS_REGS_STORAGE_SIZE'
|
||||||
)
|
)
|
||||||
|
|
||||||
sparc_symbols = (
|
sparc_symbols = (
|
||||||
|
@ -4019,6 +4025,10 @@ if __name__ == '__main__':
|
||||||
for s in symbols:
|
for s in symbols:
|
||||||
print("#define %s %s_%s" %(s, s, arch))
|
print("#define %s %s_%s" %(s, s, arch))
|
||||||
|
|
||||||
|
if 'arm' in arch:
|
||||||
|
for s in arm_symbols:
|
||||||
|
print("#define %s %s_%s" %(s, s, arch))
|
||||||
|
|
||||||
if 'mips' in arch:
|
if 'mips' in arch:
|
||||||
for s in mips_symbols:
|
for s in mips_symbols:
|
||||||
print("#define %s %s_%s" %(s, s, arch))
|
print("#define %s %s_%s" %(s, s, arch))
|
||||||
|
|
|
@ -3923,4 +3923,6 @@
|
||||||
#define mips_tcg_init mips_tcg_init_mips
|
#define mips_tcg_init mips_tcg_init_mips
|
||||||
#define mips_cpu_list mips_cpu_list_mips
|
#define mips_cpu_list mips_cpu_list_mips
|
||||||
#define mips_release mips_release_mips
|
#define mips_release mips_release_mips
|
||||||
|
#define MIPS64_REGS_STORAGE_SIZE MIPS64_REGS_STORAGE_SIZE_mips
|
||||||
|
#define MIPS_REGS_STORAGE_SIZE MIPS_REGS_STORAGE_SIZE_mips
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3923,4 +3923,6 @@
|
||||||
#define mips_tcg_init mips_tcg_init_mips64
|
#define mips_tcg_init mips_tcg_init_mips64
|
||||||
#define mips_cpu_list mips_cpu_list_mips64
|
#define mips_cpu_list mips_cpu_list_mips64
|
||||||
#define mips_release mips_release_mips64
|
#define mips_release mips_release_mips64
|
||||||
|
#define MIPS64_REGS_STORAGE_SIZE MIPS64_REGS_STORAGE_SIZE_mips64
|
||||||
|
#define MIPS_REGS_STORAGE_SIZE MIPS_REGS_STORAGE_SIZE_mips64
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3923,4 +3923,6 @@
|
||||||
#define mips_tcg_init mips_tcg_init_mips64el
|
#define mips_tcg_init mips_tcg_init_mips64el
|
||||||
#define mips_cpu_list mips_cpu_list_mips64el
|
#define mips_cpu_list mips_cpu_list_mips64el
|
||||||
#define mips_release mips_release_mips64el
|
#define mips_release mips_release_mips64el
|
||||||
|
#define MIPS64_REGS_STORAGE_SIZE MIPS64_REGS_STORAGE_SIZE_mips64el
|
||||||
|
#define MIPS_REGS_STORAGE_SIZE MIPS_REGS_STORAGE_SIZE_mips64el
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3923,4 +3923,6 @@
|
||||||
#define mips_tcg_init mips_tcg_init_mipsel
|
#define mips_tcg_init mips_tcg_init_mipsel
|
||||||
#define mips_cpu_list mips_cpu_list_mipsel
|
#define mips_cpu_list mips_cpu_list_mipsel
|
||||||
#define mips_release mips_release_mipsel
|
#define mips_release mips_release_mipsel
|
||||||
|
#define MIPS64_REGS_STORAGE_SIZE MIPS64_REGS_STORAGE_SIZE_mipsel
|
||||||
|
#define MIPS_REGS_STORAGE_SIZE MIPS_REGS_STORAGE_SIZE_mipsel
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -20,7 +20,8 @@ void armeb_uc_init(struct uc_struct* uc);
|
||||||
__attribute__ ((visibility ("default")))
|
__attribute__ ((visibility ("default")))
|
||||||
void arm64_uc_init(struct uc_struct* uc);
|
void arm64_uc_init(struct uc_struct* uc);
|
||||||
|
|
||||||
extern const int ARM_REGS_STORAGE_SIZE;
|
extern const int ARM_REGS_STORAGE_SIZE_arm;
|
||||||
|
extern const int ARM_REGS_STORAGE_SIZE_armeb;
|
||||||
extern const int ARM64_REGS_STORAGE_SIZE;
|
extern const int ARM64_REGS_STORAGE_SIZE;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
#include "unicorn_common.h"
|
#include "unicorn_common.h"
|
||||||
#include "uc_priv.h"
|
#include "uc_priv.h"
|
||||||
|
|
||||||
#ifndef TARGET_WORDS_BIGENDIAN
|
|
||||||
const int ARM_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table);
|
const int ARM_REGS_STORAGE_SIZE = offsetof(CPUARMState, tlb_table);
|
||||||
#endif
|
|
||||||
|
|
||||||
static void arm_set_pc(struct uc_struct *uc, uint64_t address)
|
static void arm_set_pc(struct uc_struct *uc, uint64_t address)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,14 +9,11 @@
|
||||||
#include "unicorn_common.h"
|
#include "unicorn_common.h"
|
||||||
#include "uc_priv.h"
|
#include "uc_priv.h"
|
||||||
|
|
||||||
// prevent the lines from being compiled twice
|
|
||||||
#ifdef TARGET_WORDS_BIGENDIAN
|
|
||||||
#ifdef TARGET_MIPS64
|
#ifdef TARGET_MIPS64
|
||||||
const int MIPS64_REGS_STORAGE_SIZE = offsetof(CPUMIPSState, tlb_table);
|
const int MIPS64_REGS_STORAGE_SIZE = offsetof(CPUMIPSState, tlb_table);
|
||||||
#else // MIPS32
|
#else // MIPS32
|
||||||
const int MIPS_REGS_STORAGE_SIZE = offsetof(CPUMIPSState, tlb_table);
|
const int MIPS_REGS_STORAGE_SIZE = offsetof(CPUMIPSState, tlb_table);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef TARGET_MIPS64
|
#ifdef TARGET_MIPS64
|
||||||
typedef uint64_t mipsreg_t;
|
typedef uint64_t mipsreg_t;
|
||||||
|
|
|
@ -15,7 +15,9 @@ void mipsel_uc_init(struct uc_struct* uc);
|
||||||
void mips64_uc_init(struct uc_struct* uc);
|
void mips64_uc_init(struct uc_struct* uc);
|
||||||
void mips64el_uc_init(struct uc_struct* uc);
|
void mips64el_uc_init(struct uc_struct* uc);
|
||||||
|
|
||||||
extern const int MIPS_REGS_STORAGE_SIZE;
|
extern const int MIPS_REGS_STORAGE_SIZE_mips;
|
||||||
extern const int MIPS64_REGS_STORAGE_SIZE;
|
extern const int MIPS_REGS_STORAGE_SIZE_mipsel;
|
||||||
|
extern const int MIPS64_REGS_STORAGE_SIZE_mips64;
|
||||||
|
extern const int MIPS64_REGS_STORAGE_SIZE_mips64el;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
17
uc.c
17
uc.c
|
@ -1168,13 +1168,26 @@ static size_t cpu_context_size(uc_arch arch, uc_mode mode)
|
||||||
case UC_ARCH_X86: return X86_REGS_STORAGE_SIZE;
|
case UC_ARCH_X86: return X86_REGS_STORAGE_SIZE;
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNICORN_HAS_ARM
|
#ifdef UNICORN_HAS_ARM
|
||||||
case UC_ARCH_ARM: return ARM_REGS_STORAGE_SIZE;
|
case UC_ARCH_ARM: return mode & UC_MODE_BIG_ENDIAN ? ARM_REGS_STORAGE_SIZE_armeb : ARM_REGS_STORAGE_SIZE_arm;
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNICORN_HAS_ARM64
|
#ifdef UNICORN_HAS_ARM64
|
||||||
case UC_ARCH_ARM64: return ARM64_REGS_STORAGE_SIZE;
|
case UC_ARCH_ARM64: return ARM64_REGS_STORAGE_SIZE;
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNICORN_HAS_MIPS
|
#ifdef UNICORN_HAS_MIPS
|
||||||
case UC_ARCH_MIPS: return mode & UC_MODE_MIPS64 ? MIPS64_REGS_STORAGE_SIZE : MIPS_REGS_STORAGE_SIZE;
|
case UC_ARCH_MIPS:
|
||||||
|
if (mode & UC_MODE_MIPS64) {
|
||||||
|
if (mode & UC_MODE_BIG_ENDIAN) {
|
||||||
|
return MIPS64_REGS_STORAGE_SIZE_mips64;
|
||||||
|
} else {
|
||||||
|
return MIPS64_REGS_STORAGE_SIZE_mips64el;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (mode & UC_MODE_BIG_ENDIAN) {
|
||||||
|
return MIPS_REGS_STORAGE_SIZE_mips;
|
||||||
|
} else {
|
||||||
|
return MIPS_REGS_STORAGE_SIZE_mipsel;
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNICORN_HAS_SPARC
|
#ifdef UNICORN_HAS_SPARC
|
||||||
case UC_ARCH_SPARC: return mode & UC_MODE_SPARC64 ? SPARC64_REGS_STORAGE_SIZE : SPARC_REGS_STORAGE_SIZE;
|
case UC_ARCH_SPARC: return mode & UC_MODE_SPARC64 ? SPARC64_REGS_STORAGE_SIZE : SPARC_REGS_STORAGE_SIZE;
|
||||||
|
|
Loading…
Reference in a new issue