mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-23 16:08:41 -07:00
* More uses of RCU_READ_LOCK_GUARD (Dave, myself)
* QOM doc improvments (Greg) * Cleanups from the Meson conversion (Marc-André) * Support for multiple -accel options (myself) * Many x86 machine cleanup (Philippe, myself) * tests/migration-test cleanup (Juan) * PC machine removal and next round of deprecation (Thomas) * kernel-doc integration (Peter, myself) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAABAgAGBQJd+YJGAAoJEL/70l94x66D0YYIAIZpS6i6NYJC8KHCl49fjI7U qHDN7MiKYTU+l3i0+iGmQL6XN5ClAY0pXkY5LBFIDpsohHR5f4jdrIKjyvcHzuIM gx/NLsiA45/niHYrn/hEo0P7CwGTrrdWL+SVmScnKcwYiBzMO/uYblxlbUBKLPNn eGaKQmEkvlUBR9GS6S1+jYg8234ZRZ4+12t5dqqADBQ7Kc0wn6KC5yebIoQxCgVc 9F5Ezdkl7befrTI7El3EC6aT18bKhIBZIs1PT/hzqzlGFhBuKM7uKDb43Yx8c7XQ bk5vzHmblPAgQyK4OETQ+DM745AOk6vBiJZbR9nrDUXWvUkrEXTQZMJKU0FXdlE= =hyYX -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging * More uses of RCU_READ_LOCK_GUARD (Dave, myself) * QOM doc improvments (Greg) * Cleanups from the Meson conversion (Marc-André) * Support for multiple -accel options (myself) * Many x86 machine cleanup (Philippe, myself) * tests/migration-test cleanup (Juan) * PC machine removal and next round of deprecation (Thomas) * kernel-doc integration (Peter, myself) # gpg: Signature made Wed 18 Dec 2019 01:35:02 GMT # gpg: using RSA key BFFBD25F78C7AE83 # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini/tags/for-upstream: (87 commits) vga: cleanup mapping of VRAM for non-PCI VGA hw/display: Remove "rombar" hack from vga-pci and vmware_vga hw/pci: Remove the "command_serr_enable" property hw/audio: Remove the "use_broken_id" hack from the AC97 device hw/i386: Remove the deprecated machines 0.12 up to 0.15 hw/pci-host: Add Kconfig entry to select the IGD Passthrough Host Bridge hw/pci-host/i440fx: Extract the IGD passthrough host bridge device hw/pci-host/i440fx: Use definitions instead of magic values hw/pci-host/i440fx: Use size_t to iterate over ARRAY_SIZE() hw/pci-host/i440fx: Extract PCII440FXState to "hw/pci-host/i440fx.h" hw/pci-host/i440fx: Correct the header description Fix some comment spelling errors. target/i386: remove unused pci-assign codes WHPX: refactor load library migration: check length directly to make sure the range is aligned memory: include MemoryListener documentation and some missing function parameters docs: add memory API reference memory.h: Silence kernel-doc complaints docs: Create bitops.rst as example of kernel-docs bitops.h: Silence kernel-doc complaints ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
4800819827
133 changed files with 4247 additions and 1551 deletions
|
|
@ -200,8 +200,14 @@ typedef struct InterfaceInfo InterfaceInfo;
|
|||
*
|
||||
* Interfaces allow a limited form of multiple inheritance. Instances are
|
||||
* similar to normal types except for the fact that are only defined by
|
||||
* their classes and never carry any state. You can dynamically cast an object
|
||||
* to one of its #Interface types and vice versa.
|
||||
* their classes and never carry any state. As a consequence, a pointer to
|
||||
* an interface instance should always be of incomplete type in order to be
|
||||
* sure it cannot be dereferenced. That is, you should define the
|
||||
* 'typedef struct SomethingIf SomethingIf' so that you can pass around
|
||||
* 'SomethingIf *si' arguments, but not define a 'struct SomethingIf { ... }'.
|
||||
* The only things you can validly do with a 'SomethingIf *' are to pass it as
|
||||
* an argument to a method on its corresponding SomethingIfClass, or to
|
||||
* dynamically cast it to an object that implements the interface.
|
||||
*
|
||||
* # Methods #
|
||||
*
|
||||
|
|
@ -592,6 +598,18 @@ struct InterfaceClass
|
|||
((interface *)object_dynamic_cast_assert(OBJECT((obj)), (name), \
|
||||
__FILE__, __LINE__, __func__))
|
||||
|
||||
/**
|
||||
* object_new_with_class:
|
||||
* @klass: The class to instantiate.
|
||||
*
|
||||
* This function will initialize a new object using heap allocated memory.
|
||||
* The returned object has a reference count of 1, and will be freed when
|
||||
* the last reference is dropped.
|
||||
*
|
||||
* Returns: The newly allocated and instantiated object.
|
||||
*/
|
||||
Object *object_new_with_class(ObjectClass *klass);
|
||||
|
||||
/**
|
||||
* object_new:
|
||||
* @typename: The name of the type of the object to instantiate.
|
||||
|
|
@ -679,6 +697,7 @@ void object_apply_global_props(Object *obj, const GPtrArray *props,
|
|||
Error **errp);
|
||||
void object_set_machine_compat_props(GPtrArray *compat_props);
|
||||
void object_set_accelerator_compat_props(GPtrArray *compat_props);
|
||||
void object_register_sugar_prop(const char *driver, const char *prop, const char *value);
|
||||
void object_apply_compat_props(Object *obj);
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue