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/
|
2012-12-20 18:27:51 +04:00
|
|
|
block-obj-y += qapi-types.o qapi-visit.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
|
|
|
|
ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
|
|
|
|
block-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
|
|
|
|
else
|
|
|
|
ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
|
|
|
|
block-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
|
|
|
|
else
|
|
|
|
block-obj-$(CONFIG_POSIX) += coroutine-gthread.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
block-obj-$(CONFIG_WIN32) += coroutine-win32.o
|
|
|
|
|
2011-06-01 11:05:13 +04:00
|
|
|
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
|
2010-11-27 01:08:48 +03:00
|
|
|
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
|
|
|
|
# only pull in the actual virtio-9p device if we also enabled virtio.
|
|
|
|
CONFIG_REALLY_VIRTFS=y
|
|
|
|
endif
|
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
|
|
|
|
|
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)
|
2012-08-22 18:43:07 +04:00
|
|
|
common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
|
2012-10-24 13:27:28 +04:00
|
|
|
common-obj-y += net/
|
2012-11-28 15:06:30 +04:00
|
|
|
common-obj-y += readline.o
|
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
|
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
|
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
|
Support for TPM command line options
This patch adds support for TPM command line options.
The command line options supported here are
./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
-device tpm-tis,tpmdev=<id>,id=<other id>
and
./qemu-... -tpmdev help
where the latter works similar to -soundhw help and shows a list of
available TPM backends (for example 'passthrough').
Using the type parameter, the backend is chosen, i.e., 'passthrough' for the
passthrough driver. The interpretation of the other parameters along
with determining whether enough parameters were provided is pushed into
the backend driver, which needs to implement the interface function
'create' and return a TPMDriverOpts structure if the VM can be started or
'NULL' if not enough or bad parameters were provided.
Monitor support for 'info tpm' has been added. It for example prints the
following:
(qemu) info tpm
TPM devices:
tpm0: model=tpm-tis
\ tpm0: type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Corey Bryant <coreyb@linux.vnet.ibm.com>
Reviewed-by: Joel Schopp <jschopp@linux.vnet.ibm.com>
Message-id: 1361987275-26289-2-git-send-email-stefanb@linux.vnet.ibm.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-02-27 21:47:49 +04:00
|
|
|
common-obj-y += tpm/
|
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
|
|
|
|
|
2012-03-05 00:32:36 +04:00
|
|
|
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.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
|
|
|
|
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
|
|
|
|
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
|
2011-08-12 00:38:12 +04:00
|
|
|
|
2010-03-29 23:23:52 +04:00
|
|
|
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
|
|
|
|
|
|
|
|
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
|
|
|
|
|
2011-08-21 07:18:37 +04:00
|
|
|
QEMU_CFLAGS+=$(GLIB_CFLAGS)
|
|
|
|
|
2012-05-22 15:42:53 +04:00
|
|
|
nested-vars += \
|
2012-11-16 21:35:27 +04:00
|
|
|
stub-obj-y \
|
2012-12-20 18:58:44 +04:00
|
|
|
util-obj-y \
|
2012-05-22 15:50:58 +04:00
|
|
|
qga-obj-y \
|
2012-09-19 17:11:05 +04:00
|
|
|
block-obj-y \
|
2013-01-19 14:06:48 +04:00
|
|
|
common-obj-y
|
2012-05-22 15:41:27 +04:00
|
|
|
dummy := $(call unnest-vars)
|