qemu/scripts
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
..
kvm vmxcap: Update according to SDM of January 2013 2013-04-17 23:27:24 -03:00
qemu-guest-agent qemu-ga: sample fsfreeze hooks 2013-01-08 16:38:12 -06:00
qmp Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
tracetool trace: fix simple trace "disable" keyword 2014-01-27 15:49:39 +01:00
acpi_extract_preprocess.py i386: add ACPI table files from seabios 2013-10-14 17:48:51 +03:00
acpi_extract.py i386: add ACPI table files from seabios 2013-10-14 17:48:51 +03:00
analyse-9p-simpletrace.py scripts/analyse-9p-simpletrace.py: Add symbolic names for 9p operations. 2011-12-21 12:37:23 +05:30
check-qerror.sh qerror: add check-qerror.sh to verify alphabetical order 2012-01-18 10:23:39 -02:00
checkpatch.pl checkpatch.pl: Check .cpp files 2013-09-09 14:17:56 -05:00
cleanup-trace-events.pl cleanup-trace-events.pl: New 2013-07-18 11:44:42 +08:00
create_config module: implement module loading 2014-02-20 13:14:18 +01:00
disas-objdump.pl disas-objdump: Pass --adjust-vma to objdump 2013-08-24 07:26:45 +02:00
dump-guest-memory.py Python-lang gdb script to extract x86_64 guest vmcore from qemu coredump 2014-01-26 13:06:48 +02:00
extract-vsssdk-headers Add a script to extract VSS SDK headers on POSIX system 2013-09-09 14:17:56 -05:00
feature_to_c.sh exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
get_maintainer.pl Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
gtester-cat test makefile overhaul 2012-03-30 08:14:11 -05:00
hxtool vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
make_device_config.sh make_device_config.sh: Emit dependency file to directory where included 2013-03-09 12:00:03 +00:00
make-release build: add make dist target (v2) 2012-07-17 15:43:16 -05:00
ordereddict.py qapi: add ordereddict.py helper library 2011-07-21 16:48:14 -03:00
qapi-commands.py qapi: qapi-commands: fix possible leaks on visitor dealloc 2013-07-16 09:15:06 -04:00
qapi-types.py qapi-types/visit.py: Inheritance for structs 2013-10-11 16:50:01 +02:00
qapi-visit.py Adjust qapi-visit for python-2.4.3 2013-11-11 10:02:21 -05:00
qapi.py qapi: Add "errno" to the list of polluted words 2014-01-22 12:07:18 +01:00
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf.sh: Fix shell syntax 2012-05-08 11:15:18 -05:00
qemu-gdb.py scripts: add gdb support script 2012-03-24 12:57:02 +00:00
qtest qtest: add test framework 2012-03-30 08:14:11 -05:00
refresh-pxe-roms.sh roms: rewrite scripts/refresh-pxe-roms.sh 2013-09-30 09:44:35 +02:00
signrom.py signrom: Rewrite as python script 2012-04-16 15:41:20 +02:00
simpletrace.py trace: Fix "Qemu" -> "QEMU" 2012-08-15 15:18:54 +01:00
switch-timer-api misc: Fix case Qemu -> QEMU 2014-02-15 16:10:25 +04:00
texi2pod.pl Support utf8 chars in pod docs 2012-03-24 14:10:25 +00:00
tracetool.py build: do not use TARGET_ARCH 2013-06-14 15:33:10 +01:00
update-acpi.sh acpi: add rules to compile ASL source 2013-10-14 17:48:51 +03:00
update-linux-headers.sh powerpc: linux header sync script includes epapr_hcalls.h 2013-01-07 17:37:09 +01:00