From: Peter Crosthwaite <crosthwaitepeter@gmail.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org,
Peter Crosthwaite <crosthwaite.peter@gmail.com>,
edgar.iglesias@gmail.com, pbonzini@redhat.com, afaerber@suse.de,
rth@twiddle.net
Subject: [Qemu-devel] [PATCH v3 20/35] Makefile.target: Introduce arch-obj
Date: Sat, 18 Jul 2015 02:40:30 -0700 [thread overview]
Message-ID: <86f43fc5800c8f18c03d0ee8f26de440bac4f9fb.1437212383.git.crosthwaite.peter@gmail.com> (raw)
In-Reply-To: <cover.1437212383.git.crosthwaite.peter@gmail.com>
In-Reply-To: <cover.1437212383.git.crosthwaite.peter@gmail.com>
Add a new *obj- category, arch-obj. arch-obj-y will be a subset of the
existing obj-y. The difference, is arch-obj components are usable by
multi-arch builds. That is, following the single-arch target builds, the
already-built arch_obj components for multiple targets can be linked
together to form a multi-arch build that supports multi CPU archs.
Such a link is likely to have high numbers of namespace collisions. So
if the target arch supports multi-arch build, localise all symbols to a
single pre-linked object. The object does not need to export any APIs,
as all APIs are made available via QOM CPU hooks.
This forms a prerequisite for multi-arch support that there is no
definitions of symbols by arch-obj for use by core code.
target-foo is converted to arch-obj. But some CPUs may still need to
export APIs to device land (hw/). An example of this is the ARM
co-processor register interface. Such fns can be split off to new C
files in target-foo/hw dir where they remain obj-y for global
visibility. This creates a clearer separation of which
functions are system global and which are private to the CPU.
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
Changed since RFCv2
Convert all arches to arch-obj straight up.
Remove CONFIG_ARCH_SINGLE
---
Makefile.target | 35 +++++++++++++++++++++++++++++------
target-alpha/Makefile.objs | 8 ++++----
target-cris/Makefile.objs | 6 +++---
target-i386/Makefile.objs | 14 +++++++-------
target-lm32/Makefile.objs | 8 ++++----
target-m68k/Makefile.objs | 6 +++---
target-mips/Makefile.objs | 8 ++++----
target-moxie/Makefile.objs | 4 ++--
target-openrisc/Makefile.objs | 8 ++++----
target-ppc/Makefile.objs | 30 +++++++++++++++---------------
target-s390x/Makefile.objs | 10 +++++-----
target-sh4/Makefile.objs | 4 ++--
target-sparc/Makefile.objs | 14 +++++++-------
target-tricore/Makefile.objs | 2 +-
target-unicore32/Makefile.objs | 6 +++---
target-xtensa/Makefile.objs | 12 ++++++------
16 files changed, 99 insertions(+), 76 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 6186f03..31eda57 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -13,6 +13,12 @@ QEMU_CFLAGS += -I../linux-headers
endif
QEMU_CFLAGS += -I.. -I$(SRC_PATH)/target-$(TARGET_BASE_ARCH) -DNEED_CPU_H
+ifeq ($(TARGET_BASE_ARCH), multi)
+ARCH_DIRS=$(MULTI_BASE_TARGETS)
+else
+ARCH_DIRS=$(TARGET_BASE_ARCH)
+endif
+
QEMU_CFLAGS+=-I$(SRC_PATH)/include
ifdef CONFIG_USER_ONLY
@@ -84,15 +90,18 @@ all: $(PROGS) stap
#########################################################
# cpu emulator library
-obj-y = exec.o translate-all.o cpu-exec.o
+obj-y += exec.o
+arch-obj-$(call lnot,$(TARGET_MULTI)) += translate-all.o
obj-y += translate-common.o
+arch-obj-$(call lnot,$(TARGET_MULTI)) += cpu-exec.o
obj-y += cpu-exec-common.o
-obj-y += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o
-obj-$(CONFIG_TCG_INTERPRETER) += tci.o
+arch-obj-$(call lnot,$(TARGET_MULTI)) += tcg/tcg.o tcg/tcg-op.o tcg/optimize.o
+arch-obj-$(call land,$(CONFIG_TCG_INTERPRETER),$(call lnot,$(TARGET_MULTI))) += tci.o
obj-y += tcg/tcg-common.o
obj-$(CONFIG_TCG_INTERPRETER) += disas/tci.o
obj-y += fpu/softfloat.o
-obj-y += target-$(TARGET_BASE_ARCH)/
+arch-obj-y += target-$(TARGET_BASE_ARCH)/
+obj-y += $(foreach a, $(ARCH_DIRS), target-$(a)/hw/)
obj-y += disas.o
obj-$(call notempty,$(TARGET_XML_FILES)) += gdbstub-xml.o
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
@@ -135,7 +144,8 @@ obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o numa.o
obj-y += qtest.o bootdevice.o
obj-y += hw/
obj-$(CONFIG_KVM) += kvm-all.o
-obj-y += memory.o cputlb.o
+obj-y += memory.o
+arch-obj-$(call lnot,$(TARGET_MULTI)) += cputlb.o
obj-y += memory_mapping.o
obj-y += dump.o
obj-y += migration/ram.o migration/savevm.o
@@ -151,7 +161,7 @@ obj-$(call lnot,$(CONFIG_XEN_I386)) += xen-hvm-stub.o
ifeq ($(TARGET_NAME), sparc64)
obj-y += hw/sparc64/
else
-obj-y += hw/$(TARGET_BASE_ARCH)/
+obj-y += $(foreach a, $(ARCH_DIRS), hw/$(a)/)
endif
GENERATED_HEADERS += hmp-commands.h qmp-commands-old.h
@@ -162,6 +172,17 @@ endif # CONFIG_SOFTMMU
%/translate.o: QEMU_CFLAGS += $(TRANSLATE_OPT_CFLAGS)
dummy := $(call unnest-vars,,obj-y)
+dummy := $(call unnest-vars,,arch-obj-y)
+
+arch-obj.o: $(arch-obj-y)
+ $(call quiet-command,$(LD) $(filter-out %.mak, $^) -r -o $@,"LINK $@")
+ $(call quiet-command,$(OBJCOPY) -w -L "*" $@,"OBJCOPY $@")
+
+.PHONY: .FORCE
+
+%/arch-obj.o: .FORCE
+ $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" arch-obj.o,)
+
all-obj-y := $(obj-y)
target-obj-y :=
@@ -178,6 +199,8 @@ dummy := $(call unnest-vars,.., \
target-obj-y := $(target-obj-y-save)
all-obj-y += $(common-obj-y)
all-obj-y += $(target-obj-y)
+all-obj-y += $(arch-obj-y)
+all-obj-y += $(foreach a, $(MULTI_TARGETS), ../$(a)/arch-obj.o)
all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y)
$(QEMU_PROG_BUILD): config-devices.mak
diff --git a/target-alpha/Makefile.objs b/target-alpha/Makefile.objs
index 6366462..f519282 100644
--- a/target-alpha/Makefile.objs
+++ b/target-alpha/Makefile.objs
@@ -1,4 +1,4 @@
-obj-$(CONFIG_SOFTMMU) += machine.o
-obj-y += translate.o helper.o cpu.o
-obj-y += int_helper.o fpu_helper.o vax_helper.o sys_helper.o mem_helper.o
-obj-y += gdbstub.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o
+arch-obj-y += translate.o helper.o cpu.o
+arch-obj-y += int_helper.o fpu_helper.o vax_helper.o sys_helper.o mem_helper.o
+arch-obj-y += gdbstub.o
diff --git a/target-cris/Makefile.objs b/target-cris/Makefile.objs
index 7779227..f17aef6 100644
--- a/target-cris/Makefile.objs
+++ b/target-cris/Makefile.objs
@@ -1,3 +1,3 @@
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += gdbstub.o
-obj-$(CONFIG_SOFTMMU) += mmu.o machine.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o
+arch-obj-$(CONFIG_SOFTMMU) += mmu.o machine.o
diff --git a/target-i386/Makefile.objs b/target-i386/Makefile.objs
index 7a1df2c..a1bc199 100644
--- a/target-i386/Makefile.objs
+++ b/target-i386/Makefile.objs
@@ -1,7 +1,7 @@
-obj-y += translate.o helper.o cpu.o
-obj-y += excp_helper.o fpu_helper.o cc_helper.o int_helper.o svm_helper.o
-obj-y += smm_helper.o misc_helper.o mem_helper.o seg_helper.o
-obj-y += gdbstub.o
-obj-$(CONFIG_SOFTMMU) += machine.o arch_memory_mapping.o arch_dump.o
-obj-$(CONFIG_KVM) += kvm.o
-obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
+arch-obj-y += translate.o helper.o cpu.o
+arch-obj-y += excp_helper.o fpu_helper.o cc_helper.o int_helper.o svm_helper.o
+arch-obj-y += smm_helper.o misc_helper.o mem_helper.o seg_helper.o
+arch-obj-y += gdbstub.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o arch_memory_mapping.o arch_dump.o
+arch-obj-$(CONFIG_KVM) += kvm.o
+arch-obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
diff --git a/target-lm32/Makefile.objs b/target-lm32/Makefile.objs
index c3e1bd6..822d49d 100644
--- a/target-lm32/Makefile.objs
+++ b/target-lm32/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += gdbstub.o
-obj-y += lm32-semi.o
-obj-$(CONFIG_SOFTMMU) += machine.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o
+arch-obj-y += lm32-semi.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o
diff --git a/target-m68k/Makefile.objs b/target-m68k/Makefile.objs
index 02cf616..46e9348 100644
--- a/target-m68k/Makefile.objs
+++ b/target-m68k/Makefile.objs
@@ -1,3 +1,3 @@
-obj-y += m68k-semi.o
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += gdbstub.o
+arch-obj-y += m68k-semi.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o
diff --git a/target-mips/Makefile.objs b/target-mips/Makefile.objs
index bc5ed85..d22bc8f 100644
--- a/target-mips/Makefile.objs
+++ b/target-mips/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += translate.o dsp_helper.o op_helper.o lmi_helper.o helper.o cpu.o
-obj-y += gdbstub.o msa_helper.o mips-semi.o
-obj-$(CONFIG_SOFTMMU) += machine.o
-obj-$(CONFIG_KVM) += kvm.o
+arch-obj-y += translate.o dsp_helper.o op_helper.o lmi_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o msa_helper.o mips-semi.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o
+arch-obj-$(CONFIG_KVM) += kvm.o
diff --git a/target-moxie/Makefile.objs b/target-moxie/Makefile.objs
index 6381d4d..852f884 100644
--- a/target-moxie/Makefile.objs
+++ b/target-moxie/Makefile.objs
@@ -1,2 +1,2 @@
-obj-y += translate.o helper.o machine.o cpu.o machine.o
-obj-$(CONFIG_SOFTMMU) += mmu.o
+arch-obj-y += translate.o helper.o machine.o cpu.o machine.o
+arch-obj-$(CONFIG_SOFTMMU) += mmu.o
diff --git a/target-openrisc/Makefile.objs b/target-openrisc/Makefile.objs
index 397d016..f2bd68b 100644
--- a/target-openrisc/Makefile.objs
+++ b/target-openrisc/Makefile.objs
@@ -1,5 +1,5 @@
-obj-$(CONFIG_SOFTMMU) += machine.o
-obj-y += cpu.o exception.o interrupt.o mmu.o translate.o
-obj-y += exception_helper.o fpu_helper.o int_helper.o \
+arch-obj-$(CONFIG_SOFTMMU) += machine.o
+arch-obj-y += cpu.o exception.o interrupt.o mmu.o translate.o
+arch-obj-y += exception_helper.o fpu_helper.o int_helper.o \
interrupt_helper.o mmu_helper.o sys_helper.o
-obj-y += gdbstub.o
+arch-obj-y += gdbstub.o
diff --git a/target-ppc/Makefile.objs b/target-ppc/Makefile.objs
index a7ae392..0dce1c1 100644
--- a/target-ppc/Makefile.objs
+++ b/target-ppc/Makefile.objs
@@ -1,17 +1,17 @@
-obj-y += cpu-models.o
-obj-y += translate.o
+arch-obj-y += cpu-models.o
+arch-obj-y += translate.o
ifeq ($(CONFIG_SOFTMMU),y)
-obj-y += machine.o mmu_helper.o mmu-hash32.o
-obj-$(TARGET_PPC64) += mmu-hash64.o arch_dump.o
+arch-obj-y += machine.o mmu_helper.o mmu-hash32.o
+arch-obj-$(TARGET_PPC64) += mmu-hash64.o arch_dump.o
endif
-obj-$(CONFIG_KVM) += kvm.o kvm_ppc.o
-obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
-obj-y += dfp_helper.o
-obj-y += excp_helper.o
-obj-y += fpu_helper.o
-obj-y += int_helper.o
-obj-y += timebase_helper.o
-obj-y += misc_helper.o
-obj-y += mem_helper.o
-obj-$(CONFIG_USER_ONLY) += user_only_helper.o
-obj-y += gdbstub.o
+arch-obj-$(CONFIG_KVM) += kvm.o kvm_ppc.o
+arch-obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
+arch-obj-y += dfp_helper.o
+arch-obj-y += excp_helper.o
+arch-obj-y += fpu_helper.o
+arch-obj-y += int_helper.o
+arch-obj-y += timebase_helper.o
+arch-obj-y += misc_helper.o
+arch-obj-y += mem_helper.o
+arch-obj-$(CONFIG_USER_ONLY) += user_only_helper.o
+arch-obj-y += gdbstub.o
diff --git a/target-s390x/Makefile.objs b/target-s390x/Makefile.objs
index dd62cbd..fc8a7a0 100644
--- a/target-s390x/Makefile.objs
+++ b/target-s390x/Makefile.objs
@@ -1,5 +1,5 @@
-obj-y += translate.o helper.o cpu.o interrupt.o
-obj-y += int_helper.o fpu_helper.o cc_helper.o mem_helper.o misc_helper.o
-obj-y += gdbstub.o
-obj-$(CONFIG_SOFTMMU) += machine.o ioinst.o arch_dump.o mmu_helper.o
-obj-$(CONFIG_KVM) += kvm.o
+arch-obj-y += translate.o helper.o cpu.o interrupt.o
+arch-obj-y += int_helper.o fpu_helper.o cc_helper.o mem_helper.o misc_helper.o
+arch-obj-y += gdbstub.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o ioinst.o arch_dump.o mmu_helper.o
+arch-obj-$(CONFIG_KVM) += kvm.o
diff --git a/target-sh4/Makefile.objs b/target-sh4/Makefile.objs
index a285358..487d48a 100644
--- a/target-sh4/Makefile.objs
+++ b/target-sh4/Makefile.objs
@@ -1,2 +1,2 @@
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += gdbstub.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o
diff --git a/target-sparc/Makefile.objs b/target-sparc/Makefile.objs
index 1cd81cc..574575f 100644
--- a/target-sparc/Makefile.objs
+++ b/target-sparc/Makefile.objs
@@ -1,7 +1,7 @@
-obj-$(CONFIG_SOFTMMU) += machine.o
-obj-y += translate.o helper.o cpu.o
-obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
-obj-$(TARGET_SPARC) += int32_helper.o
-obj-$(TARGET_SPARC64) += int64_helper.o
-obj-$(TARGET_SPARC64) += vis_helper.o
-obj-y += gdbstub.o
+arch-obj-$(CONFIG_SOFTMMU) += machine.o
+arch-obj-y += translate.o helper.o cpu.o
+arch-obj-y += fop_helper.o cc_helper.o win_helper.o mmu_helper.o ldst_helper.o
+arch-obj-$(TARGET_SPARC) += int32_helper.o
+arch-obj-$(TARGET_SPARC64) += int64_helper.o
+arch-obj-$(TARGET_SPARC64) += vis_helper.o
+arch-obj-y += gdbstub.o
diff --git a/target-tricore/Makefile.objs b/target-tricore/Makefile.objs
index 21e820d..6d876ce 100644
--- a/target-tricore/Makefile.objs
+++ b/target-tricore/Makefile.objs
@@ -1 +1 @@
-obj-y += translate.o helper.o cpu.o op_helper.o
+arch-obj-y += translate.o helper.o cpu.o op_helper.o
diff --git a/target-unicore32/Makefile.objs b/target-unicore32/Makefile.objs
index 6b41b1e..1f2c8e3 100644
--- a/target-unicore32/Makefile.objs
+++ b/target-unicore32/Makefile.objs
@@ -1,4 +1,4 @@
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += ucf64_helper.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += ucf64_helper.o
-obj-$(CONFIG_SOFTMMU) += softmmu.o
+arch-obj-$(CONFIG_SOFTMMU) += softmmu.o
diff --git a/target-xtensa/Makefile.objs b/target-xtensa/Makefile.objs
index 5c150a8..576573a 100644
--- a/target-xtensa/Makefile.objs
+++ b/target-xtensa/Makefile.objs
@@ -1,6 +1,6 @@
-obj-y += xtensa-semi.o
-obj-y += core-dc232b.o
-obj-y += core-dc233c.o
-obj-y += core-fsf.o
-obj-y += translate.o op_helper.o helper.o cpu.o
-obj-y += gdbstub.o
+arch-obj-y += xtensa-semi.o
+arch-obj-y += core-dc232b.o
+arch-obj-y += core-dc233c.o
+arch-obj-y += core-fsf.o
+arch-obj-y += translate.o op_helper.o helper.o cpu.o
+arch-obj-y += gdbstub.o
--
1.9.1
next prev parent reply other threads:[~2015-07-18 9:41 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-18 9:40 [Qemu-devel] [PATCH v3 00/35] Multi Architecture System Emulation Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 01/35] cpu-exec: Migrate some generic fns to cpu-exec-common Peter Crosthwaite
2015-07-18 12:44 ` Paolo Bonzini
2015-09-07 5:22 ` Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 02/35] translate: Listify tcg_exec_init() Peter Crosthwaite
2015-09-07 5:24 ` Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 03/35] translate-all: Move tcg_handle_interrupt() to -common Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 04/35] tcg: split tcg_op_defs " Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 05/35] tcg: Move tcg_tb_ptr " Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 06/35] translate: move real_host_page setting " Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 07/35] cpus: Listify cpu_list() function Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 08/35] translate-common: Listify tcg_enabled() Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 09/35] core: Convert tcg_enabled() users to tcg_(any|all)_enabled() Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 10/35] exec-all: Move cpu_can_do_io() to qom/cpu.h Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 11/35] cputlb: move CPU_LOOP() for tlb_reset() to exec.c Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 12/35] cputlb: Change tlb_set_dirty() arg to cpu Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 13/35] include/exec: Move cputlb exec.c defs out Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 14/35] cpu-common: Define tb_page_addr_t for everyone Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 15/35] include/exec: Split target_long def to new header Peter Crosthwaite
2015-07-18 12:16 ` Paolo Bonzini
2015-07-18 12:37 ` Paolo Bonzini
2015-07-18 15:37 ` Peter Crosthwaite
2015-07-18 16:01 ` Paolo Bonzini
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 16/35] cpu-defs: Allow multiple inclusions Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 17/35] monitor: uninclude cpu_ldst Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 18/35] target-*: Don't redefine cpu_exec() Peter Crosthwaite
2016-06-21 11:19 ` Paolo Bonzini
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 19/35] target-*: cpu.h: Undefine core code symbols Peter Crosthwaite
2015-07-18 9:40 ` Peter Crosthwaite [this message]
2015-07-18 12:23 ` [Qemu-devel] [PATCH v3 20/35] Makefile.target: Introduce arch-obj Paolo Bonzini
2015-07-18 12:29 ` Paolo Bonzini
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 21/35] core: virtualise CPU interfaces completely Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 22/35] core: Introduce multi-arch build Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 23/35] arm: cpu: static inline cpu_arm_init() Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 24/35] target-arm: Split cp helper API to new C file Peter Crosthwaite
2015-07-18 12:30 ` Paolo Bonzini
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 25/35] arm: register cpu_list() function Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 26/35] arm: enable multi-arch Peter Crosthwaite
2015-07-18 12:32 ` Paolo Bonzini
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 27/35] hw: arm: Explicitly include cpu.h for consumers Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 28/35] arm: Remove ELF_MACHINE from cpu.h Peter Crosthwaite
2015-07-18 12:33 ` Paolo Bonzini
2015-08-15 23:29 ` Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 29/35] hw: mb: Explicitly include cpu.h for consumers Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 30/35] mb: Remove ELF_MACHINE from cpu.h Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 31/35] microblaze: enable multi-arch Peter Crosthwaite
2015-07-18 12:35 ` Paolo Bonzini
2015-07-18 20:04 ` Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 32/35] arm: boot: Don't assume all CPUs are ARM Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 34/35] HACK: mb: boot: Assume using -firmware for mb software Peter Crosthwaite
2015-07-18 9:40 ` [Qemu-devel] [PATCH v3 35/35] HACK: mb: boot: Disable dtb load in multi-arch Peter Crosthwaite
2015-07-18 12:44 ` [Qemu-devel] [PATCH v3 00/35] Multi Architecture System Emulation Paolo Bonzini
2015-07-18 15:45 ` Peter Crosthwaite
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86f43fc5800c8f18c03d0ee8f26de440bac4f9fb.1437212383.git.crosthwaite.peter@gmail.com \
--to=crosthwaitepeter@gmail.com \
--cc=afaerber@suse.de \
--cc=crosthwaite.peter@gmail.com \
--cc=edgar.iglesias@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).