2013-04-11 18:07:18 +02:00
|
|
|
util-obj-y = osdep.o cutils.o unicode.o qemu-timer-common.o
|
2018-09-10 19:27:42 -04:00
|
|
|
util-obj-$(call lnot,$(CONFIG_ATOMIC64)) += atomic64.o
|
2017-02-13 14:52:18 +01:00
|
|
|
util-obj-$(CONFIG_POSIX) += aio-posix.o
|
2020-03-05 17:08:02 +00:00
|
|
|
util-obj-$(CONFIG_POSIX) += fdmon-poll.o
|
|
|
|
util-obj-$(CONFIG_EPOLL_CREATE1) += fdmon-epoll.o
|
2020-03-05 17:08:04 +00:00
|
|
|
util-obj-$(CONFIG_LINUX_IO_URING) += fdmon-io_uring.o
|
2015-10-09 17:17:18 +02:00
|
|
|
util-obj-$(CONFIG_POSIX) += compatfd.o
|
|
|
|
util-obj-$(CONFIG_POSIX) += event_notifier-posix.o
|
2015-09-24 14:41:17 +03:00
|
|
|
util-obj-$(CONFIG_POSIX) += mmap-alloc.o
|
2015-10-09 17:17:18 +02:00
|
|
|
util-obj-$(CONFIG_POSIX) += oslib-posix.o
|
|
|
|
util-obj-$(CONFIG_POSIX) += qemu-openpty.o
|
|
|
|
util-obj-$(CONFIG_POSIX) += qemu-thread-posix.o
|
2015-10-09 17:17:19 +02:00
|
|
|
util-obj-$(CONFIG_POSIX) += memfd.o
|
2017-02-13 14:52:18 +01:00
|
|
|
util-obj-$(CONFIG_WIN32) += aio-win32.o
|
|
|
|
util-obj-$(CONFIG_WIN32) += event_notifier-win32.o
|
2015-10-09 17:17:18 +02:00
|
|
|
util-obj-$(CONFIG_WIN32) += oslib-win32.o
|
|
|
|
util-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
|
2014-09-03 11:44:56 +08:00
|
|
|
util-obj-y += envlist.o path.o module.o
|
2017-01-10 00:10:08 -02:00
|
|
|
util-obj-y += host-utils.o
|
2020-05-22 19:25:02 +02:00
|
|
|
util-obj-y += bitmap.o bitops.o
|
2013-02-04 10:57:50 +01:00
|
|
|
util-obj-y += fifo8.o
|
2017-06-06 20:17:04 -04:00
|
|
|
util-obj-y += cacheinfo.o
|
2012-12-20 15:58:44 +01:00
|
|
|
util-obj-y += error.o qemu-error.o
|
2019-04-17 21:06:37 +02:00
|
|
|
util-obj-y += qemu-print.o
|
2014-09-30 13:59:30 +02:00
|
|
|
util-obj-y += id.o
|
2020-05-22 19:25:02 +02:00
|
|
|
util-obj-y += qemu-config.o notify.o
|
2012-12-20 15:58:44 +01:00
|
|
|
util-obj-y += qemu-option.o qemu-progress.o
|
keyval: New keyval_parse()
keyval_parse() parses KEY=VALUE,... into a QDict. Works like
qemu_opts_parse(), except:
* Returns a QDict instead of a QemuOpts (d'oh).
* Supports nesting, unlike QemuOpts: a KEY is split into key
fragments at '.' (dotted key convention; the block layer does
something similar on top of QemuOpts). The key fragments are QDict
keys, and the last one's value is updated to VALUE.
* Each key fragment may be up to 127 bytes long. qemu_opts_parse()
limits the entire key to 127 bytes.
* Overlong key fragments are rejected. qemu_opts_parse() silently
truncates them.
* Empty key fragments are rejected. qemu_opts_parse() happily
accepts empty keys.
* It does not store the returned value. qemu_opts_parse() stores it
in the QemuOptsList.
* It does not treat parameter "id" specially. qemu_opts_parse()
ignores all but the first "id", and fails when its value isn't
id_wellformed(), or duplicate (a QemuOpts with the same ID is
already stored). It also screws up when a value contains ",id=".
* Implied value is not supported. qemu_opts_parse() desugars "foo" to
"foo=on", and "nofoo" to "foo=off".
* An implied key's value can't be empty, and can't contain ','.
I intend to grow this into a saner replacement for QemuOpts. It'll
take time, though.
Note: keyval_parse() provides no way to do lists, and its key syntax
is incompatible with the __RFQDN_ prefix convention for downstream
extensions, because it blindly splits at '.', even in __RFQDN_. Both
issues will be addressed later in the series.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1488317230-26248-4-git-send-email-armbru@redhat.com>
2017-02-28 22:26:49 +01:00
|
|
|
util-obj-y += keyval.o
|
2013-04-29 14:48:16 -04:00
|
|
|
util-obj-y += crc32c.o
|
2016-09-21 12:27:14 +08:00
|
|
|
util-obj-y += uuid.o
|
2013-06-04 11:24:49 -07:00
|
|
|
util-obj-y += getauxval.o
|
2013-05-13 13:29:47 +02:00
|
|
|
util-obj-y += rcu.o
|
2018-02-16 10:05:23 +01:00
|
|
|
util-obj-$(CONFIG_MEMBARRIER) += sys_membarrier.o
|
2016-01-07 16:55:29 +03:00
|
|
|
util-obj-y += log.o
|
2017-07-15 03:24:27 -04:00
|
|
|
util-obj-y += pagesize.o
|
qdist: add module to represent frequency distributions of data
Sometimes it is useful to have a quick histogram to represent a certain
distribution -- for example, when investigating a performance regression
in a hash table due to inadequate hashing.
The appended allows us to easily represent a distribution using Unicode
characters. Further, the data structure keeping track of the distribution
is so simple that obtaining its values for off-line processing is trivial.
Example, taking the last 10 commits to QEMU:
Characters in commit title Count
-----------------------------------
39 1
48 1
53 1
54 2
57 1
61 1
67 1
78 1
80 1
qdist_init(&dist);
qdist_inc(&dist, 39);
[...]
qdist_inc(&dist, 80);
char *str = qdist_pr(&dist, 9, QDIST_PR_LABELS);
// -> [39.0,43.6)▂▂ █▂ ▂ ▄[75.4,80.0]
g_free(str);
char *str = qdist_pr(&dist, 4, QDIST_PR_LABELS);
// -> [39.0,49.2)▁█▁▁[69.8,80.0]
g_free(str);
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1465412133-3029-9-git-send-email-cota@braap.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
2016-06-08 14:55:26 -04:00
|
|
|
util-obj-y += qdist.o
|
2016-06-08 14:55:28 -04:00
|
|
|
util-obj-y += qht.o
|
2017-08-08 13:53:15 -04:00
|
|
|
util-obj-y += qsp.o
|
2016-05-31 10:41:28 -06:00
|
|
|
util-obj-y += range.o
|
2017-06-05 14:38:59 +02:00
|
|
|
util-obj-y += stats64.o
|
2017-03-16 16:29:45 +01:00
|
|
|
util-obj-y += systemd.o
|
2019-05-24 15:09:41 +02:00
|
|
|
util-obj-$(CONFIG_POSIX) += drm.o
|
2019-03-14 13:02:09 -07:00
|
|
|
util-obj-y += guest-random.o
|
2019-09-27 12:16:54 +04:00
|
|
|
util-obj-$(CONFIG_GIO) += dbus.o
|
|
|
|
dbus.o-cflags = $(GIO_CFLAGS)
|
|
|
|
dbus.o-libs = $(GIO_LIBS)
|
2020-04-03 20:11:46 +01:00
|
|
|
util-obj-$(CONFIG_USER_ONLY) += selfmap.o
|
2020-05-22 19:25:02 +02:00
|
|
|
|
|
|
|
#######################################################################
|
|
|
|
# code used by both qemu system emulation and qemu-img
|
|
|
|
|
|
|
|
ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
|
|
|
|
|
|
|
|
util-obj-y += aio-wait.o
|
|
|
|
util-obj-y += aiocb.o
|
|
|
|
util-obj-y += async.o
|
|
|
|
util-obj-y += base64.o
|
|
|
|
util-obj-y += buffer.o
|
|
|
|
util-obj-y += bufferiszero.o
|
|
|
|
util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
|
|
|
|
util-obj-y += hexdump.o
|
|
|
|
util-obj-y += lockcnt.o
|
|
|
|
util-obj-y += iov.o
|
|
|
|
util-obj-y += iova-tree.o
|
|
|
|
util-obj-y += hbitmap.o
|
|
|
|
util-obj-y += main-loop.o
|
|
|
|
util-obj-y += nvdimm-utils.o
|
|
|
|
util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
|
|
|
|
util-obj-y += qemu-coroutine-sleep.o
|
|
|
|
util-obj-y += qemu-co-shared-resource.o
|
|
|
|
util-obj-y += qemu-sockets.o
|
|
|
|
util-obj-y += qemu-timer.o
|
|
|
|
util-obj-y += thread-pool.o
|
|
|
|
util-obj-y += throttle.o
|
|
|
|
util-obj-y += timed-average.o
|
|
|
|
util-obj-y += uri.o
|
|
|
|
|
|
|
|
util-obj-$(CONFIG_LINUX) += vfio-helpers.o
|
|
|
|
util-obj-$(CONFIG_INOTIFY1) += filemonitor-inotify.o
|
|
|
|
util-obj-$(call lnot,$(CONFIG_INOTIFY1)) += filemonitor-stub.o
|
|
|
|
util-obj-$(CONFIG_BLOCK) += readline.o
|
|
|
|
|
|
|
|
endif # CONFIG_SOFTMMU || CONFIG_TOOLS
|