2012-11-16 21:35:27 +04:00
|
|
|
#######################################################################
|
2012-12-20 19:10:26 +04:00
|
|
|
# Common libraries for tools and emulators
|
2012-11-16 21:35:27 +04:00
|
|
|
stub-obj-y = stubs/
|
2012-12-21 12:45:20 +04:00
|
|
|
util-obj-y = util/ qobject/ qapi/ trace/
|
2012-11-16 21:35:27 +04:00
|
|
|
|
2010-01-06 22:24:05 +03:00
|
|
|
#######################################################################
|
|
|
|
# block-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
|
2012-12-20 19:09:36 +04:00
|
|
|
block-obj-y = async.o thread-pool.o
|
|
|
|
block-obj-y += nbd.o block.o blockjob.o
|
|
|
|
block-obj-y += main-loop.o iohandler.o qemu-timer.o
|
|
|
|
block-obj-$(CONFIG_POSIX) += aio-posix.o
|
|
|
|
block-obj-$(CONFIG_WIN32) += aio-win32.o
|
2012-05-22 15:44:39 +04:00
|
|
|
block-obj-y += block/
|
2014-06-18 10:43:28 +04:00
|
|
|
block-obj-y += qapi-types.o qapi-visit.o qapi-event.o
|
2013-06-05 16:19:41 +04:00
|
|
|
block-obj-y += qemu-io-cmds.o
|
2010-01-06 22:24:05 +03:00
|
|
|
|
2012-12-20 20:38:14 +04:00
|
|
|
block-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
|
|
|
|
block-obj-y += qemu-coroutine-sleep.o
|
2013-04-08 15:11:27 +04:00
|
|
|
block-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
|
2012-12-20 20:38:14 +04:00
|
|
|
|
2014-02-10 10:48:59 +04:00
|
|
|
block-obj-m = block/
|
|
|
|
|
2010-04-29 16:14:43 +04:00
|
|
|
|
2013-01-19 14:06:45 +04:00
|
|
|
######################################################################
|
|
|
|
# smartcard
|
|
|
|
|
|
|
|
libcacard-y += libcacard/cac.o libcacard/event.o
|
|
|
|
libcacard-y += libcacard/vcard.o libcacard/vreader.o
|
|
|
|
libcacard-y += libcacard/vcard_emul_nss.o
|
|
|
|
libcacard-y += libcacard/vcard_emul_type.o
|
|
|
|
libcacard-y += libcacard/card_7816.o
|
2013-03-05 18:27:43 +04:00
|
|
|
libcacard-y += libcacard/vcardt.o
|
2014-05-08 16:48:27 +04:00
|
|
|
libcacard/vcard_emul_nss.o-cflags := $(NSS_CFLAGS)
|
|
|
|
libcacard/vcard_emul_nss.o-libs := $(NSS_LIBS)
|
2013-01-19 14:06:45 +04:00
|
|
|
|
2010-01-06 22:24:05 +03:00
|
|
|
######################################################################
|
2011-11-15 16:47:11 +04:00
|
|
|
# Target independent part of system emulation. The long term path is to
|
|
|
|
# suppress *all* target specific code in case of system emulation, i.e. a
|
|
|
|
# single QEMU executable should support all CPUs and machines.
|
2010-01-06 22:24:05 +03:00
|
|
|
|
2013-01-19 14:06:47 +04:00
|
|
|
ifeq ($(CONFIG_SOFTMMU),y)
|
2014-02-10 10:48:52 +04:00
|
|
|
common-obj-y = blockdev.o blockdev-nbd.o block/
|
2014-03-03 14:30:05 +04:00
|
|
|
common-obj-y += iothread.o
|
2012-10-24 13:27:28 +04:00
|
|
|
common-obj-y += net/
|
2013-02-04 20:20:47 +04:00
|
|
|
common-obj-y += qdev-monitor.o device-hotplug.o
|
2010-06-12 09:49:30 +04:00
|
|
|
common-obj-$(CONFIG_WIN32) += os-win32.o
|
|
|
|
common-obj-$(CONFIG_POSIX) += os-posix.o
|
2010-05-21 13:54:32 +04:00
|
|
|
|
2012-05-22 15:46:08 +04:00
|
|
|
common-obj-$(CONFIG_LINUX) += fsdev/
|
|
|
|
|
2012-10-03 16:18:33 +04:00
|
|
|
common-obj-y += migration.o migration-tcp.o
|
2013-11-28 18:01:15 +04:00
|
|
|
common-obj-y += vmstate.o
|
2013-11-28 18:01:16 +04:00
|
|
|
common-obj-y += qemu-file.o
|
2013-07-22 18:01:54 +04:00
|
|
|
common-obj-$(CONFIG_RDMA) += migration-rdma.o
|
2011-12-20 17:59:12 +04:00
|
|
|
common-obj-y += qemu-char.o #aio.o
|
2012-12-20 19:09:36 +04:00
|
|
|
common-obj-y += block-migration.o
|
2013-01-31 11:12:15 +04:00
|
|
|
common-obj-y += page_cache.o xbzrle.o
|
2010-01-06 22:24:05 +03:00
|
|
|
|
|
|
|
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
|
|
|
|
|
2012-05-22 15:48:15 +04:00
|
|
|
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
|
2012-05-22 15:49:02 +04:00
|
|
|
|
|
|
|
common-obj-y += audio/
|
2012-05-29 13:08:47 +04:00
|
|
|
common-obj-y += hw/
|
2012-12-17 21:17:08 +04:00
|
|
|
|
2012-05-22 15:48:15 +04:00
|
|
|
common-obj-y += ui/
|
2012-05-29 13:08:47 +04:00
|
|
|
common-obj-y += bt-host.o bt-vhci.o
|
2014-05-02 15:40:53 +04:00
|
|
|
bt-host.o-cflags := $(BLUEZ_CFLAGS)
|
2010-07-07 22:57:52 +04:00
|
|
|
|
2012-10-05 21:39:33 +04:00
|
|
|
common-obj-y += dma-helpers.o
|
|
|
|
common-obj-y += vl.o
|
2014-05-02 15:40:53 +04:00
|
|
|
vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
|
2013-04-02 20:28:41 +04:00
|
|
|
common-obj-y += tpm.o
|
2010-01-06 22:24:05 +03:00
|
|
|
|
2012-05-22 15:49:43 +04:00
|
|
|
common-obj-$(CONFIG_SLIRP) += slirp/
|
2010-01-06 22:24:05 +03:00
|
|
|
|
2012-06-25 19:03:47 +04:00
|
|
|
common-obj-y += backends/
|
|
|
|
|
2013-01-19 14:06:46 +04:00
|
|
|
common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
|
2012-08-15 01:44:05 +04:00
|
|
|
|
2012-05-29 13:40:24 +04:00
|
|
|
common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
|
libcacard: initial commit
libcacard emulates a Common Access Card (CAC) which is a standard
for smartcards. It is used by the emulated ccid card introduced in
a following patch. Docs are available in docs/libcacard.txt
Signed-off-by: Alon Levy <alevy@redhat.com>
---
changes from v24->v25:
* Fix out of tree builds.
* Fix build with linux-user targets.
changes from v23->v24: (Jes Sorensen review 2)
* Makefile.target: use obj-$(CONFIG_*) +=
* remove unrequired includes, include qemu-common before qemu-thread
* required adding #define NO_NSPR_10_SUPPORT (harmless)
changes from v22->v23:
* configure fixes: (reported by Stefan Hajnoczi)
* test a = b, not a == b (second isn't portable)
* quote $source_path in case it contains spaces
- this doesn't really help since there are many other places
that need similar fixes, not introduced by this patch.
changes from v21->v22:
* fix configure to not link libcacard if nss not found
(reported by Stefan Hajnoczi)
* fix vscclient linkage with simpletrace backend
(reported by Stefan Hajnoczi)
* card_7816.c: add missing break in ERROR_DATA_NOT_FOUND
(reported by William van de Velde)
changes from v20->v21: (Jes Sorensen review)
* use qemu infrastructure: qemu-thread, qemu-common (qemu_malloc
and qemu_free), error_report
* assert instead of ASSERT
* cosmetic fixes
* use strpbrk and isspace
* add --disable-nss --enable-nss here, instead of in the final patch.
* split vscclient, passthru and docs to following patches.
changes from v19->v20:
* checkpatch.pl
changes from v15->v16:
Build:
* don't erase self with distclean
* fix make clean after make distclean
* Makefile: make vscclient link quiet
Behavioral:
* vcard_emul_nss: load coolkey in more situations
* vscclient:
* use hton,ntoh
* send init on connect, only start vevent thread on response
* read payload after header check, before type switch
* remove Reconnect
* update for vscard_common changes, empty Flush implementation
Style/Whitespace:
* fix wrong variable usage
* remove unused variable
* use only C style comments
* add copyright header
* fix tabulation
Signed-off-by: Alon Levy <alevy@redhat.com>
libcacard: fix out of tree builds
2010-11-28 17:36:38 +03:00
|
|
|
|
2011-07-19 23:50:32 +04:00
|
|
|
######################################################################
|
|
|
|
# qapi
|
|
|
|
|
2013-05-06 20:20:07 +04:00
|
|
|
common-obj-y += qmp-marshal.o
|
2011-09-02 21:34:48 +04:00
|
|
|
common-obj-y += qmp.o hmp.o
|
2013-01-19 14:06:47 +04:00
|
|
|
endif
|
2011-09-02 21:34:47 +04:00
|
|
|
|
2013-05-06 20:20:07 +04:00
|
|
|
######################################################################
|
|
|
|
# some qapi visitors are used by both system and user emulation:
|
|
|
|
|
|
|
|
common-obj-y += qapi-visit.o qapi-types.o
|
|
|
|
|
2012-12-20 18:24:49 +04:00
|
|
|
#######################################################################
|
|
|
|
# Target-independent parts used in system and user emulation
|
2013-01-19 14:06:47 +04:00
|
|
|
common-obj-y += qemu-log.o
|
|
|
|
common-obj-y += tcg-runtime.o
|
|
|
|
common-obj-y += hw/
|
|
|
|
common-obj-y += qom/
|
|
|
|
common-obj-y += disas/
|
2012-03-05 00:32:36 +04:00
|
|
|
|
2013-08-08 22:18:07 +04:00
|
|
|
######################################################################
|
|
|
|
# Resource file for Windows executables
|
|
|
|
version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
|
|
|
|
version-lobj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.lo
|
|
|
|
|
2011-08-12 00:38:12 +04:00
|
|
|
######################################################################
|
|
|
|
# guest agent
|
|
|
|
|
2012-12-20 18:03:18 +04:00
|
|
|
# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
|
|
|
|
# by libqemuutil.a. These should be moved to a separate .json schema.
|
|
|
|
qga-obj-y = qga/ qapi-types.o qapi-visit.o
|
qemu-ga: Add Windows VSS provider and requester as DLL
Adds VSS provider and requester as a qga-vss.dll, which is loaded by
Windows VSS service as well as by qemu-ga.
"provider.cpp" implements a basic stub of a software VSS provider.
Currently, this module only relays a frozen event from VSS service to the
agent, and thaw event from the agent to VSS service, to block VSS process
to keep the system frozen while snapshots are taken at the host.
To register the provider to the guest system as COM+ application, the type
library (.tlb) for qga-vss.dll is required. To build it from COM IDL (.idl),
VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch also
adds pre-compiled .tlb file in the repository in order to enable
cross-compile qemu-ga.exe for Windows with VSS support.
"requester.cpp" provides the VSS requester to kick the VSS snapshot process.
Qemu-ga.exe works without the DLL, although fsfreeze features are disabled.
These functions are only supported in Windows 2003 or later. In older
systems, fsfreeze features are disabled.
In several versions of Windows which don't support attribute
VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
To solve this fundamentally, we need a framework to handle mount writable
snapshot on guests, which is required by VSS auto-recovery feature
(cleanup phase after a snapshot is taken).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-08-07 19:40:18 +04:00
|
|
|
qga-vss-dll-obj-y = qga/
|