aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block.c1
-rw-r--r--exec-all.h5
-rw-r--r--hw/arm-misc.h3
-rw-r--r--hw/armv7m_nvic.c4
-rw-r--r--hw/isa.h3
-rw-r--r--hw/usb.h2
-rw-r--r--linux-user/arm/nwfpe/fpa11_cprt.c2
-rw-r--r--linux-user/arm/syscall.h2
-rw-r--r--linux-user/m68k/syscall.h1
-rw-r--r--linux-user/main.c3
-rw-r--r--linux-user/qemu.h3
-rw-r--r--linux-user/syscall.c4
-rw-r--r--monitor.c2
-rw-r--r--qemu-log.h7
-rw-r--r--slirp/debug.c2
-rw-r--r--slirp/mbuf.c6
-rw-r--r--slirp/misc.h2
-rw-r--r--slirp/slirp_config.h8
-rw-r--r--slirp/socket.c1
-rw-r--r--softmmu_defs.h22
-rw-r--r--softmmu_exec.h2
-rw-r--r--softmmu_header.h4
-rw-r--r--target-alpha/exec.h2
-rw-r--r--target-arm/exec.h2
-rw-r--r--target-arm/translate.c5
-rw-r--r--target-cris/exec.h1
-rw-r--r--target-i386/exec.h26
-rw-r--r--target-i386/helper.h1
-rw-r--r--target-m68k/exec.h2
-rw-r--r--target-m68k/translate.c4
-rw-r--r--target-mips/exec.h3
-rw-r--r--target-ppc/translate_init.c2
-rw-r--r--tcg/arm/tcg-target.c11
-rw-r--r--tcg/hppa/tcg-target.c11
-rw-r--r--tcg/i386/tcg-target.c11
-rw-r--r--tcg/ppc/tcg-target.c11
-rw-r--r--tcg/ppc64/tcg-target.c11
-rw-r--r--tcg/sparc/tcg-target.c10
-rw-r--r--tcg/x86_64/tcg-target.c10
39 files changed, 64 insertions, 148 deletions
diff --git a/block.c b/block.c
index d02b705b4..db8244caa 100644
--- a/block.c
+++ b/block.c
@@ -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)
diff --git a/exec-all.h b/exec-all.h
index be629a5b3..c5009dc62 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -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 3660772db..f118edb3b 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 26e4c2f2f..c55c95871 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)
{
diff --git a/hw/isa.h b/hw/isa.h
index 89b3004a5..222e4f347 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -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
diff --git a/hw/usb.h b/hw/usb.h
index 55b7e5850..997e69fa0 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -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 04eae8c6f..fafa120c9 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 f06da76dd..003d42470 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 47cc66b14..2fd85dd6f 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 32f5455e6..cca696cfa 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 d3a3c3c20..a12cc9b69 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 741ebd644..eba2c02ad 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
diff --git a/monitor.c b/monitor.c
index e71f49e85..43b188a7f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -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 000000000..1ebea81c5
--- /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 7c8581d63..bfef58069 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 5d1255428..c8797e61f 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 e405e38dc..f6a4cb090 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 e7e95dd5a..dbc8dfd42 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 75003af15..462240924 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 000000000..e38bb752f
--- /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 b6e484918..9cc4535b6 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 512e5a2e4..964971740 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 3b9754d83..ec2f8efef 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 bd4910d11..c543cf4a4 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 7ba78d9fc..8381bccd6 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 fe63f1698..123c5386c 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 8298b4293..81f909d91 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 8df6acc8d..14ed100d3 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 12694453a..745606ec0 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 d5872a10b..16b2c2c1b 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 fcad70af6..3395da4f4 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 ad12364ac..9393e3b94 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 3ced47ef8..dee1ebca5 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 2d17c8190..3affd26ec 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 a7bd74861..08bb783d3 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 5018232af..ad174681f 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 6acf823eb..6b16efa85 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 7eb7cdc56..861ed8e3d 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 bc5694a8c..183816aeb 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,