diff options
39 files changed, 64 insertions, 148 deletions
@@ -56,7 +56,6 @@ static int bdrv_read_em(BlockDriverState *bs, int64_t sector_num, static int bdrv_write_em(BlockDriverState *bs, int64_t sector_num, const uint8_t *buf, int nb_sectors); -BlockDriverState *bdrv_first; static BlockDriver *first_drv; int path_is_absolute(const char *path) @@ -57,8 +57,7 @@ typedef void (GenOpFunc1)(long); typedef void (GenOpFunc2)(long, long); typedef void (GenOpFunc3)(long, long, long); -extern FILE *logfile; -extern int loglevel; +#include "qemu-log.h" void gen_intermediate_code(CPUState *env, struct TranslationBlock *tb); void gen_intermediate_code_pc(CPUState *env, struct TranslationBlock *tb); @@ -290,6 +289,8 @@ extern int tb_invalidated_flag; void tlb_fill(target_ulong addr, int is_write, int mmu_idx, void *retaddr); +#include "softmmu_defs.h" + #define ACCESS_TYPE (NB_MMU_MODES + 1) #define MEMSUFFIX _code #define env cpu_single_env diff --git a/hw/arm-misc.h b/hw/arm-misc.h index 3660772..f118edb 100644 --- a/hw/arm-misc.h +++ b/hw/arm-misc.h @@ -34,6 +34,9 @@ struct arm_boot_info { void arm_load_kernel(CPUState *env, struct arm_boot_info *info); /* armv7m_nvic.c */ + +/* Multiplication factor to convert from system clock ticks to qemu timer + ticks. */ int system_clock_scale; qemu_irq *armv7m_nvic_init(CPUState *env); diff --git a/hw/armv7m_nvic.c b/hw/armv7m_nvic.c index 26e4c2f..c55c958 100644 --- a/hw/armv7m_nvic.c +++ b/hw/armv7m_nvic.c @@ -50,10 +50,6 @@ typedef struct { #define SYSTICK_CLKSOURCE (1 << 2) #define SYSTICK_COUNTFLAG (1 << 16) -/* Multiplication factor to convert from system clock ticks to qemu timer - ticks. */ -int system_clock_scale; - /* Conversion factor from qemu timer to SysTick frequencies. */ static inline int64_t systick_scale(nvic_state *s) { @@ -1,3 +1,5 @@ +#ifndef HW_ISA_H +#define HW_ISA_H /* ISA bus */ extern target_phys_addr_t isa_mem_base; @@ -22,3 +24,4 @@ void DMA_init (int high_page_enable); void DMA_register_channel (int nchan, DMA_transfer_handler transfer_handler, void *opaque); +#endif @@ -235,8 +235,6 @@ int usb_generic_handle_packet(USBDevice *s, USBPacket *p); int set_usb_string(uint8_t *buf, const char *str); void usb_send_msg(USBDevice *dev, int msg); -void usb_packet_complete(USBPacket *p); - /* usb hub */ USBDevice *usb_hub_init(int nb_ports); diff --git a/linux-user/arm/nwfpe/fpa11_cprt.c b/linux-user/arm/nwfpe/fpa11_cprt.c index 04eae8c..fafa120 100644 --- a/linux-user/arm/nwfpe/fpa11_cprt.c +++ b/linux-user/arm/nwfpe/fpa11_cprt.c @@ -27,8 +27,6 @@ //#include "fpmodule.h" //#include "fpmodule.inl" -void SetRoundingMode(const unsigned int opcode); - unsigned int PerformFLT(const unsigned int opcode); unsigned int PerformFIX(const unsigned int opcode); diff --git a/linux-user/arm/syscall.h b/linux-user/arm/syscall.h index f06da76..003d424 100644 --- a/linux-user/arm/syscall.h +++ b/linux-user/arm/syscall.h @@ -40,5 +40,3 @@ struct target_pt_regs { #else #define UNAME_MACHINE "armv5tel" #endif - -uint32_t do_arm_semihosting(CPUState *); diff --git a/linux-user/m68k/syscall.h b/linux-user/m68k/syscall.h index 47cc66b..2fd85dd 100644 --- a/linux-user/m68k/syscall.h +++ b/linux-user/m68k/syscall.h @@ -18,5 +18,4 @@ struct target_pt_regs { #define UNAME_MACHINE "m68k" -void do_m68k_semihosting(CPUState *, int); void do_m68k_simcall(CPUState *, int); diff --git a/linux-user/main.c b/linux-user/main.c index 32f5455..cca696c 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -477,9 +477,6 @@ void cpu_loop(CPUX86State *env) #ifdef TARGET_ARM -/* XXX: find a better solution */ -extern void tb_invalidate_page_range(abi_ulong start, abi_ulong end); - static void arm_cache_flush(abi_ulong start, abi_ulong last) { abi_ulong addr, last1; diff --git a/linux-user/qemu.h b/linux-user/qemu.h index d3a3c3c..a12cc9b 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -199,8 +199,7 @@ int get_osversion(void); void fork_start(void); void fork_end(int child); -extern int loglevel; -extern FILE *logfile; +#include "qemu-log.h" /* strace.c */ void print_syscall(int num, diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 741ebd6..eba2c02 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -269,10 +269,6 @@ extern int personality(int); extern int flock(int, int); extern int setfsuid(int); extern int setfsgid(int); -extern int setresuid(uid_t, uid_t, uid_t); -extern int getresuid(uid_t *, uid_t *, uid_t *); -extern int setresgid(gid_t, gid_t, gid_t); -extern int getresgid(gid_t *, gid_t *, gid_t *); extern int setgroups(int, gid_t *); #define ERRNO_TABLE_SIZE 1200 @@ -2687,8 +2687,6 @@ static void term_read(void *opaque, const uint8_t *buf, int size) readline_handle_byte(buf[i]); } -static void monitor_start_input(void); - static void monitor_handle_command1(void *opaque, const char *cmdline) { monitor_handle_command(cmdline); diff --git a/qemu-log.h b/qemu-log.h new file mode 100644 index 0000000..1ebea81 --- /dev/null +++ b/qemu-log.h @@ -0,0 +1,7 @@ +#ifndef QEMU_LOG_H +#define QEMU_LOG_H + +extern FILE *logfile; +extern int loglevel; + +#endif diff --git a/slirp/debug.c b/slirp/debug.c index 7c8581d..bfef580 100644 --- a/slirp/debug.c +++ b/slirp/debug.c @@ -16,8 +16,6 @@ int dostats = 0; #endif int slirp_debug = 0; -extern char *strerror _P((int)); - /* Carry over one item from main.c so that the tty's restored. * Only done when the tty being used is /dev/tty --RedWolf */ #ifndef CONFIG_QEMU diff --git a/slirp/mbuf.c b/slirp/mbuf.c index 5d12554..c8797e6 100644 --- a/slirp/mbuf.c +++ b/slirp/mbuf.c @@ -28,7 +28,7 @@ int mbuf_max = 0; * Find a nice value for msize * XXX if_maxlinkhdr already in mtu */ -#define MSIZE (IF_MTU + IF_MAXLINKHDR + sizeof(struct m_hdr ) + 6) +#define SLIRP_MSIZE (IF_MTU + IF_MAXLINKHDR + sizeof(struct m_hdr ) + 6) void m_init() @@ -54,7 +54,7 @@ m_get() DEBUG_CALL("m_get"); if (m_freelist.m_next == &m_freelist) { - m = (struct mbuf *)malloc(MSIZE); + m = (struct mbuf *)malloc(SLIRP_MSIZE); if (m == NULL) goto end_error; mbuf_alloced++; if (mbuf_alloced > MBUF_THRESH) @@ -71,7 +71,7 @@ m_get() m->m_flags = (flags | M_USEDLIST); /* Initialise it */ - m->m_size = MSIZE - sizeof(struct m_hdr); + m->m_size = SLIRP_MSIZE - sizeof(struct m_hdr); m->m_data = m->m_dat; m->m_len = 0; m->m_nextpkt = 0; diff --git a/slirp/misc.h b/slirp/misc.h index e405e38..f6a4cb0 100644 --- a/slirp/misc.h +++ b/slirp/misc.h @@ -17,7 +17,7 @@ struct ex_list { }; extern struct ex_list *exec_list; -extern u_int curtime, time_fasttimo, last_slowtimo; +extern u_int time_fasttimo, last_slowtimo; extern int (*lprint_print) _P((void *, const char *, va_list)); extern char *lprint_ptr, *lprint_ptr2, **lprint_arg; diff --git a/slirp/slirp_config.h b/slirp/slirp_config.h index e7e95dd..dbc8dfd 100644 --- a/slirp/slirp_config.h +++ b/slirp/slirp_config.h @@ -128,10 +128,10 @@ #undef HAVE_SYS_STROPTS_H /* Define to whatever your compiler thinks inline should be */ -#define inline inline +//#define inline inline /* Define to whatever your compiler thinks const should be */ -#define const const +//#define const const /* Define if your compiler doesn't like prototypes */ #undef NO_PROTOTYPES @@ -170,7 +170,7 @@ #undef HAVE_SETENV /* Define if you have index() */ -#undef HAVE_INDEX +#define HAVE_INDEX /* Define if you have bcmp() */ #undef HAVE_BCMP @@ -182,7 +182,7 @@ #define HAVE_MEMMOVE /* Define if you have gethostid */ -#undef HAVE_GETHOSTID +#define HAVE_GETHOSTID /* Define if you DON'T have unix-domain sockets */ #undef NO_UNIX_SOCKETS diff --git a/slirp/socket.c b/slirp/socket.c index 75003af..4622409 100644 --- a/slirp/socket.c +++ b/slirp/socket.c @@ -8,7 +8,6 @@ #define WANT_SYS_IOCTL_H #include <slirp.h> #include "ip_icmp.h" -#include "main.h" #ifdef __sun__ #include <sys/filio.h> #endif diff --git a/softmmu_defs.h b/softmmu_defs.h new file mode 100644 index 0000000..e38bb75 --- /dev/null +++ b/softmmu_defs.h @@ -0,0 +1,22 @@ +#ifndef SOFTMMU_DEFS_H +#define SOFTMMU_DEFS_H + +uint8_t REGPARM __ldb_mmu(target_ulong addr, int mmu_idx); +void REGPARM __stb_mmu(target_ulong addr, uint8_t val, int mmu_idx); +uint16_t REGPARM __ldw_mmu(target_ulong addr, int mmu_idx); +void REGPARM __stw_mmu(target_ulong addr, uint16_t val, int mmu_idx); +uint32_t REGPARM __ldl_mmu(target_ulong addr, int mmu_idx); +void REGPARM __stl_mmu(target_ulong addr, uint32_t val, int mmu_idx); +uint64_t REGPARM __ldq_mmu(target_ulong addr, int mmu_idx); +void REGPARM __stq_mmu(target_ulong addr, uint64_t val, int mmu_idx); + +uint8_t REGPARM __ldb_cmmu(target_ulong addr, int mmu_idx); +void REGPARM __stb_cmmu(target_ulong addr, uint8_t val, int mmu_idx); +uint16_t REGPARM __ldw_cmmu(target_ulong addr, int mmu_idx); +void REGPARM __stw_cmmu(target_ulong addr, uint16_t val, int mmu_idx); +uint32_t REGPARM __ldl_cmmu(target_ulong addr, int mmu_idx); +void REGPARM __stl_cmmu(target_ulong addr, uint32_t val, int mmu_idx); +uint64_t REGPARM __ldq_cmmu(target_ulong addr, int mmu_idx); +void REGPARM __stq_cmmu(target_ulong addr, uint64_t val, int mmu_idx); + +#endif diff --git a/softmmu_exec.h b/softmmu_exec.h index b6e4849..9cc4535 100644 --- a/softmmu_exec.h +++ b/softmmu_exec.h @@ -9,6 +9,8 @@ #define ldul_executive ldl_executive #define ldul_supervisor ldl_supervisor +#include "softmmu_defs.h" + #define ACCESS_TYPE 0 #define MEMSUFFIX MMU_MODE0_SUFFIX #define DATA_SIZE 1 diff --git a/softmmu_header.h b/softmmu_header.h index 512e5a2..9649717 100644 --- a/softmmu_header.h +++ b/softmmu_header.h @@ -70,10 +70,6 @@ #define ADDR_READ addr_read #endif -DATA_TYPE REGPARM glue(glue(__ld, SUFFIX), MMUSUFFIX)(target_ulong addr, - int mmu_idx); -void REGPARM glue(glue(__st, SUFFIX), MMUSUFFIX)(target_ulong addr, DATA_TYPE v, int mmu_idx); - #if (DATA_SIZE <= 4) && (TARGET_LONG_BITS == 32) && defined(__i386__) && \ (ACCESS_TYPE < NB_MMU_MODES) && defined(ASM_SOFTMMU) diff --git a/target-alpha/exec.h b/target-alpha/exec.h index 3b9754d..ec2f8ef 100644 --- a/target-alpha/exec.h +++ b/target-alpha/exec.h @@ -74,8 +74,6 @@ static always_inline void regs_to_env(void) int cpu_alpha_handle_mmu_fault (CPUState *env, uint64_t address, int rw, int mmu_idx, int is_softmmu); -int cpu_alpha_mfpr (CPUState *env, int iprn, uint64_t *valp); -int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp); void do_interrupt (CPUState *env); diff --git a/target-arm/exec.h b/target-arm/exec.h index bd4910d..c543cf4 100644 --- a/target-arm/exec.h +++ b/target-arm/exec.h @@ -61,5 +61,3 @@ static inline int cpu_halted(CPUState *env) { void cpu_loop_exit(void); void raise_exception(int); - -uint32_t helper_neon_mul_p8(uint32_t op1, uint32_t op2); diff --git a/target-arm/translate.c b/target-arm/translate.c index 7ba78d9..8381bcc 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -29,6 +29,7 @@ #include "exec-all.h" #include "disas.h" #include "tcg-op.h" +#include "qemu-log.h" #define GEN_HELPER 1 #include "helpers.h" @@ -72,10 +73,6 @@ typedef struct DisasContext { #define DISAS_WFI 4 #define DISAS_SWI 5 -/* XXX: move that elsewhere */ -extern FILE *logfile; -extern int loglevel; - static TCGv cpu_env; /* We reuse the same 64-bit temporaries for efficiency. */ static TCGv cpu_V0, cpu_V1, cpu_M0; diff --git a/target-cris/exec.h b/target-cris/exec.h index fe63f16..123c538 100644 --- a/target-cris/exec.h +++ b/target-cris/exec.h @@ -46,7 +46,6 @@ static inline void regs_to_env(void) int cpu_cris_handle_mmu_fault (CPUState *env, target_ulong address, int rw, int mmu_idx, int is_softmmu); -void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr); #if !defined(CONFIG_USER_ONLY) #include "softmmu_exec.h" diff --git a/target-i386/exec.h b/target-i386/exec.h index 8298b42..81f909d 100644 --- a/target-i386/exec.h +++ b/target-i386/exec.h @@ -31,8 +31,7 @@ register struct CPUX86State *env asm(AREG0); -extern FILE *logfile; -extern int loglevel; +#include "qemu-log.h" #define EAX (env->regs[R_EAX]) #define ECX (env->regs[R_ECX]) @@ -58,13 +57,10 @@ extern int loglevel; #include "cpu.h" #include "exec-all.h" -void cpu_x86_update_cr0(CPUX86State *env, uint32_t new_cr0); void cpu_x86_update_cr3(CPUX86State *env, target_ulong new_cr3); void cpu_x86_update_cr4(CPUX86State *env, uint32_t new_cr4); int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr, int is_write, int mmu_idx, int is_softmmu); -void tlb_fill(target_ulong addr, int is_write, int mmu_idx, - void *retaddr); void __hidden cpu_lock(void); void __hidden cpu_unlock(void); void do_interrupt(int intno, int is_int, int error_code, @@ -120,16 +116,6 @@ static inline void svm_check_intercept(uint32_t type) #define floatx_round_to_int floatx80_round_to_int #define floatx_compare floatx80_compare #define floatx_compare_quiet floatx80_compare_quiet -#define sin sinl -#define cos cosl -#define sqrt sqrtl -#define pow powl -#define log logl -#define tan tanl -#define atan2 atan2l -#define floor floorl -#define ceil ceill -#define ldexp ldexpl #else #define floatx_to_int32 float64_to_int32 #define floatx_to_int64 float64_to_int64 @@ -148,16 +134,6 @@ static inline void svm_check_intercept(uint32_t type) #define floatx_compare_quiet float64_compare_quiet #endif -extern CPU86_LDouble sin(CPU86_LDouble x); -extern CPU86_LDouble cos(CPU86_LDouble x); -extern CPU86_LDouble sqrt(CPU86_LDouble x); -extern CPU86_LDouble pow(CPU86_LDouble, CPU86_LDouble); -extern CPU86_LDouble log(CPU86_LDouble x); -extern CPU86_LDouble tan(CPU86_LDouble x); -extern CPU86_LDouble atan2(CPU86_LDouble, CPU86_LDouble); -extern CPU86_LDouble floor(CPU86_LDouble x); -extern CPU86_LDouble ceil(CPU86_LDouble x); - #define RC_MASK 0xc00 #define RC_NEAR 0x000 #define RC_DOWN 0x400 diff --git a/target-i386/helper.h b/target-i386/helper.h index 8df6acc..14ed100 100644 --- a/target-i386/helper.h +++ b/target-i386/helper.h @@ -186,7 +186,6 @@ DEF_HELPER(void, helper_frndint, (void)) DEF_HELPER(void, helper_fscale, (void)) DEF_HELPER(void, helper_fsin, (void)) DEF_HELPER(void, helper_fcos, (void)) -DEF_HELPER(void, helper_fxam_ST0, (void)) DEF_HELPER(void, helper_fstenv, (target_ulong ptr, int data32)) DEF_HELPER(void, helper_fldenv, (target_ulong ptr, int data32)) DEF_HELPER(void, helper_fsave, (target_ulong ptr, int data32)) diff --git a/target-m68k/exec.h b/target-m68k/exec.h index 1269445..745606e 100644 --- a/target-m68k/exec.h +++ b/target-m68k/exec.h @@ -44,8 +44,6 @@ int cpu_m68k_handle_mmu_fault (CPUState *env, target_ulong address, int rw, #include "softmmu_exec.h" #endif -void cpu_m68k_flush_flags(CPUM68KState *env, int cc_op); - void cpu_loop_exit(void); static inline int cpu_halted(CPUState *env) { diff --git a/target-m68k/translate.c b/target-m68k/translate.c index d5872a1..16b2c2c 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -30,6 +30,7 @@ #include "exec-all.h" #include "disas.h" #include "tcg-op.h" +#include "qemu-log.h" #define GEN_HELPER 1 #include "helpers.h" @@ -157,9 +158,6 @@ typedef struct DisasContext { static void *gen_throws_exception; #define gen_last_qop NULL -extern FILE *logfile; -extern int loglevel; - #define OS_BYTE 0 #define OS_WORD 1 #define OS_LONG 2 diff --git a/target-mips/exec.h b/target-mips/exec.h index fcad70a..3395da4 100644 --- a/target-mips/exec.h +++ b/target-mips/exec.h @@ -33,9 +33,6 @@ void cpu_loop_exit(void); void do_raise_exception_err (uint32_t exception, int error_code); void do_raise_exception (uint32_t exception); -void cpu_dump_state(CPUState *env, FILE *f, - int (*cpu_fprintf)(FILE *f, const char *fmt, ...), - int flags); void cpu_mips_irqctrl_init (void); uint32_t cpu_mips_get_random (CPUState *env); uint32_t cpu_mips_get_count (CPUState *env); diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index ad12364..9393e3b 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -8941,8 +8941,6 @@ static void dump_ppc_sprs (CPUPPCState *env) #include <stdlib.h> #include <string.h> -int fflush (FILE *stream); - /* Opcode types */ enum { PPC_DIRECT = 0, /* Opcode routine */ diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index 3ced47e..dee1ebc 100644 --- a/tcg/arm/tcg-target.c +++ b/tcg/arm/tcg-target.c @@ -808,15 +808,8 @@ static void tcg_out_div_helper(TCGContext *s, int cond, const TCGArg *args, } #ifdef CONFIG_SOFTMMU -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); + +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/hppa/tcg-target.c b/tcg/hppa/tcg-target.c index 2d17c81..3affd26 100644 --- a/tcg/hppa/tcg-target.c +++ b/tcg/hppa/tcg-target.c @@ -345,15 +345,8 @@ static inline void tcg_out_call(TCGContext *s, void *func) } #if defined(CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); + +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c index a7bd748..08bb783 100644 --- a/tcg/i386/tcg-target.c +++ b/tcg/i386/tcg-target.c @@ -404,15 +404,8 @@ static void tcg_out_brcond2(TCGContext *s, } #if defined(CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); + +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c index 5018232..ad17468 100644 --- a/tcg/ppc/tcg-target.c +++ b/tcg/ppc/tcg-target.c @@ -454,15 +454,8 @@ static void tcg_out_b (TCGContext *s, int mask, tcg_target_long target) } #if defined(CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); + +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c index 6acf823..6b16efa 100644 --- a/tcg/ppc64/tcg-target.c +++ b/tcg/ppc64/tcg-target.c @@ -509,15 +509,8 @@ static void tcg_out_b (TCGContext *s, int mask, tcg_target_long target) } #if defined (CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); + +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/sparc/tcg-target.c b/tcg/sparc/tcg-target.c index 7eb7cdc..861ed8e 100644 --- a/tcg/sparc/tcg-target.c +++ b/tcg/sparc/tcg-target.c @@ -472,16 +472,8 @@ void tcg_target_qemu_prologue(TCGContext *s) } #if defined(CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); +#include "../../softmmu_defs.h" static const void * const qemu_ld_helpers[4] = { __ldb_mmu, diff --git a/tcg/x86_64/tcg-target.c b/tcg/x86_64/tcg-target.c index bc5694a..183816a 100644 --- a/tcg/x86_64/tcg-target.c +++ b/tcg/x86_64/tcg-target.c @@ -467,16 +467,8 @@ static void tcg_out_brcond(TCGContext *s, int cond, } #if defined(CONFIG_SOFTMMU) -extern void __ldb_mmu(void); -extern void __ldw_mmu(void); -extern void __ldl_mmu(void); -extern void __ldq_mmu(void); - -extern void __stb_mmu(void); -extern void __stw_mmu(void); -extern void __stl_mmu(void); -extern void __stq_mmu(void); +#include "../../softmmu_defs.h" static void *qemu_ld_helpers[4] = { __ldb_mmu, |