Re: Latest qemu tcg breakage

Jerone Young
2008-06-09T21:09:14Z

On Mon, 2008-06-09 at 16:02 -0500, Anthony Liguori wrote:
> 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.

Yeah did that .. got a lot more errors after that. Something else is in
the mix. I'll try and figure it out tonight.

>
> > 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 <jyoung5@us.ibm.com>
> >>>
> >>> 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 majordomo@vger.kernel.org
> >>> 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 majordomo@vger.kernel.org
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
> >>
>