From: Anthony L. <an...@co...> - 2008-06-09 21:02:27
|
Jerone Young wrote: > Actually I was mistaken. While upstream qemu does compile, after doing a > clean on my local directory of kvm-userspace. I'm finding that after > removing cpu-emulation stuff I get a error when building exec.c > > In file included from /home/jerone/work/kvm-userspace/qemu/tcg/tcg.h:50, > from /home/jerone/work/kvm-userspace/qemu/exec.c:40: > /home/jerone/work/kvm-userspace/qemu/tcg/tcg-opc.h:25:24: dyngen-opc.h: > No such file or directory > dyngen-opc.h is build from op.o. If you removed CONFIG_DYNGEN_OP, op.o won't be added to LIBOBJS which would cause this problem. > Now removing CONFIG_DYNGEN from configure yields more errors ;-). This > is removed for x86 & ia64. > Don't do that. PPC still depends on dyngen. Nothing is wrong with dyngen on PPC, the problem was that TCG didn't support PPC. It does now though. Regards, Anthony Liguori > So lets not remove it till can git this sorted out. But here is a patch > attached to play with :-L > > > On Mon, 2008-06-09 at 11:35 -0500, Anthony Liguori wrote: > >> Jerone Young wrote: >> >>> So upstream qemu is being pervasive about changes with TCG, starting to >>> place tcg only functions in exec.c . I've spun a quick patch that fixes >>> things for PowerPC when building qemu. But we need to try and isolate >>> TCG in upstream qemu as it is starting to leak, and I'm not sure of a >>> good way to fix it as there is no CONFIG defined for tcg currently. >>> >>> Just something to keep in mind. >>> >>> >> Now that TCG supports PPC, shouldn't ya'll be able to drop >> --disable-cpu-emulation. I believe that will simultaneously fix your >> problem and reduce the difference between upstream QEMU. >> >> Regards, >> >> Anthony Liguori >> >> >>> Signed-off-by: Jerone Young <jy...@us...> >>> >>> diff --git a/qemu/Makefile.target b/qemu/Makefile.target >>> --- a/qemu/Makefile.target >>> +++ b/qemu/Makefile.target >>> @@ -196,7 +196,6 @@ LIBOBJS+=fake-exec.o >>> LIBOBJS+=fake-exec.o >>> else >>> LIBOBJS+= translate-all.o translate.o >>> -endif >>> ifdef CONFIG_DYNGEN_OP >>> LIBOBJS+=op.o >>> endif >>> @@ -205,6 +204,7 @@ CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH >>> CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH) >>> ifeq ($(ARCH),sparc64) >>> CPPFLAGS+=-I$(SRC_PATH)/tcg/sparc >>> +endif >>> endif >>> >>> ifeq ($(USE_KVM), 1) >>> diff --git a/qemu/exec.c b/qemu/exec.c >>> --- a/qemu/exec.c >>> +++ b/qemu/exec.c >>> @@ -37,8 +37,11 @@ >>> #include "exec-all.h" >>> #include "qemu-common.h" >>> >>> +#ifdef USE_KVM >>> +#include "qemu-kvm.h" >>> +#else >>> #include "tcg.h" >>> -#include "qemu-kvm.h" >>> +#endif >>> >>> #if defined(CONFIG_USER_ONLY) >>> #include <qemu.h> >>> @@ -3197,7 +3200,9 @@ void dump_exec_info(FILE *f, >>> cpu_fprintf(f, "TB flush count %d\n", tb_flush_count); >>> cpu_fprintf(f, "TB invalidate count %d\n", >>> tb_phys_invalidate_count); >>> cpu_fprintf(f, "TLB flush count %d\n", tlb_flush_count); >>> +#if !defined(USE_KVM) >>> tcg_dump_info(f, cpu_fprintf); >>> +#endif >>> } >>> >>> #if !defined(CONFIG_USER_ONLY) >>> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe kvm" in >>> the body of a message to maj...@vg... >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to maj...@vg... >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> |