mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-07 15:07:42 -07:00
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>
|
||
|---|---|---|
| .. | ||
| acl.c | ||
| aes.c | ||
| bitmap.c | ||
| bitops.c | ||
| cache-utils.c | ||
| compatfd.c | ||
| crc32c.c | ||
| cutils.c | ||
| envlist.c | ||
| error.c | ||
| event_notifier-posix.c | ||
| event_notifier-win32.c | ||
| fifo8.c | ||
| getauxval.c | ||
| hbitmap.c | ||
| hexdump.c | ||
| host-utils.c | ||
| iov.c | ||
| Makefile.objs | ||
| module.c | ||
| notify.c | ||
| osdep.c | ||
| oslib-posix.c | ||
| oslib-win32.c | ||
| path.c | ||
| qemu-config.c | ||
| qemu-error.c | ||
| qemu-openpty.c | ||
| qemu-option.c | ||
| qemu-progress.c | ||
| qemu-sockets.c | ||
| qemu-thread-posix.c | ||
| qemu-thread-win32.c | ||
| qemu-timer-common.c | ||
| readline.c | ||
| throttle.c | ||
| unicode.c | ||
| uri.c | ||