diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/devel/build-system.rst | 17 | ||||
-rw-r--r-- | docs/devel/index.rst | 1 | ||||
-rw-r--r-- | docs/devel/modules.rst | 5 | ||||
-rw-r--r-- | docs/devel/qom.rst | 8 |
4 files changed, 31 insertions, 0 deletions
diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst index 7ef36f42d0..fd1650442e 100644 --- a/docs/devel/build-system.rst +++ b/docs/devel/build-system.rst @@ -272,6 +272,23 @@ Target-dependent emulator sourcesets: target_arch += {'arm': arm_ss} target_softmmu_arch += {'arm': arm_softmmu_ss} +Module sourcesets: + There are two dictionaries for modules: `modules` is used for + target-independent modules and `target_modules` is used for + target-dependent modules. When modules are disabled the `module` + source sets are added to `softmmu_ss` and the `target_modules` + source sets are added to `specific_ss`. + + Both dictionaries are nested. One dictionary is created per + subdirectory, and these per-subdirectory dictionaries are added to + the toplevel dictionaries. For example:: + + hw_display_modules = {} + qxl_ss = ss.source_set() + ... + hw_display_modules += { 'qxl': qxl_ss } + modules += { 'hw-display': hw_display_modules } + Utility sourcesets: All binaries link with a static library `libqemuutil.a`. This library is built from several sourcesets; most of them however host generated diff --git a/docs/devel/index.rst b/docs/devel/index.rst index 977c3893bd..ba90badbbd 100644 --- a/docs/devel/index.rst +++ b/docs/devel/index.rst @@ -41,6 +41,7 @@ Contents: s390-dasd-ipl clocks qom + modules block-coroutine-wrapper multi-process ebpf_rss diff --git a/docs/devel/modules.rst b/docs/devel/modules.rst new file mode 100644 index 0000000000..066f347b89 --- /dev/null +++ b/docs/devel/modules.rst @@ -0,0 +1,5 @@ +============ +Qemu modules +============ + +.. kernel-doc:: include/qemu/module.h diff --git a/docs/devel/qom.rst b/docs/devel/qom.rst index 42d0dc4f4d..e5fe3597cd 100644 --- a/docs/devel/qom.rst +++ b/docs/devel/qom.rst @@ -87,6 +87,14 @@ specific type: #define MY_DEVICE(obj) \ OBJECT_CHECK(MyDevice, obj, TYPE_MY_DEVICE) +In case the ObjectClass implementation can be built as module a +module_obj() line must be added to make sure qemu loads the module +when the object is needed. + +.. code-block:: c + + module_obj(TYPE_MY_DEVICE); + Class Initialization ==================== |