Prepare for op.c removal and zero legacy ops git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4095 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/Makefile.target b/Makefile.target index 9c83733..5ac29a7 100644 --- a/Makefile.target +++ b/Makefile.target
@@ -173,7 +173,10 @@ ######################################################### # cpu emulator library LIBOBJS=exec.o kqemu.o translate-all.o cpu-exec.o\ - translate.o op.o host-utils.o + translate.o host-utils.o +ifndef CONFIG_NO_DYNGEN_OP +LIBOBJS+=op.o +endif # TCG code generator LIBOBJS+= tcg/tcg.o tcg/tcg-dyngen.o tcg/tcg-runtime.o CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH) @@ -270,7 +273,9 @@ # libqemu +ifndef CONFIG_NO_DYNGEN_OP OPC_H = gen-op.h dyngen-opc.h op.h +endif libqemu.a: $(LIBOBJS) rm -f $@
diff --git a/tcg/tcg-dyngen.c b/tcg/tcg-dyngen.c index 1cc084e..5780372 100644 --- a/tcg/tcg-dyngen.c +++ b/tcg/tcg-dyngen.c
@@ -464,6 +464,7 @@ #endif #endif +#ifndef CONFIG_NO_DYNGEN_OP const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr) { uint8_t *gen_code_ptr; @@ -480,3 +481,4 @@ s->code_ptr = gen_code_ptr; return opparam_ptr; } +#endif
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 2e8b5e8..8f0897c 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h
@@ -23,8 +23,10 @@ */ #include "tcg.h" +#ifndef CONFIG_NO_DYNGEN_OP /* legacy dyngen operations */ #include "gen-op.h" +#endif int gen_new_label(void);
diff --git a/tcg/tcg-opc.h b/tcg/tcg-opc.h index 4d91d11..ee95910 100644 --- a/tcg/tcg-opc.h +++ b/tcg/tcg-opc.h
@@ -21,7 +21,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#ifndef CONFIG_NO_DYNGEN_OP #include "dyngen-opc.h" +#endif #ifndef DEF2 #define DEF2(name, oargs, iargs, cargs, flags) DEF(name, oargs + iargs + cargs, 0)
diff --git a/tcg/tcg.c b/tcg/tcg.c index 2e9fa18..379b8f2 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c
@@ -1752,6 +1752,8 @@ goto next; case INDEX_op_end: goto the_end; + +#ifndef CONFIG_NO_DYNGEN_OP case 0 ... INDEX_op_end - 1: /* legacy dyngen ops */ #ifdef CONFIG_PROFILER @@ -1768,6 +1770,7 @@ args = dyngen_op(s, opc, args); } goto next; +#endif default: /* Note: in order to speed up the code, it would be much faster to have specialized register allocator functions for