qemu/include
Fam Zheng e26110cfc6 module: implement module loading
This patch adds loading, stamp checking and initialization of modules.

The init function of dynamic module is no longer directly called as
__attribute__((constructor)) in static linked version, it is called
only after passed the checking of presense of stamp symbol:

    qemu_stamp_$RELEASEHASH

where $RELEASEHASH is generated by hashing version strings and content
of configure script.

With this, modules built from a different tree/version/configure will
not be loaded.

The module loading code requires gmodule-2.0.

Modules are searched under
 - CONFIG_MODDIR
 - executable folder (to allow running qemu-{img,io} in the build
   directory)
 - ../ of executable folder (to allow running system emulator in the
   build directory)

Modules are linked under their subdir respectively, then copied to top
level of build directory for above convinience, e.g.:
    $(BUILD_DIR)/block/curl.so -> $(BUILD_DIR)/block-curl.so

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-02-20 13:14:18 +01:00
..
block qemu-iotests: Test pwritev RMW logic 2014-01-24 17:40:25 +01:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec exec: Make cpu_physical_memory_write_rom input an AS 2014-02-11 22:57:44 +10:00
fpu softfloat: Add support for ties-away rounding 2014-01-08 19:07:22 +00:00
hw acpi,pc,pci fixes and enhancements 2014-02-13 15:02:04 +00:00
migration vmstate: Add uint32 2D-array support 2014-02-08 14:50:48 +00:00
monitor readline: move readline to a generic location 2014-01-22 12:07:17 +01:00
net net: declare struct iovec in checksum.h to fix compiler warning 2014-02-15 16:10:25 +04:00
qapi qdict: Add qdict_array_split() 2014-01-22 12:07:17 +01:00
qemu module: implement module loading 2014-02-20 13:14:18 +01:00
qom cpu: Add per-cpu address space 2014-02-11 22:56:37 +10:00
sysemu qtest: don't report signals if qtest driver enabled 2014-02-05 16:55:50 +02:00
ui include: add missing config-host.h include 2013-12-16 10:12:20 +01:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h tcg-s390: Use qemu_getauxval in query_facilities 2013-11-30 07:45:30 +13:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
qemu-io.h qemu-io: add command completion 2014-01-22 12:07:17 +01:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00