Re: Latest qemu tcg breakage

Jerone Young
2008-06-09T16:55:50Z

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.

Hmm...this may just be what is needed. Building upstream CVS works.
Actually building without --disable-cpu-emulation WORKS.

So given this I'll create a patch to remove --disable-cpu-emulation and
the fake cpu-exec files we have.

>
> 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
> >
>