* [PATCH v3 41/74] kvm: Move QOM macros to kvm.h [not found] <20200825192110.3528606-1-ehabkost@redhat.com> @ 2020-08-25 19:20 ` Eduardo Habkost [not found] ` <20200825192110.3528606-63-ehabkost@redhat.com> ` (2 subsequent siblings) 3 siblings, 0 replies; 4+ messages in thread From: Eduardo Habkost @ 2020-08-25 19:20 UTC (permalink / raw) To: qemu-devel; +Cc: Paolo Bonzini, Daniel P. Berrange, kvm Move QOM macros close to the KVMState typedef. This will make future conversion to OBJECT_DECLARE* easier. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- Changes v2 -> v3: none Changes series v1 -> v2: new patch in series v2 Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: kvm@vger.kernel.org Cc: qemu-devel@nongnu.org --- include/sysemu/kvm.h | 6 ++++++ include/sysemu/kvm_int.h | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index b4174d941c..8445a88db1 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -17,6 +17,7 @@ #include "qemu/queue.h" #include "hw/core/cpu.h" #include "exec/memattrs.h" +#include "sysemu/accel.h" #ifdef NEED_CPU_H # ifdef CONFIG_KVM @@ -199,7 +200,12 @@ typedef struct KVMCapabilityInfo { #define KVM_CAP_LAST_INFO { NULL, 0 } struct KVMState; + +#define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm") typedef struct KVMState KVMState; +#define KVM_STATE(obj) \ + OBJECT_CHECK(KVMState, (obj), TYPE_KVM_ACCEL) + extern KVMState *kvm_state; typedef struct Notifier Notifier; diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h index c660a70c51..65740806da 100644 --- a/include/sysemu/kvm_int.h +++ b/include/sysemu/kvm_int.h @@ -33,11 +33,6 @@ typedef struct KVMMemoryListener { int as_id; } KVMMemoryListener; -#define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm") - -#define KVM_STATE(obj) \ - OBJECT_CHECK(KVMState, (obj), TYPE_KVM_ACCEL) - void kvm_memory_listener_register(KVMState *s, KVMMemoryListener *kml, AddressSpace *as, int as_id); -- 2.26.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <20200825192110.3528606-63-ehabkost@redhat.com>]
* Re: [PATCH v3 62/74] [automated] Use TYPE_INFO macro [not found] ` <20200825192110.3528606-63-ehabkost@redhat.com> @ 2020-08-26 8:02 ` Juan Quintela 0 siblings, 0 replies; 4+ messages in thread From: Juan Quintela @ 2020-08-26 8:02 UTC (permalink / raw) To: Eduardo Habkost Cc: qemu-devel, kvm, xen-devel, qemu-block, qemu-arm, qemu-riscv, qemu-s390x, qemu-ppc, haxm-team Eduardo Habkost <ehabkost@redhat.com> wrote: > Generated using: > $ ./scripts/codeconverter/converter.py -i --passes=2 \ > --pattern=TypeRegisterCall,TypeInitMacro $(git grep -l TypeInfo -- '*.[ch]') > > One notable difference is that files declaring multiple types > will now have multiple separate __construtor__ functions > declared, instead of one for all types. > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > Changes v2 -> v3: > * Removed hunks due to rebase conflicts: > hw/sd/milkymist-memcard.c hw/sd/pl181.c > * Reviewed-by line from Daniel was kept, as no additional hunks > are introduced in this version > > Changes v1 -> v2: > * Add note about multiple constructor functions to commit message > (suggested by Daniel) > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> [ I removed CC'd people, -ETOOMANYRECIPIENTS] .... > diff --git a/migration/migration.c b/migration/migration.c > index dbd4afa1e8..561e2ae697 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -3844,10 +3844,6 @@ static const TypeInfo migration_type = { > .instance_init = migration_instance_init, > .instance_finalize = migration_instance_finalize, > }; > +TYPE_INFO(migration_type) > > -static void register_migration_types(void) > -{ > - type_register_static(&migration_type); > -} > > -type_init(register_migration_types); > diff --git a/migration/rdma.c b/migration/rdma.c > index bea6532813..15ad985d26 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -3942,13 +3942,9 @@ static const TypeInfo qio_channel_rdma_info = { > .instance_finalize = qio_channel_rdma_finalize, > .class_init = qio_channel_rdma_class_init, > }; > +TYPE_INFO(qio_channel_rdma_info) > > -static void qio_channel_rdma_register_types(void) > -{ > - type_register_static(&qio_channel_rdma_info); > -} > > -type_init(qio_channel_rdma_register_types); > > static QEMUFile *qemu_fopen_rdma(RDMAContext *rdma, const char *mode) > { For the migration bits. Reviewed-by: Juan Quintela <quintela@redhat.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20200825192110.3528606-65-ehabkost@redhat.com>]
* Re: [PATCH v3 64/74] [automated] Move QOM typedefs and add missing includes [not found] ` <20200825192110.3528606-65-ehabkost@redhat.com> @ 2020-08-26 8:05 ` Juan Quintela 0 siblings, 0 replies; 4+ messages in thread From: Juan Quintela @ 2020-08-26 8:05 UTC (permalink / raw) To: Eduardo Habkost Cc: qemu-devel, qemu-arm, qemu-block, qemu-s390x, qemu-ppc, kvm, xen-devel, qemu-riscv [dropped people from CC] Eduardo Habkost <ehabkost@redhat.com> wrote: > Some typedefs and macros are defined after the type check macros. > This makes it difficult to automatically replace their > definitions with OBJECT_DECLARE_TYPE. > > Patch generated using: > > $ ./scripts/codeconverter/converter.py -i \ > --pattern=QOMStructTypedefSplit $(git grep -l '' -- '*.[ch]') > > which will split "typdef struct { ... } TypedefName" > declarations. > > Followed by: > > $ ./scripts/codeconverter/converter.py -i --pattern=MoveSymbols \ > $(git grep -l '' -- '*.[ch]') > > which will: > - move the typedefs and #defines above the type check macros > - add missing #include "qom/object.h" lines if necessary > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > Changes v2 -> v3: > * Removed hunks due to rebase conflicts: hw/arm/integratorcp.c > hw/arm/versatilepb.c hw/arm/vexpress.c hw/sd/pl181.c > include/hw/ppc/xive.h > * Removed hunks due to conflicts with other patches in this > series: include/hw/block/swim.h include/hw/display/macfb.h > include/hw/rdma/rdma.h migration/migration.h > target/rx/cpu-qom.h > * Reviewed-by line from Daniel was kept, as no additional hunks > are introduced in this version > > Changes v1 -> v2: > * Re-ran script after moving a few macros and typedefs. Now the > patch also changes: > - SysbusAHCIState at hw/ide/ahci.h > - VhostUserGPU at hw/virtio/virtio-gpu.h > - I8257State at hw/dma/i8257.h > - AllwinnerAHCIState at hw/ide/ahci.h > - ISAKBDState at hw/input/i8042.h > - PIIXState at hw/southbridge/piix.h > - VFIOPCIDevice at hw/vfio/pci.h > - missing include at hw/net/rocker/rocker.h > - missing include at hw/scsi/mptsas.h > - missing include at include/hw/arm/pxa.h > - missing include at include/sysemu/kvm.h > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > diff --git a/migration/rdma.c b/migration/rdma.c > index 15ad985d26..e3eac913bc 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -35,6 +35,7 @@ > #include <arpa/inet.h> > #include <rdma/rdma_cma.h> > #include "trace.h" > +#include "qom/object.h" > > /* > * Print and error on both the Monitor and the Log file. > @@ -397,10 +398,10 @@ typedef struct RDMAContext { > } RDMAContext; > > #define TYPE_QIO_CHANNEL_RDMA "qio-channel-rdma" > +typedef struct QIOChannelRDMA QIOChannelRDMA; > #define QIO_CHANNEL_RDMA(obj) \ > OBJECT_CHECK(QIOChannelRDMA, (obj), TYPE_QIO_CHANNEL_RDMA) > > -typedef struct QIOChannelRDMA QIOChannelRDMA; > > > struct QIOChannelRDMA { Reviewed-by: Juan Quintela <quintela@redhat.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20200825192110.3528606-67-ehabkost@redhat.com>]
* Re: [PATCH v3 66/74] [automated] Use DECLARE_*CHECKER* macros [not found] ` <20200825192110.3528606-67-ehabkost@redhat.com> @ 2020-08-26 8:08 ` Juan Quintela 0 siblings, 0 replies; 4+ messages in thread From: Juan Quintela @ 2020-08-26 8:08 UTC (permalink / raw) To: Eduardo Habkost Cc: qemu-devel, qemu-arm, qemu-block, qemu-s390x, qemu-ppc, kvm, xen-devel, qemu-riscv Eduardo Habkost <ehabkost@redhat.com> wrote: > $ ./scripts/codeconverter/converter.py -i \ > --pattern=TypeCheckMacro $(git grep -l '' -- '*.[ch]') > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > --- > Changes v2 -> v3: > * Removed hunks due to rebase conflicts: > hw/arm/integratorcp.c hw/arm/versatilepb.c hw/sd/pl181.c > include/hw/ppc/xive.h > * Reviewed-by line from Daniel was kept, as no additional hunks > are introduced in this version [Dropeed CC'd] ... > diff --git a/migration/rdma.c b/migration/rdma.c > index e3eac913bc..87cb277d05 100644 > --- a/migration/rdma.c > +++ b/migration/rdma.c > @@ -399,8 +399,8 @@ typedef struct RDMAContext { > > #define TYPE_QIO_CHANNEL_RDMA "qio-channel-rdma" > typedef struct QIOChannelRDMA QIOChannelRDMA; > -#define QIO_CHANNEL_RDMA(obj) \ > - OBJECT_CHECK(QIOChannelRDMA, (obj), TYPE_QIO_CHANNEL_RDMA) > +DECLARE_INSTANCE_CHECKER(QIOChannelRDMA, QIO_CHANNEL_RDMA, > + TYPE_QIO_CHANNEL_RDMA) > > > Reviewed-by: Juan Quintela <quintela@redhat.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-08-26 8:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20200825192110.3528606-1-ehabkost@redhat.com>
2020-08-25 19:20 ` [PATCH v3 41/74] kvm: Move QOM macros to kvm.h Eduardo Habkost
[not found] ` <20200825192110.3528606-63-ehabkost@redhat.com>
2020-08-26 8:02 ` [PATCH v3 62/74] [automated] Use TYPE_INFO macro Juan Quintela
[not found] ` <20200825192110.3528606-65-ehabkost@redhat.com>
2020-08-26 8:05 ` [PATCH v3 64/74] [automated] Move QOM typedefs and add missing includes Juan Quintela
[not found] ` <20200825192110.3528606-67-ehabkost@redhat.com>
2020-08-26 8:08 ` [PATCH v3 66/74] [automated] Use DECLARE_*CHECKER* macros Juan Quintela
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).