Replace posix-aio with custom thread pool
[qemu] / Makefile.target
index 031ab45..8c649be 100644 (file)
@@ -27,7 +27,6 @@ VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw
 CPPFLAGS=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH) -MMD -MT $@ -MP -DNEED_CPU_H
 #CFLAGS+=-Werror
 LIBS=
-DYNGEN=../dyngen$(EXESUF)
 # user emulator name
 ifndef TARGET_ARCH2
 TARGET_ARCH2=$(TARGET_ARCH)
@@ -74,7 +73,7 @@ PROGS=$(QEMU_PROG)
 
 # We require -O2 to avoid the stack setup prologue in EXIT_TB
 OP_CFLAGS := -O2 -g -fno-strict-aliasing
-OP_CFLAGS += -Wall -Wundef -Wendif-labels -Wwrite-strings
+OP_CFLAGS += -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls
 
 # cc-option
 # Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)
@@ -97,12 +96,6 @@ HELPER_CFLAGS=
 ifeq ($(ARCH),i386)
 HELPER_CFLAGS+=-fomit-frame-pointer
 OP_CFLAGS+=-mpreferred-stack-boundary=2 -fomit-frame-pointer
-# op.c and helper.c need this on 32-bit x86 system to avoid
-# a compiler spill error. This can probably go away
-# once the SSE ops have been converted to TCG
-ifeq ($(HAVE_GT_GCC_3_3), true)
-I386_CFLAGS=-march=i586 -mtune=i686
-endif
 endif
 
 ifeq ($(ARCH),ppc)
@@ -192,12 +185,8 @@ all: $(PROGS)
 # cpu emulator library
 LIBOBJS=exec.o kqemu.o translate-all.o cpu-exec.o\
         translate.o host-utils.o
-ifdef CONFIG_DYNGEN_OP
-exec.o: dyngen-opc.h
-LIBOBJS+=op.o
-endif
 # TCG code generator
-LIBOBJS+= tcg/tcg.o tcg/tcg-dyngen.o tcg/tcg-runtime.o
+LIBOBJS+= tcg/tcg.o tcg/tcg-runtime.o
 CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH)
 ifeq ($(ARCH),sparc64)
 CPPFLAGS+=-I$(SRC_PATH)/tcg/sparc
@@ -267,35 +256,15 @@ endif
 
 # libqemu
 
-ifdef CONFIG_DYNGEN_OP
-OPC_H = gen-op.h dyngen-opc.h op.h
-endif
-
 libqemu.a: $(LIBOBJS)
        rm -f $@
        $(AR) rcs $@ $(LIBOBJS)
 
-translate.o: translate.c cpu.h $(OPC_H)
-
-translate-all.o: translate-all.c cpu.h $(OPC_H)
-
-tcg/tcg.o: cpu.h $(OPC_H)
+translate.o: translate.c cpu.h
 
-tcg/tcg-dyngen.o: $(OPC_H)
+translate-all.o: translate-all.c cpu.h
 
-tcg/tcg-runtime.o: $(OPC_H)
-
-op.h: op.o $(DYNGEN)
-       $(DYNGEN) -o $@ $<
-
-dyngen-opc.h: op.o $(DYNGEN)
-       $(DYNGEN) -c -o $@ $<
-
-gen-op.h: op.o $(DYNGEN)
-       $(DYNGEN) -g -o $@ $<
-
-op.o: op.c
-       $(CC) $(OP_CFLAGS) $(CPPFLAGS) $(I386_CFLAGS) -c -o $@ $<
+tcg/tcg.o: cpu.h
 
 machine.o: machine.c
        $(CC) $(OP_CFLAGS) $(CPPFLAGS) -c -o $@ $<
@@ -305,7 +274,7 @@ machine.o: machine.c
 op_helper.o: op_helper.c
        $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) $(I386_CFLAGS) -c -o $@ $<
 
-cpu-exec.o: cpu-exec.c $(OPC_H)
+cpu-exec.o: cpu-exec.c
        $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
 #########################################################
@@ -587,15 +556,17 @@ endif #CONFIG_BSD_USER
 # System emulator target
 ifndef CONFIG_USER_ONLY
 
-OBJS=vl.o osdep.o monitor.o pci.o loader.o isa_mmio.o machine.o net-checksum.o
-OBJS+=fw_cfg.o aio.o buffered_file.o migration.o migration-tcp.o qemu-char.o
-OBJS+=net.o
+OBJS=vl.o osdep.o monitor.o pci.o loader.o isa_mmio.o machine.o
+OBJS+=fw_cfg.o
 ifdef CONFIG_KVM
 OBJS+=kvm.o kvm-all.o
 endif
 ifdef CONFIG_WIN32
 OBJS+=block-raw-win32.o
 else
+ifdef CONFIG_AIO
+OBJS+=posix-aio-compat.o
+endif
 OBJS+=block-raw-posix.o
 endif
 
@@ -625,6 +596,7 @@ SOUND_HW += ac97.o
 endif
 ifdef CONFIG_ADLIB
 SOUND_HW += fmopl.o adlib.o
+adlib.o fmopl.o: CFLAGS := ${CFLAGS} -DBUILD_Y8950=0
 endif
 ifdef CONFIG_GUS
 SOUND_HW += gus.o gusemu_hal.o gusemu_mixer.o
@@ -664,6 +636,8 @@ OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o
 OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o
 OBJS+= cirrus_vga.o apic.o parallel.o acpi.o piix_pci.o
 OBJS+= usb-uhci.o vmmouse.o vmport.o vmware_vga.o
+# virtio support
+OBJS+= virtio.o virtio-blk.o virtio-balloon.o
 CPPFLAGS += -DHAS_AUDIO -DHAS_AUDIO_CHOICE
 endif
 ifeq ($(TARGET_BASE_ARCH), ppc)
@@ -680,7 +654,9 @@ OBJS+= heathrow_pic.o grackle_pci.o ppc_oldworld.o
 # NewWorld PowerMac
 OBJS+= unin_pci.o ppc_chrp.o
 # PowerPC 4xx boards
-OBJS+= pflash_cfi02.o ppc4xx_devs.o ppc405_uc.o ppc405_boards.o
+OBJS+= pflash_cfi02.o ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o
+# virtio support
+OBJS+= virtio.o virtio-blk.o virtio-balloon.o
 endif
 ifeq ($(TARGET_BASE_ARCH), mips)
 OBJS+= mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
@@ -737,7 +713,8 @@ CPPFLAGS += -DHAS_AUDIO
 endif
 ifeq ($(TARGET_BASE_ARCH), sh4)
 OBJS+= shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
-OBJS+= sh_timer.o ptimer.o sh_serial.o sh_intc.o sm501.o serial.o
+OBJS+= sh_timer.o ptimer.o sh_serial.o sh_intc.o sh_pci.o sm501.o serial.o
+OBJS+= ide.o
 endif
 ifeq ($(TARGET_BASE_ARCH), m68k)
 OBJS+= an5206.o mcf5206.o ptimer.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
@@ -764,10 +741,12 @@ endif
 ifndef CONFIG_DARWIN
 ifndef CONFIG_WIN32
 ifndef CONFIG_SOLARIS
+ifndef CONFIG_AIX
 LIBS+=-lutil
 endif
 endif
 endif
+endif
 ifdef TARGET_GPROF
 vl.o: CFLAGS+=-p
 LDFLAGS+=-p
@@ -807,7 +786,7 @@ endif
        $(CC) $(CPPFLAGS) -c -o $@ $<
 
 clean:
-       rm -f *.o *.a *~ $(PROGS) gen-op.h dyngen-opc.h op.h nwfpe/*.o fpu/*.o
+       rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o
        rm -f *.d */*.d tcg/*.o
 
 install: all