* [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming
@ 2013-04-17 14:26 Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets Paolo Bonzini
` (14 more replies)
0 siblings, 15 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
This series expands on the one I sent yesterday, but also fixes some
confusion between target (CPU) and ABI types in linux-user/elfload.c.
target_short/int/llong and the corresponding unsigned types are renamed
to abi_short/int/llong, and TARGET_*_ALIGNMENT is similarly renamed to
ABI_*_ALIGNMENT. target_long/ulong, which identify the register width
in the CPU, do not have special alignment anymore. Core dumps are
changed to use the new types, with fixes to include the full 64-bit
contents of mipsn32 registers.
Paolo Bonzini (13):
configure: QEMU_INCLUDES are the same for all subtargets
elfload: fix size of ABI-dependent fields in core dumps
elfload: fix size of registers for N32
elfload: use tswapreg consistently in elf_core_copy_regs
elfload: use abi_short/ushort instead of target_short/ushort
elfload: use abi_int/uint instead of target_int/uint
elfload: only give abi_long/ulong the alignment specified by the target
elfload: use abi_llong/ullong instead of target_llong/ullong
configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
configure: move common libraries to config-host.mak
configure: eliminate target_libs_softmmu
configure: CONFIG_NO_XEN is duplicated
configure: remove duplicate test
Makefile.target | 10 +--
configure | 129 ++++++++++++-----------------
default-configs/lm32-softmmu.mak | 1 +
hw/display/Makefile.objs | 5 +-
include/exec/cpu-defs.h | 14 +---
include/exec/user/abitypes.h | 46 ++++++++--
include/hw/xen/xen.h | 2 +-
linux-user/elfload.c | 175 ++++++++++++++++++++-------------------
8 files changed, 196 insertions(+), 186 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps Paolo Bonzini
` (13 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/configure b/configure
index 4c4f6f6..a6e9104 100755
--- a/configure
+++ b/configure
@@ -3986,6 +3986,19 @@ if test "$trace_default" = "yes"; then
echo "CONFIG_TRACE_DEFAULT=y" >> $config_host_mak
fi
+if test "$tcg_interpreter" = "yes"; then
+ QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/tci $QEMU_INCLUDES"
+elif test "$ARCH" = "sparc64" ; then
+ QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/sparc $QEMU_INCLUDES"
+elif test "$ARCH" = "s390x" ; then
+ QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/s390 $QEMU_INCLUDES"
+elif test "$ARCH" = "x86_64" ; then
+ QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/i386 $QEMU_INCLUDES"
+else
+ QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/\$(ARCH) $QEMU_INCLUDES"
+fi
+QEMU_INCLUDES="-I\$(SRC_PATH)/tcg $QEMU_INCLUDES"
+
echo "TOOLS=$tools" >> $config_host_mak
echo "ROMS=$roms" >> $config_host_mak
echo "MAKE=$make" >> $config_host_mak
@@ -4357,22 +4370,8 @@ fi
# generate QEMU_CFLAGS/LDFLAGS for targets
cflags=""
-includes=""
ldflags=""
-if test "$tcg_interpreter" = "yes"; then
- includes="-I\$(SRC_PATH)/tcg/tci $includes"
-elif test "$ARCH" = "sparc64" ; then
- includes="-I\$(SRC_PATH)/tcg/sparc $includes"
-elif test "$ARCH" = "s390x" ; then
- includes="-I\$(SRC_PATH)/tcg/s390 $includes"
-elif test "$ARCH" = "x86_64" ; then
- includes="-I\$(SRC_PATH)/tcg/i386 $includes"
-else
- includes="-I\$(SRC_PATH)/tcg/\$(ARCH) $includes"
-fi
-includes="-I\$(SRC_PATH)/tcg $includes"
-
for i in $ARCH $TARGET_BASE_ARCH ; do
case "$i" in
alpha)
@@ -4502,7 +4501,6 @@ fi
echo "LDFLAGS+=$ldflags" >> $config_target_mak
echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak
-echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
done # for target in $targets
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 03/13] elfload: fix size of registers for N32 Paolo Bonzini
` (12 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32,
sparc32plus). Use abi_long/ulong for those.
Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert them.
Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
linux-user/elfload.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 89db49c..d3589ff 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2110,8 +2110,8 @@ struct target_elf_siginfo {
struct target_elf_prstatus {
struct target_elf_siginfo pr_info; /* Info associated with signal */
target_short pr_cursig; /* Current signal */
- target_ulong pr_sigpend; /* XXX */
- target_ulong pr_sighold; /* XXX */
+ abi_ulong pr_sigpend; /* XXX */
+ abi_ulong pr_sighold; /* XXX */
target_pid_t pr_pid;
target_pid_t pr_ppid;
target_pid_t pr_pgrp;
@@ -2131,7 +2131,7 @@ struct target_elf_prpsinfo {
char pr_sname; /* char for pr_state */
char pr_zomb; /* zombie */
char pr_nice; /* nice val */
- target_ulong pr_flag; /* flags */
+ abi_ulong pr_flag; /* flags */
target_uid_t pr_uid;
target_gid_t pr_gid;
target_pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
@@ -2215,12 +2215,12 @@ static int write_note_info(struct elf_note_info *, int);
#ifdef BSWAP_NEEDED
static void bswap_prstatus(struct target_elf_prstatus *prstatus)
{
- prstatus->pr_info.si_signo = tswapl(prstatus->pr_info.si_signo);
- prstatus->pr_info.si_code = tswapl(prstatus->pr_info.si_code);
- prstatus->pr_info.si_errno = tswapl(prstatus->pr_info.si_errno);
+ prstatus->pr_info.si_signo = tswap32(prstatus->pr_info.si_signo);
+ prstatus->pr_info.si_code = tswap32(prstatus->pr_info.si_code);
+ prstatus->pr_info.si_errno = tswap32(prstatus->pr_info.si_errno);
prstatus->pr_cursig = tswap16(prstatus->pr_cursig);
- prstatus->pr_sigpend = tswapl(prstatus->pr_sigpend);
- prstatus->pr_sighold = tswapl(prstatus->pr_sighold);
+ prstatus->pr_sigpend = tswapal(prstatus->pr_sigpend);
+ prstatus->pr_sighold = tswapal(prstatus->pr_sighold);
prstatus->pr_pid = tswap32(prstatus->pr_pid);
prstatus->pr_ppid = tswap32(prstatus->pr_ppid);
prstatus->pr_pgrp = tswap32(prstatus->pr_pgrp);
@@ -2232,7 +2232,7 @@ static void bswap_prstatus(struct target_elf_prstatus *prstatus)
static void bswap_psinfo(struct target_elf_prpsinfo *psinfo)
{
- psinfo->pr_flag = tswapl(psinfo->pr_flag);
+ psinfo->pr_flag = tswapal(psinfo->pr_flag);
psinfo->pr_uid = tswap16(psinfo->pr_uid);
psinfo->pr_gid = tswap16(psinfo->pr_gid);
psinfo->pr_pid = tswap32(psinfo->pr_pid);
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 03/13] elfload: fix size of registers for N32
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 04/13] elfload: use tswapreg consistently in elf_core_copy_regs Paolo Bonzini
` (11 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Registers are 64-bit in size for the MIPS n32 ABI. Define
target_elf_greg_t accordingly, and use the correct function
to do endian swaps.
Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
linux-user/elfload.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index d3589ff..9d5dbb8 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -101,7 +101,14 @@ enum {
#define ELF_DATA ELFDATA2LSB
#endif
+#ifdef TARGET_ABI_MIPSN32
typedef target_ulong target_elf_greg_t;
+#define tswapreg(ptr) tswapl(ptr)
+#else
+typedef abi_ulong target_elf_greg_t;
+#define tswapreg(ptr) tswapal(ptr)
+#endif
+
#ifdef USE_UID16
typedef target_ushort target_uid_t;
typedef target_ushort target_gid_t;
@@ -747,17 +754,17 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMIPSState *e
(*regs)[TARGET_EF_R0] = 0;
for (i = 1; i < ARRAY_SIZE(env->active_tc.gpr); i++) {
- (*regs)[TARGET_EF_R0 + i] = tswapl(env->active_tc.gpr[i]);
+ (*regs)[TARGET_EF_R0 + i] = tswapreg(env->active_tc.gpr[i]);
}
(*regs)[TARGET_EF_R26] = 0;
(*regs)[TARGET_EF_R27] = 0;
- (*regs)[TARGET_EF_LO] = tswapl(env->active_tc.LO[0]);
- (*regs)[TARGET_EF_HI] = tswapl(env->active_tc.HI[0]);
- (*regs)[TARGET_EF_CP0_EPC] = tswapl(env->active_tc.PC);
- (*regs)[TARGET_EF_CP0_BADVADDR] = tswapl(env->CP0_BadVAddr);
- (*regs)[TARGET_EF_CP0_STATUS] = tswapl(env->CP0_Status);
- (*regs)[TARGET_EF_CP0_CAUSE] = tswapl(env->CP0_Cause);
+ (*regs)[TARGET_EF_LO] = tswapreg(env->active_tc.LO[0]);
+ (*regs)[TARGET_EF_HI] = tswapreg(env->active_tc.HI[0]);
+ (*regs)[TARGET_EF_CP0_EPC] = tswapreg(env->active_tc.PC);
+ (*regs)[TARGET_EF_CP0_BADVADDR] = tswapreg(env->CP0_BadVAddr);
+ (*regs)[TARGET_EF_CP0_STATUS] = tswapreg(env->CP0_Status);
+ (*regs)[TARGET_EF_CP0_CAUSE] = tswapreg(env->CP0_Cause);
}
#define USE_ELF_CORE_DUMP
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 04/13] elfload: use tswapreg consistently in elf_core_copy_regs
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (2 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 03/13] elfload: fix size of registers for N32 Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 05/13] elfload: use abi_short/ushort instead of target_short/ushort Paolo Bonzini
` (10 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
linux-user/elfload.c | 114 +++++++++++++++++++++++++--------------------------
1 file changed, 57 insertions(+), 57 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 9d5dbb8..bc2e9f1 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -297,25 +297,25 @@ typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUARMState *env)
{
- (*regs)[0] = tswapl(env->regs[0]);
- (*regs)[1] = tswapl(env->regs[1]);
- (*regs)[2] = tswapl(env->regs[2]);
- (*regs)[3] = tswapl(env->regs[3]);
- (*regs)[4] = tswapl(env->regs[4]);
- (*regs)[5] = tswapl(env->regs[5]);
- (*regs)[6] = tswapl(env->regs[6]);
- (*regs)[7] = tswapl(env->regs[7]);
- (*regs)[8] = tswapl(env->regs[8]);
- (*regs)[9] = tswapl(env->regs[9]);
- (*regs)[10] = tswapl(env->regs[10]);
- (*regs)[11] = tswapl(env->regs[11]);
- (*regs)[12] = tswapl(env->regs[12]);
- (*regs)[13] = tswapl(env->regs[13]);
- (*regs)[14] = tswapl(env->regs[14]);
- (*regs)[15] = tswapl(env->regs[15]);
-
- (*regs)[16] = tswapl(cpsr_read((CPUARMState *)env));
- (*regs)[17] = tswapl(env->regs[0]); /* XXX */
+ (*regs)[0] = tswapreg(env->regs[0]);
+ (*regs)[1] = tswapreg(env->regs[1]);
+ (*regs)[2] = tswapreg(env->regs[2]);
+ (*regs)[3] = tswapreg(env->regs[3]);
+ (*regs)[4] = tswapreg(env->regs[4]);
+ (*regs)[5] = tswapreg(env->regs[5]);
+ (*regs)[6] = tswapreg(env->regs[6]);
+ (*regs)[7] = tswapreg(env->regs[7]);
+ (*regs)[8] = tswapreg(env->regs[8]);
+ (*regs)[9] = tswapreg(env->regs[9]);
+ (*regs)[10] = tswapreg(env->regs[10]);
+ (*regs)[11] = tswapreg(env->regs[11]);
+ (*regs)[12] = tswapreg(env->regs[12]);
+ (*regs)[13] = tswapreg(env->regs[13]);
+ (*regs)[14] = tswapreg(env->regs[14]);
+ (*regs)[15] = tswapreg(env->regs[15]);
+
+ (*regs)[16] = tswapreg(cpsr_read((CPUARMState *)env));
+ (*regs)[17] = tswapreg(env->regs[0]); /* XXX */
}
#define USE_ELF_CORE_DUMP
@@ -681,19 +681,19 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUPPCState *en
target_ulong ccr = 0;
for (i = 0; i < ARRAY_SIZE(env->gpr); i++) {
- (*regs)[i] = tswapl(env->gpr[i]);
+ (*regs)[i] = tswapreg(env->gpr[i]);
}
- (*regs)[32] = tswapl(env->nip);
- (*regs)[33] = tswapl(env->msr);
- (*regs)[35] = tswapl(env->ctr);
- (*regs)[36] = tswapl(env->lr);
- (*regs)[37] = tswapl(env->xer);
+ (*regs)[32] = tswapreg(env->nip);
+ (*regs)[33] = tswapreg(env->msr);
+ (*regs)[35] = tswapreg(env->ctr);
+ (*regs)[36] = tswapreg(env->lr);
+ (*regs)[37] = tswapreg(env->xer);
for (i = 0; i < ARRAY_SIZE(env->crf); i++) {
ccr |= env->crf[i] << (32 - ((i + 1) * 4));
}
- (*regs)[38] = tswapl(ccr);
+ (*regs)[38] = tswapreg(ccr);
}
#define USE_ELF_CORE_DUMP
@@ -801,11 +801,11 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBState *env
int i, pos = 0;
for (i = 0; i < 32; i++) {
- (*regs)[pos++] = tswapl(env->regs[i]);
+ (*regs)[pos++] = tswapreg(env->regs[i]);
}
for (i = 0; i < 6; i++) {
- (*regs)[pos++] = tswapl(env->sregs[i]);
+ (*regs)[pos++] = tswapreg(env->sregs[i]);
}
}
@@ -841,11 +841,11 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs,
int i;
for (i = 0; i < 32; i++) {
- (*regs)[i] = tswapl(env->gpr[i]);
+ (*regs)[i] = tswapreg(env->gpr[i]);
}
- (*regs)[32] = tswapl(env->pc);
- (*regs)[33] = tswapl(env->sr);
+ (*regs)[32] = tswapreg(env->pc);
+ (*regs)[33] = tswapreg(env->sr);
}
#define ELF_HWCAP 0
#define ELF_PLATFORM NULL
@@ -890,15 +890,15 @@ static inline void elf_core_copy_regs(target_elf_gregset_t *regs,
int i;
for (i = 0; i < 16; i++) {
- (*regs[i]) = tswapl(env->gregs[i]);
+ (*regs[i]) = tswapreg(env->gregs[i]);
}
- (*regs)[TARGET_REG_PC] = tswapl(env->pc);
- (*regs)[TARGET_REG_PR] = tswapl(env->pr);
- (*regs)[TARGET_REG_SR] = tswapl(env->sr);
- (*regs)[TARGET_REG_GBR] = tswapl(env->gbr);
- (*regs)[TARGET_REG_MACH] = tswapl(env->mach);
- (*regs)[TARGET_REG_MACL] = tswapl(env->macl);
+ (*regs)[TARGET_REG_PC] = tswapreg(env->pc);
+ (*regs)[TARGET_REG_PR] = tswapreg(env->pr);
+ (*regs)[TARGET_REG_SR] = tswapreg(env->sr);
+ (*regs)[TARGET_REG_GBR] = tswapreg(env->gbr);
+ (*regs)[TARGET_REG_MACH] = tswapreg(env->mach);
+ (*regs)[TARGET_REG_MACL] = tswapreg(env->macl);
(*regs)[TARGET_REG_SYSCALL] = 0; /* FIXME */
}
@@ -952,25 +952,25 @@ typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG];
static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUM68KState *env)
{
- (*regs)[0] = tswapl(env->dregs[1]);
- (*regs)[1] = tswapl(env->dregs[2]);
- (*regs)[2] = tswapl(env->dregs[3]);
- (*regs)[3] = tswapl(env->dregs[4]);
- (*regs)[4] = tswapl(env->dregs[5]);
- (*regs)[5] = tswapl(env->dregs[6]);
- (*regs)[6] = tswapl(env->dregs[7]);
- (*regs)[7] = tswapl(env->aregs[0]);
- (*regs)[8] = tswapl(env->aregs[1]);
- (*regs)[9] = tswapl(env->aregs[2]);
- (*regs)[10] = tswapl(env->aregs[3]);
- (*regs)[11] = tswapl(env->aregs[4]);
- (*regs)[12] = tswapl(env->aregs[5]);
- (*regs)[13] = tswapl(env->aregs[6]);
- (*regs)[14] = tswapl(env->dregs[0]);
- (*regs)[15] = tswapl(env->aregs[7]);
- (*regs)[16] = tswapl(env->dregs[0]); /* FIXME: orig_d0 */
- (*regs)[17] = tswapl(env->sr);
- (*regs)[18] = tswapl(env->pc);
+ (*regs)[0] = tswapreg(env->dregs[1]);
+ (*regs)[1] = tswapreg(env->dregs[2]);
+ (*regs)[2] = tswapreg(env->dregs[3]);
+ (*regs)[3] = tswapreg(env->dregs[4]);
+ (*regs)[4] = tswapreg(env->dregs[5]);
+ (*regs)[5] = tswapreg(env->dregs[6]);
+ (*regs)[6] = tswapreg(env->dregs[7]);
+ (*regs)[7] = tswapreg(env->aregs[0]);
+ (*regs)[8] = tswapreg(env->aregs[1]);
+ (*regs)[9] = tswapreg(env->aregs[2]);
+ (*regs)[10] = tswapreg(env->aregs[3]);
+ (*regs)[11] = tswapreg(env->aregs[4]);
+ (*regs)[12] = tswapreg(env->aregs[5]);
+ (*regs)[13] = tswapreg(env->aregs[6]);
+ (*regs)[14] = tswapreg(env->dregs[0]);
+ (*regs)[15] = tswapreg(env->aregs[7]);
+ (*regs)[16] = tswapreg(env->dregs[0]); /* FIXME: orig_d0 */
+ (*regs)[17] = tswapreg(env->sr);
+ (*regs)[18] = tswapreg(env->pc);
(*regs)[19] = 0; /* FIXME: regs->format | regs->vector */
}
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 05/13] elfload: use abi_short/ushort instead of target_short/ushort
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (3 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 04/13] elfload: use tswapreg consistently in elf_core_copy_regs Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 06/13] elfload: use abi_int/uint instead of target_int/uint Paolo Bonzini
` (9 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 2 --
include/exec/cpu-defs.h | 2 --
include/exec/user/abitypes.h | 7 +++++++
linux-user/elfload.c | 6 +++---
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/configure b/configure
index a6e9104..deaa377 100755
--- a/configure
+++ b/configure
@@ -4131,7 +4131,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_short_alignment=2
target_int_alignment=4
target_long_alignment=4
target_llong_alignment=8
@@ -4273,7 +4272,6 @@ case "$cpu" in
;;
esac
-echo "TARGET_SHORT_ALIGNMENT=$target_short_alignment" >> $config_target_mak
echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak
echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 0ae967a..d376f0f 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -36,8 +36,6 @@
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
-typedef int16_t target_short __attribute__ ((aligned(TARGET_SHORT_ALIGNMENT)));
-typedef uint16_t target_ushort __attribute__((aligned(TARGET_SHORT_ALIGNMENT)));
typedef int32_t target_int __attribute__((aligned(TARGET_INT_ALIGNMENT)));
typedef uint32_t target_uint __attribute__((aligned(TARGET_INT_ALIGNMENT)));
typedef int64_t target_llong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index fe7f662..abaa028 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -2,6 +2,13 @@
#define QEMU_TYPES_H
#include "cpu.h"
+#ifndef ABI_SHORT_ALIGNMENT
+#define ABI_SHORT_ALIGNMENT 2
+#endif
+
+typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
+typedef uint16_t abi_ushort __attribute__((aligned(ABI_SHORT_ALIGNMENT)));
+
#ifdef TARGET_ABI32
typedef uint32_t abi_ulong;
typedef int32_t abi_long;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index bc2e9f1..5eca934 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -110,8 +110,8 @@ typedef abi_ulong target_elf_greg_t;
#endif
#ifdef USE_UID16
-typedef target_ushort target_uid_t;
-typedef target_ushort target_gid_t;
+typedef abi_ushort target_uid_t;
+typedef abi_ushort target_gid_t;
#else
typedef target_uint target_uid_t;
typedef target_uint target_gid_t;
@@ -2116,7 +2116,7 @@ struct target_elf_siginfo {
struct target_elf_prstatus {
struct target_elf_siginfo pr_info; /* Info associated with signal */
- target_short pr_cursig; /* Current signal */
+ abi_short pr_cursig; /* Current signal */
abi_ulong pr_sigpend; /* XXX */
abi_ulong pr_sighold; /* XXX */
target_pid_t pr_pid;
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 06/13] elfload: use abi_int/uint instead of target_int/uint
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (4 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 05/13] elfload: use abi_short/ushort instead of target_short/ushort Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 07/13] elfload: only give abi_long/ulong the alignment specified by the target Paolo Bonzini
` (8 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 3 ---
include/exec/cpu-defs.h | 2 --
include/exec/user/abitypes.h | 9 +++++++++
linux-user/elfload.c | 14 +++++++-------
4 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure b/configure
index deaa377..9d29f57 100755
--- a/configure
+++ b/configure
@@ -4131,7 +4131,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_int_alignment=4
target_long_alignment=4
target_llong_alignment=8
target_libs_softmmu=
@@ -4167,7 +4166,6 @@ case "$target_arch2" in
m68k)
bflt="yes"
gdb_xml_files="cf-core.xml cf-fp.xml"
- target_int_alignment=2
target_long_alignment=2
target_llong_alignment=2
;;
@@ -4272,7 +4270,6 @@ case "$cpu" in
;;
esac
-echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak
echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index d376f0f..2aa9331 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -36,8 +36,6 @@
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
-typedef int32_t target_int __attribute__((aligned(TARGET_INT_ALIGNMENT)));
-typedef uint32_t target_uint __attribute__((aligned(TARGET_INT_ALIGNMENT)));
typedef int64_t target_llong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
typedef uint64_t target_ullong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
/* target_ulong is the type of a virtual address */
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index abaa028..4f3e804 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -2,12 +2,21 @@
#define QEMU_TYPES_H
#include "cpu.h"
+#ifdef TARGET_M68K
+#define ABI_INT_ALIGNMENT 2
+#endif
+
#ifndef ABI_SHORT_ALIGNMENT
#define ABI_SHORT_ALIGNMENT 2
#endif
+#ifndef ABI_INT_ALIGNMENT
+#define ABI_INT_ALIGNMENT 4
+#endif
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
typedef uint16_t abi_ushort __attribute__((aligned(ABI_SHORT_ALIGNMENT)));
+typedef int32_t abi_int __attribute__((aligned(ABI_INT_ALIGNMENT)));
+typedef uint32_t abi_uint __attribute__((aligned(ABI_INT_ALIGNMENT)));
#ifdef TARGET_ABI32
typedef uint32_t abi_ulong;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 5eca934..14a8ecf 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -113,10 +113,10 @@ typedef abi_ulong target_elf_greg_t;
typedef abi_ushort target_uid_t;
typedef abi_ushort target_gid_t;
#else
-typedef target_uint target_uid_t;
-typedef target_uint target_gid_t;
+typedef abi_uint target_uid_t;
+typedef abi_uint target_gid_t;
#endif
-typedef target_int target_pid_t;
+typedef abi_int target_pid_t;
#ifdef TARGET_I386
@@ -2109,9 +2109,9 @@ struct memelfnote {
};
struct target_elf_siginfo {
- target_int si_signo; /* signal number */
- target_int si_code; /* extra code */
- target_int si_errno; /* errno */
+ abi_int si_signo; /* signal number */
+ abi_int si_code; /* extra code */
+ abi_int si_errno; /* errno */
};
struct target_elf_prstatus {
@@ -2128,7 +2128,7 @@ struct target_elf_prstatus {
struct target_timeval pr_cutime; /* XXX Cumulative user time */
struct target_timeval pr_cstime; /* XXX Cumulative system time */
target_elf_gregset_t pr_reg; /* GP registers */
- target_int pr_fpvalid; /* XXX */
+ abi_int pr_fpvalid; /* XXX */
};
#define ELF_PRARGSZ (80) /* Number of chars for args */
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 07/13] elfload: only give abi_long/ulong the alignment specified by the target
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (5 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 06/13] elfload: use abi_int/uint instead of target_int/uint Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 08/13] elfload: use abi_llong/ullong instead of target_llong/ullong Paolo Bonzini
` (7 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Previously, this was done for target_long/ulong, and propagated to
abi_long/ulong via a typedef. But target_long/ulong should not
have any specific alignment, it is never used to access guest
memory.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 9 ---------
include/exec/cpu-defs.h | 8 ++++----
include/exec/user/abitypes.h | 20 ++++++++++++++------
3 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/configure b/configure
index 9d29f57..1554e5b 100755
--- a/configure
+++ b/configure
@@ -4131,7 +4131,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_long_alignment=4
target_llong_alignment=8
target_libs_softmmu=
@@ -4144,10 +4143,8 @@ case "$target_arch2" in
;;
x86_64)
TARGET_BASE_ARCH=i386
- target_long_alignment=8
;;
alpha)
- target_long_alignment=8
target_nptl="yes"
;;
arm|armeb)
@@ -4166,7 +4163,6 @@ case "$target_arch2" in
m68k)
bflt="yes"
gdb_xml_files="cf-core.xml cf-fp.xml"
- target_long_alignment=2
target_llong_alignment=2
;;
microblaze|microblazeel)
@@ -4189,7 +4185,6 @@ case "$target_arch2" in
TARGET_ARCH=mips64
TARGET_BASE_ARCH=mips
echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
- target_long_alignment=8
;;
moxie)
;;
@@ -4211,7 +4206,6 @@ case "$target_arch2" in
TARGET_BASE_ARCH=ppc
TARGET_ABI_DIR=ppc
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
- target_long_alignment=8
;;
ppc64abi32)
TARGET_ARCH=ppc64
@@ -4229,7 +4223,6 @@ case "$target_arch2" in
;;
sparc64)
TARGET_BASE_ARCH=sparc
- target_long_alignment=8
;;
sparc32plus)
TARGET_ARCH=sparc64
@@ -4239,7 +4232,6 @@ case "$target_arch2" in
;;
s390x)
target_nptl="yes"
- target_long_alignment=8
;;
unicore32)
;;
@@ -4270,7 +4262,6 @@ case "$cpu" in
;;
esac
-echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
target_arch_name="`upper $TARGET_ARCH`"
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 2aa9331..3cf1272 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -40,14 +40,14 @@ typedef int64_t target_llong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
typedef uint64_t target_ullong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
/* target_ulong is the type of a virtual address */
#if TARGET_LONG_SIZE == 4
-typedef int32_t target_long __attribute__((aligned(TARGET_LONG_ALIGNMENT)));
-typedef uint32_t target_ulong __attribute__((aligned(TARGET_LONG_ALIGNMENT)));
+typedef int32_t target_long;
+typedef uint32_t target_ulong;
#define TARGET_FMT_lx "%08x"
#define TARGET_FMT_ld "%d"
#define TARGET_FMT_lu "%u"
#elif TARGET_LONG_SIZE == 8
-typedef int64_t target_long __attribute__((aligned(TARGET_LONG_ALIGNMENT)));
-typedef uint64_t target_ulong __attribute__((aligned(TARGET_LONG_ALIGNMENT)));
+typedef int64_t target_long;
+typedef uint64_t target_ulong;
#define TARGET_FMT_lx "%016" PRIx64
#define TARGET_FMT_ld "%" PRId64
#define TARGET_FMT_lu "%" PRIu64
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 4f3e804..4b04f6d 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -2,8 +2,15 @@
#define QEMU_TYPES_H
#include "cpu.h"
+#ifdef TARGET_ABI32
+#define TARGET_ABI_BITS 32
+#else
+#define TARGET_ABI_BITS TARGET_LONG_BITS
+#endif
+
#ifdef TARGET_M68K
#define ABI_INT_ALIGNMENT 2
+#define ABI_LONG_ALIGNMENT 2
#endif
#ifndef ABI_SHORT_ALIGNMENT
@@ -12,6 +19,9 @@
#ifndef ABI_INT_ALIGNMENT
#define ABI_INT_ALIGNMENT 4
#endif
+#ifndef ABI_LONG_ALIGNMENT
+#define ABI_LONG_ALIGNMENT (TARGET_ABI_BITS / 8)
+#endif
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
typedef uint16_t abi_ushort __attribute__((aligned(ABI_SHORT_ALIGNMENT)));
@@ -19,12 +29,11 @@ typedef int32_t abi_int __attribute__((aligned(ABI_INT_ALIGNMENT)));
typedef uint32_t abi_uint __attribute__((aligned(ABI_INT_ALIGNMENT)));
#ifdef TARGET_ABI32
-typedef uint32_t abi_ulong;
-typedef int32_t abi_long;
+typedef uint32_t abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
+typedef int32_t abi_long __attribute__((aligned(ABI_LONG_ALIGNMENT)));
#define TARGET_ABI_FMT_lx "%08x"
#define TARGET_ABI_FMT_ld "%d"
#define TARGET_ABI_FMT_lu "%u"
-#define TARGET_ABI_BITS 32
static inline abi_ulong tswapal(abi_ulong v)
{
@@ -32,12 +41,11 @@ static inline abi_ulong tswapal(abi_ulong v)
}
#else
-typedef target_ulong abi_ulong;
-typedef target_long abi_long;
+typedef target_ulong abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
+typedef target_long abi_long __attribute__((aligned(ABI_LONG_ALIGNMENT)));
#define TARGET_ABI_FMT_lx TARGET_FMT_lx
#define TARGET_ABI_FMT_ld TARGET_FMT_ld
#define TARGET_ABI_FMT_lu TARGET_FMT_lu
-#define TARGET_ABI_BITS TARGET_LONG_BITS
/* for consistency, define ABI32 too */
#if TARGET_ABI_BITS == 32
#define TARGET_ABI32 1
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 08/13] elfload: use abi_llong/ullong instead of target_llong/ullong
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (6 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 07/13] elfload: only give abi_long/ulong the alignment specified by the target Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 09/13] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Paolo Bonzini
` (6 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 4 ----
include/exec/cpu-defs.h | 2 --
include/exec/user/abitypes.h | 10 ++++++++++
linux-user/elfload.c | 4 ++--
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
index 1554e5b..f4bfa14 100755
--- a/configure
+++ b/configure
@@ -4131,7 +4131,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_llong_alignment=8
target_libs_softmmu=
TARGET_ARCH="$target_arch2"
@@ -4152,7 +4151,6 @@ case "$target_arch2" in
bflt="yes"
target_nptl="yes"
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
- target_llong_alignment=4
;;
cris)
target_nptl="yes"
@@ -4163,7 +4161,6 @@ case "$target_arch2" in
m68k)
bflt="yes"
gdb_xml_files="cf-core.xml cf-fp.xml"
- target_llong_alignment=2
;;
microblaze|microblazeel)
TARGET_ARCH=microblaze
@@ -4262,7 +4259,6 @@ case "$cpu" in
;;
esac
-echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
target_arch_name="`upper $TARGET_ARCH`"
echo "TARGET_$target_arch_name=y" >> $config_target_mak
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 3cf1272..d8c64e9 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -36,8 +36,6 @@
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
-typedef int64_t target_llong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
-typedef uint64_t target_ullong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
/* target_ulong is the type of a virtual address */
#if TARGET_LONG_SIZE == 4
typedef int32_t target_long;
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 4b04f6d..008501b 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -11,6 +11,11 @@
#ifdef TARGET_M68K
#define ABI_INT_ALIGNMENT 2
#define ABI_LONG_ALIGNMENT 2
+#define ABI_LLONG_ALIGNMENT 2
+#endif
+
+#ifdef TARGET_ARM
+#define ABI_LLONG_ALIGNMENT 4
#endif
#ifndef ABI_SHORT_ALIGNMENT
@@ -22,11 +27,16 @@
#ifndef ABI_LONG_ALIGNMENT
#define ABI_LONG_ALIGNMENT (TARGET_ABI_BITS / 8)
#endif
+#ifndef ABI_LLONG_ALIGNMENT
+#define ABI_LLONG_ALIGNMENT 8
+#endif
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
typedef uint16_t abi_ushort __attribute__((aligned(ABI_SHORT_ALIGNMENT)));
typedef int32_t abi_int __attribute__((aligned(ABI_INT_ALIGNMENT)));
typedef uint32_t abi_uint __attribute__((aligned(ABI_INT_ALIGNMENT)));
+typedef int64_t abi_llong __attribute__((aligned(ABI_LLONG_ALIGNMENT)));
+typedef uint64_t abi_ullong __attribute__((aligned(ABI_LLONG_ALIGNMENT)));
#ifdef TARGET_ABI32
typedef uint32_t abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 14a8ecf..979b57c 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -102,8 +102,8 @@ enum {
#endif
#ifdef TARGET_ABI_MIPSN32
-typedef target_ulong target_elf_greg_t;
-#define tswapreg(ptr) tswapl(ptr)
+typedef abi_ullong target_elf_greg_t;
+#define tswapreg(ptr) tswap64(ptr)
#else
typedef abi_ulong target_elf_greg_t;
#define tswapreg(ptr) tswapal(ptr)
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 09/13] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (7 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 08/13] elfload: use abi_llong/ullong instead of target_llong/ullong Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 10/13] configure: move common libraries " Paolo Bonzini
` (5 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index f4bfa14..1495214 100755
--- a/configure
+++ b/configure
@@ -3587,6 +3587,15 @@ echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak
echo "ARCH=$ARCH" >> $config_host_mak
+
+case "$cpu" in
+ i386|x86_64|ppc)
+ # The TCG interpreter currently does not support ld/st optimization.
+ if test "$tcg_interpreter" = "no" ; then
+ echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_host_mak
+ fi
+ ;;
+esac
if test "$debug_tcg" = "yes" ; then
echo "CONFIG_DEBUG_TCG=y" >> $config_host_mak
fi
@@ -4250,15 +4259,6 @@ upper() {
echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]'
}
-case "$cpu" in
- i386|x86_64|ppc)
- # The TCG interpreter currently does not support ld/st optimization.
- if test "$tcg_interpreter" = "no" ; then
- echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_target_mak
- fi
- ;;
-esac
-
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
target_arch_name="`upper $TARGET_ARCH`"
echo "TARGET_$target_arch_name=y" >> $config_target_mak
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 10/13] configure: move common libraries to config-host.mak
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (8 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 09/13] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 11/13] configure: eliminate target_libs_softmmu Paolo Bonzini
` (4 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Move -lm to the end of the line, so that it can be picked up as a
dependency by pixman in the static build case.
Reviewed-by: Peter Maydell <peter.maydell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile.target | 10 +++++-----
configure | 4 +++-
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 2bd6d14..2636103 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -31,10 +31,6 @@ PROGS+=$(QEMU_PROGW)
endif
STPFILES=
-ifndef CONFIG_HAIKU
-LIBS+=-lm
-endif
-
config-target.h: config-target.h-timestamp
config-target.h-timestamp: config-target.mak
@@ -119,7 +115,7 @@ obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o
obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
obj-$(CONFIG_NO_GET_MEMORY_MAPPING) += memory_mapping-stub.o
obj-$(CONFIG_NO_CORE_DUMP) += dump-stub.o
-LIBS+=-lz
+LIBS+=$(libs_softmmu)
# xen support
obj-$(CONFIG_XEN) += xen-all.o xen-mapcache.o
@@ -149,6 +145,10 @@ include $(SRC_PATH)/Makefile.objs
all-obj-y = $(obj-y)
all-obj-y += $(addprefix ../, $(common-obj-y))
+ifndef CONFIG_HAIKU
+LIBS+=-lm
+endif
+
ifdef QEMU_PROGW
# The linker builds a windows executable. Make also a console executable.
$(QEMU_PROGW): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
diff --git a/configure b/configure
index 1495214..35f90e3 100755
--- a/configure
+++ b/configure
@@ -1464,6 +1464,7 @@ EOF
"Make sure to have the zlib libs and headers installed."
fi
fi
+libs_softmmu="$libs_softmmu -lz"
##########################################
# libseccomp check
@@ -3585,6 +3586,7 @@ echo "qemu_helperdir=$libexecdir" >> $config_host_mak
echo "extra_cflags=$EXTRA_CFLAGS" >> $config_host_mak
echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak
+echo "libs_softmmu=$libs_softmmu" >> $config_host_mak
echo "ARCH=$ARCH" >> $config_host_mak
@@ -4309,7 +4311,7 @@ if test "$target_bigendian" = "yes" ; then
fi
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_SOFTMMU=y" >> $config_target_mak
- echo "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak
+ echo "LIBS+=$target_libs_softmmu" >> $config_target_mak
case "$target_arch2" in
i386|x86_64)
echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 11/13] configure: eliminate target_libs_softmmu
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (9 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 10/13] configure: move common libraries " Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 12/13] configure: CONFIG_NO_XEN is duplicated Paolo Bonzini
` (3 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 4 +---
default-configs/lm32-softmmu.mak | 1 +
hw/display/Makefile.objs | 5 +++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index 35f90e3..6e775aa 100755
--- a/configure
+++ b/configure
@@ -3869,6 +3869,7 @@ fi
if test "$glx" = "yes" ; then
echo "CONFIG_GLX=y" >> $config_host_mak
+ echo "GLX_LIBS=$glx_libs" >> $config_host_mak
fi
if test "$libiscsi" = "yes" ; then
@@ -4142,7 +4143,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_libs_softmmu=
TARGET_ARCH="$target_arch2"
TARGET_BASE_ARCH=""
@@ -4167,7 +4167,6 @@ case "$target_arch2" in
target_nptl="yes"
;;
lm32)
- target_libs_softmmu="$glx_libs"
;;
m68k)
bflt="yes"
@@ -4311,7 +4310,6 @@ if test "$target_bigendian" = "yes" ; then
fi
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_SOFTMMU=y" >> $config_target_mak
- echo "LIBS+=$target_libs_softmmu" >> $config_target_mak
case "$target_arch2" in
i386|x86_64)
echo "CONFIG_HAVE_CORE_DUMP=y" >> $config_target_mak
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmmu.mak
index ef0f4ba..7df58c8 100644
--- a/default-configs/lm32-softmmu.mak
+++ b/default-configs/lm32-softmmu.mak
@@ -2,6 +2,7 @@
CONFIG_LM32=y
CONFIG_MILKYMIST=y
+CONFIG_MILKYMIST_TMU2=$(CONFIG_GLX)
CONFIG_FRAMEBUFFER=y
CONFIG_PTIMER=y
CONFIG_PFLASH_CFI01=y
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 3f7027d..6e9fb3b 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -18,8 +18,9 @@ common-obj-$(CONFIG_FRAMEBUFFER) += framebuffer.o
common-obj-$(CONFIG_MILKYMIST) += milkymist-vgafb.o
common-obj-$(CONFIG_ZAURUS) += tc6393xb.o
-ifeq ($(CONFIG_GLX),y)
-common-obj-$(CONFIG_MILKYMIST) += milkymist-tmu2.o
+ifeq ($(CONFIG_MILKYMIST_TMU2),y)
+common-obj-y += milkymist-tmu2.o
+libs_softmmu += $(GLX_LIBS)
endif
obj-$(CONFIG_OMAP) += omap_dss.o
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 12/13] configure: CONFIG_NO_XEN is duplicated
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (10 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 11/13] configure: eliminate target_libs_softmmu Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 13/13] configure: remove duplicate test Paolo Bonzini
` (2 subsequent siblings)
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
We already define it in Makefile.target. But we need to avoid a
curious double negation in order to eliminate it.
Tested-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 3 ---
include/hw/xen/xen.h | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/configure b/configure
index 6e775aa..78afded 100755
--- a/configure
+++ b/configure
@@ -4277,12 +4277,9 @@ case "$target_arch2" in
if test "$xen_pci_passthrough" = yes; then
echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
fi
- else
- echo "CONFIG_NO_XEN=y" >> $config_target_mak
fi
;;
*)
- echo "CONFIG_NO_XEN=y" >> $config_target_mak
esac
case "$target_arch2" in
arm|i386|x86_64|ppcemb|ppc|ppc64|s390x)
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 6235f91..7451c5a 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -25,7 +25,7 @@ extern bool xen_allowed;
static inline bool xen_enabled(void)
{
-#if defined(CONFIG_XEN_BACKEND) && !defined(CONFIG_NO_XEN)
+#if defined(CONFIG_XEN_BACKEND) && defined(CONFIG_XEN)
return xen_allowed;
#else
return 0;
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PATCH 13/13] configure: remove duplicate test
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (11 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 12/13] configure: CONFIG_NO_XEN is duplicated Paolo Bonzini
@ 2013-04-17 14:26 ` Paolo Bonzini
2013-04-18 14:49 ` [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Edgar E. Iglesias
2013-04-18 14:58 ` Riku Voipio
14 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-17 14:26 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, edgar.iglesias
We already had a test to add -march=i486 when needed. Make the
existing test independent of vhost-net, so that it is also used
under Win32.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 56 ++++++++++++++++++++++++++------------------------------
1 file changed, 26 insertions(+), 30 deletions(-)
diff --git a/configure b/configure
index 78afded..9525bd7 100755
--- a/configure
+++ b/configure
@@ -574,11 +574,6 @@ if test "$mingw32" = "yes" ; then
QEMU_CFLAGS="-DWIN32_LEAN_AND_MEAN -DWINVER=0x501 $QEMU_CFLAGS"
# enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later)
QEMU_CFLAGS="-D__USE_MINGW_ANSI_STDIO=1 $QEMU_CFLAGS"
- if test "$cpu" = "i386"; then
- # We need something better than i386 for __sync_val_compare_and_swap
- # and can expect that QEMU will only run on i686 or later.
- QEMU_CFLAGS="-march=i686 $QEMU_CFLAGS"
- fi
LIBS="-lwinmm -lws2_32 -liphlpapi $LIBS"
cat > $TMPC << EOF
int main(void) { return 0; }
@@ -1323,9 +1318,33 @@ EOF
fi
fi
-#
+##########################################
+# __sync_fetch_and_and requires at least -march=i486. Many toolchains
+# use i686 as default anyway, but for those that don't, an explicit
+# specification is necessary
+
+if test "$cpu" = "i386"; then
+ cat > $TMPC << EOF
+static int sfaa(int *ptr)
+{
+ return __sync_fetch_and_and(ptr, 0);
+}
+
+int main(void)
+{
+ int val = 42;
+ sfaa(&val);
+ return val;
+}
+EOF
+ if ! compile_prog "" "" ; then
+ QEMU_CFLAGS="-march=i486 $QEMU_CFLAGS"
+ fi
+fi
+
+#########################################
# Solaris specific configure tool chain decisions
-#
+
if test "$solaris" = "yes" ; then
if has $install; then
:
@@ -3149,29 +3168,6 @@ if test "$trace_backend" = "dtrace"; then
fi
##########################################
-# __sync_fetch_and_and requires at least -march=i486. Many toolchains
-# use i686 as default anyway, but for those that don't, an explicit
-# specification is necessary
-if test "$vhost_net" = "yes" && test "$cpu" = "i386"; then
- cat > $TMPC << EOF
-static int sfaa(int *ptr)
-{
- return __sync_fetch_and_and(ptr, 0);
-}
-
-int main(void)
-{
- int val = 42;
- sfaa(&val);
- return val;
-}
-EOF
- if ! compile_prog "" "" ; then
- QEMU_CFLAGS="-march=i486 $QEMU_CFLAGS"
- fi
-fi
-
-##########################################
# check and set a backend for coroutine
# We prefer ucontext, but it's not always possible. The fallback
--
1.8.1.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (12 preceding siblings ...)
2013-04-17 14:26 ` [Qemu-devel] [PATCH 13/13] configure: remove duplicate test Paolo Bonzini
@ 2013-04-18 14:49 ` Edgar E. Iglesias
2013-04-18 14:58 ` Riku Voipio
14 siblings, 0 replies; 17+ messages in thread
From: Edgar E. Iglesias @ 2013-04-18 14:49 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: peter.maydell, qemu-devel
On Wed, Apr 17, 2013 at 04:26:34PM +0200, Paolo Bonzini wrote:
> This series expands on the one I sent yesterday, but also fixes some
> confusion between target (CPU) and ABI types in linux-user/elfload.c.
>
> target_short/int/llong and the corresponding unsigned types are renamed
> to abi_short/int/llong, and TARGET_*_ALIGNMENT is similarly renamed to
> ABI_*_ALIGNMENT. target_long/ulong, which identify the register width
> in the CPU, do not have special alignment anymore. Core dumps are
> changed to use the new types, with fixes to include the full 64-bit
> contents of mipsn32 registers.
Applied all, thanks Paolo.
> Paolo Bonzini (13):
> configure: QEMU_INCLUDES are the same for all subtargets
> elfload: fix size of ABI-dependent fields in core dumps
> elfload: fix size of registers for N32
> elfload: use tswapreg consistently in elf_core_copy_regs
> elfload: use abi_short/ushort instead of target_short/ushort
> elfload: use abi_int/uint instead of target_int/uint
> elfload: only give abi_long/ulong the alignment specified by the target
> elfload: use abi_llong/ullong instead of target_llong/ullong
> configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
> configure: move common libraries to config-host.mak
> configure: eliminate target_libs_softmmu
> configure: CONFIG_NO_XEN is duplicated
> configure: remove duplicate test
>
> Makefile.target | 10 +--
> configure | 129 ++++++++++++-----------------
> default-configs/lm32-softmmu.mak | 1 +
> hw/display/Makefile.objs | 5 +-
> include/exec/cpu-defs.h | 14 +---
> include/exec/user/abitypes.h | 46 ++++++++--
> include/hw/xen/xen.h | 2 +-
> linux-user/elfload.c | 175 ++++++++++++++++++++-------------------
> 8 files changed, 196 insertions(+), 186 deletions(-)
>
> --
> 1.8.1.4
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
` (13 preceding siblings ...)
2013-04-18 14:49 ` [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Edgar E. Iglesias
@ 2013-04-18 14:58 ` Riku Voipio
2013-04-18 19:39 ` Paolo Bonzini
14 siblings, 1 reply; 17+ messages in thread
From: Riku Voipio @ 2013-04-18 14:58 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: peter.maydell, qemu-devel, edgar.iglesias
On Wed, Apr 17, 2013 at 04:26:34PM +0200, Paolo Bonzini wrote:
> This series expands on the one I sent yesterday, but also fixes some
> confusion between target (CPU) and ABI types in linux-user/elfload.c.
I'm ok with the linux-user/ parts, you can send this set directly.
> target_short/int/llong and the corresponding unsigned types are renamed
> to abi_short/int/llong, and TARGET_*_ALIGNMENT is similarly renamed to
> ABI_*_ALIGNMENT. target_long/ulong, which identify the register width
> in the CPU, do not have special alignment anymore. Core dumps are
> changed to use the new types, with fixes to include the full 64-bit
> contents of mipsn32 registers.
What you using as the mipsn32 target distribution to test on?
> Paolo Bonzini (13):
> configure: QEMU_INCLUDES are the same for all subtargets
> elfload: fix size of ABI-dependent fields in core dumps
> elfload: fix size of registers for N32
> elfload: use tswapreg consistently in elf_core_copy_regs
> elfload: use abi_short/ushort instead of target_short/ushort
> elfload: use abi_int/uint instead of target_int/uint
> elfload: only give abi_long/ulong the alignment specified by the target
> elfload: use abi_llong/ullong instead of target_llong/ullong
> configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak
> configure: move common libraries to config-host.mak
> configure: eliminate target_libs_softmmu
> configure: CONFIG_NO_XEN is duplicated
> configure: remove duplicate test
>
> Makefile.target | 10 +--
> configure | 129 ++++++++++++-----------------
> default-configs/lm32-softmmu.mak | 1 +
> hw/display/Makefile.objs | 5 +-
> include/exec/cpu-defs.h | 14 +---
> include/exec/user/abitypes.h | 46 ++++++++--
> include/hw/xen/xen.h | 2 +-
> linux-user/elfload.c | 175 ++++++++++++++++++++-------------------
> 8 files changed, 196 insertions(+), 186 deletions(-)
>
> --
> 1.8.1.4
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming
2013-04-18 14:58 ` Riku Voipio
@ 2013-04-18 19:39 ` Paolo Bonzini
0 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2013-04-18 19:39 UTC (permalink / raw)
To: Riku Voipio; +Cc: peter.maydell, qemu-devel, edgar.iglesias
Il 18/04/2013 16:58, Riku Voipio ha scritto:
>> > target_short/int/llong and the corresponding unsigned types are renamed
>> > to abi_short/int/llong, and TARGET_*_ALIGNMENT is similarly renamed to
>> > ABI_*_ALIGNMENT. target_long/ulong, which identify the register width
>> > in the CPU, do not have special alignment anymore. Core dumps are
>> > changed to use the new types, with fixes to include the full 64-bit
>> > contents of mipsn32 registers.
> What you using as the mipsn32 target distribution to test on?
I was just checking against the Linux kernel source code.
Paolo
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2013-04-18 19:43 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-17 14:26 [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 03/13] elfload: fix size of registers for N32 Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 04/13] elfload: use tswapreg consistently in elf_core_copy_regs Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 05/13] elfload: use abi_short/ushort instead of target_short/ushort Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 06/13] elfload: use abi_int/uint instead of target_int/uint Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 07/13] elfload: only give abi_long/ulong the alignment specified by the target Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 08/13] elfload: use abi_llong/ullong instead of target_llong/ullong Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 09/13] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 10/13] configure: move common libraries " Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 11/13] configure: eliminate target_libs_softmmu Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 12/13] configure: CONFIG_NO_XEN is duplicated Paolo Bonzini
2013-04-17 14:26 ` [Qemu-devel] [PATCH 13/13] configure: remove duplicate test Paolo Bonzini
2013-04-18 14:49 ` [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Edgar E. Iglesias
2013-04-18 14:58 ` Riku Voipio
2013-04-18 19:39 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).