qemu-e2k/docs/devel
Kevin Wolf 6a8c0b5102 qapi: Add feature flags to struct types
Sometimes, the behaviour of QEMU changes without a change in the QMP
syntax (usually by allowing values or operations that previously
resulted in an error). QMP clients may still need to know whether
they can rely on the changed behavior.

Let's add feature flags to the QAPI schema language, so that we can make
such changes visible with schema introspection.

An example for a schema definition using feature flags looks like this:

    { 'struct': 'TestType',
      'data': { 'number': 'int' },
      'features': [ 'allow-negative-numbers' ] }

Introspection information then looks like this:

    { "name": "TestType", "meta-type": "object",
      "members": [
          { "name": "number", "type": "int" } ],
      "features": [ "allow-negative-numbers" ] }

This patch implements feature flags only for struct types. We'll
implement them more widely as needed.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20190606153803.5278-2-armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2019-06-12 18:34:26 +02:00
..
atomics.txt docs: document atomic_load_acquire and atomic_store_release 2018-03-12 16:12:47 +01:00
blkdebug.txt docs: create config/, devel/ and spin/ subdirectories 2017-06-07 18:22:03 +02:00
blkverify.txt docs: create config/, devel/ and spin/ subdirectories 2017-06-07 18:22:03 +02:00
build-system.txt docs/devel/build-system: Update an example 2019-06-06 11:25:00 +02:00
conf.py docs: Provide separate conf.py for each manual we want 2019-03-07 14:26:46 +00:00
decodetree.rst decodetree: Allow grouping of overlapping patterns 2019-03-12 09:46:58 -07:00
index.rst docs: add Secure Coding Practices to developer docs 2019-05-10 10:53:52 +01:00
kconfig.rst Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies 2019-05-13 09:36:31 +02:00
loads-stores.rst Rename cpu_physical_memory_write_rom() to address_space_write_rom() 2018-12-14 13:30:48 +00:00
lockcnt.txt docs: fix broken paths to docs/devel/atomics.txt 2017-07-31 13:12:47 +03:00
memory.rst docs: Convert memory.txt to rst format 2019-03-07 14:26:44 +00:00
migration.rst migration: Add post_save function to VMStateDescription 2019-01-21 10:38:55 +00:00
multi-thread-tcg.txt docs: Grammar and spelling fixes 2018-07-13 10:16:04 +01:00
multiple-iothreads.txt block: Remove bdrv_set_aio_context() 2019-06-04 16:55:58 +02:00
qapi-code-gen.txt qapi: Add feature flags to struct types 2019-06-12 18:34:26 +02:00
rcu.txt docs: create config/, devel/ and spin/ subdirectories 2017-06-07 18:22:03 +02:00
s390-dasd-ipl.txt s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
secure-coding-practices.rst docs: add Secure Coding Practices to developer docs 2019-05-10 10:53:52 +01:00
stable-process.rst docs: document our stable process 2018-02-19 10:51:16 +01:00
testing.rst tests/acceptance: look for target architecture in test tags first 2019-05-02 21:33:26 -03:00
tracing.txt cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
virtio-migration.txt docs: create config/, devel/ and spin/ subdirectories 2017-06-07 18:22:03 +02:00
writing-qmp-commands.txt qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-02 13:45:57 -06:00