All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Stefan Berger" <stefanb@linux.ibm.com>
Subject: [PATCH v4 27/32] qdev: Rename qdev_propinfo_* to field_prop_*
Date: Fri, 11 Dec 2020 17:05:24 -0500	[thread overview]
Message-ID: <20201211220529.2290218-28-ehabkost@redhat.com> (raw)
In-Reply-To: <20201211220529.2290218-1-ehabkost@redhat.com>

These functions will be moved to be part of QOM, so rename them.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Changes v2:
* Rename to field_prop_* instead of object_propinfo_*
---
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org
---
 hw/core/qdev-prop-internal.h     | 28 +++++++--------
 hw/core/qdev-properties-system.c | 48 ++++++++++++-------------
 hw/core/qdev-properties.c        | 62 ++++++++++++++++----------------
 3 files changed, 69 insertions(+), 69 deletions(-)

diff --git a/hw/core/qdev-prop-internal.h b/hw/core/qdev-prop-internal.h
index 6f17ddf271..740a5e530b 100644
--- a/hw/core/qdev-prop-internal.h
+++ b/hw/core/qdev-prop-internal.h
@@ -8,22 +8,22 @@
 #ifndef HW_CORE_QDEV_PROP_INTERNAL_H
 #define HW_CORE_QDEV_PROP_INTERNAL_H
 
-void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
-                            void *opaque, Error **errp);
-void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
-                            void *opaque, Error **errp);
+void field_prop_get_enum(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp);
+void field_prop_set_enum(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp);
 
-void qdev_propinfo_set_default_value_enum(ObjectProperty *op,
-                                          const Property *prop);
-void qdev_propinfo_set_default_value_int(ObjectProperty *op,
-                                         const Property *prop);
-void qdev_propinfo_set_default_value_uint(ObjectProperty *op,
-                                          const Property *prop);
+void field_prop_set_default_value_enum(ObjectProperty *op,
+                                       const Property *prop);
+void field_prop_set_default_value_int(ObjectProperty *op,
+                                      const Property *prop);
+void field_prop_set_default_value_uint(ObjectProperty *op,
+                                       const Property *prop);
 
-void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
-                             void *opaque, Error **errp);
-void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
-                              void *opaque, Error **errp);
+void field_prop_get_int32(Object *obj, Visitor *v, const char *name,
+                          void *opaque, Error **errp);
+void field_prop_get_size32(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp);
 
 /**
  * object_property_add_field: Add a field property to an object instance
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index f31aea3de1..590c5f3d97 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -537,9 +537,9 @@ QEMU_BUILD_BUG_ON(sizeof(LostTickPolicy) != sizeof(int));
 const PropertyInfo qdev_prop_losttickpolicy = {
     .name  = "LostTickPolicy",
     .enum_table  = &LostTickPolicy_lookup,
-    .get   = qdev_propinfo_get_enum,
-    .set   = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get   = field_prop_get_enum,
+    .set   = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- blocksize --- */
@@ -568,9 +568,9 @@ const PropertyInfo qdev_prop_blocksize = {
     .name  = "size",
     .description = "A power of two between " MIN_BLOCK_SIZE_STR
                    " and " MAX_BLOCK_SIZE_STR,
-    .get   = qdev_propinfo_get_size32,
+    .get   = field_prop_get_size32,
     .set   = set_blocksize,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- Block device error handling policy --- */
@@ -582,9 +582,9 @@ const PropertyInfo qdev_prop_blockdev_on_error = {
     .description = "Error handling policy, "
                    "report/ignore/enospc/stop/auto",
     .enum_table = &BlockdevOnError_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- BIOS CHS translation */
@@ -596,9 +596,9 @@ const PropertyInfo qdev_prop_bios_chs_trans = {
     .description = "Logical CHS translation algorithm, "
                    "auto/none/lba/large/rechs",
     .enum_table = &BiosAtaTranslation_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- FDC default drive types */
@@ -608,9 +608,9 @@ const PropertyInfo qdev_prop_fdc_drive_type = {
     .description = "FDC drive type, "
                    "144/288/120/none/auto",
     .enum_table = &FloppyDriveType_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- MultiFDCompression --- */
@@ -620,9 +620,9 @@ const PropertyInfo qdev_prop_multifd_compression = {
     .description = "multifd_compression values, "
                    "none/zlib/zstd",
     .enum_table = &MultiFDCompression_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- Reserved Region --- */
@@ -766,9 +766,9 @@ const PropertyInfo qdev_prop_pci_devfn = {
     .name  = "int32",
     .description = "Slot and optional function number, example: 06.0 or 06",
     .print = print_pci_devfn,
-    .get   = qdev_propinfo_get_int32,
+    .get   = field_prop_get_int32,
     .set   = set_pci_devfn,
-    .set_default_value = qdev_propinfo_set_default_value_int,
+    .set_default_value = field_prop_set_default_value_int,
 };
 
 /* --- pci host address --- */
@@ -882,9 +882,9 @@ const PropertyInfo qdev_prop_off_auto_pcibar = {
     .name = "OffAutoPCIBAR",
     .description = "off/auto/bar0/bar1/bar2/bar3/bar4/bar5",
     .enum_table = &OffAutoPCIBAR_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- PCIELinkSpeed 2_5/5/8/16 -- */
@@ -954,7 +954,7 @@ const PropertyInfo qdev_prop_pcie_link_speed = {
     .enum_table = &PCIELinkSpeed_lookup,
     .get = get_prop_pcielinkspeed,
     .set = set_prop_pcielinkspeed,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- PCIELinkWidth 1/2/4/8/12/16/32 -- */
@@ -1042,7 +1042,7 @@ const PropertyInfo qdev_prop_pcie_link_width = {
     .enum_table = &PCIELinkWidth_lookup,
     .get = get_prop_pcielinkwidth,
     .set = set_prop_pcielinkwidth,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- UUID --- */
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 8436b60ec4..d2f565f552 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -96,8 +96,8 @@ static ObjectPropertyAccessor *field_prop_setter(const PropertyInfo *info)
     return info->set ? field_prop_set : NULL;
 }
 
-void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
-                            void *opaque, Error **errp)
+void field_prop_get_enum(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp)
 {
     Property *prop = opaque;
     int *ptr = qdev_get_prop_ptr(obj, prop);
@@ -105,8 +105,8 @@ void qdev_propinfo_get_enum(Object *obj, Visitor *v, const char *name,
     visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
 }
 
-void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
-                            void *opaque, Error **errp)
+void field_prop_set_enum(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp)
 {
     Property *prop = opaque;
     int *ptr = qdev_get_prop_ptr(obj, prop);
@@ -114,8 +114,8 @@ void qdev_propinfo_set_enum(Object *obj, Visitor *v, const char *name,
     visit_type_enum(v, name, ptr, prop->info->enum_table, errp);
 }
 
-void qdev_propinfo_set_default_value_enum(ObjectProperty *op,
-                                          const Property *prop)
+void field_prop_set_default_value_enum(ObjectProperty *op,
+                                       const Property *prop)
 {
     object_property_set_default_str(op,
         qapi_enum_lookup(prop->info->enum_table, prop->defval.i));
@@ -123,9 +123,9 @@ void qdev_propinfo_set_default_value_enum(ObjectProperty *op,
 
 const PropertyInfo qdev_prop_enum = {
     .name  = "enum",
-    .get   = qdev_propinfo_get_enum,
-    .set   = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get   = field_prop_get_enum,
+    .set   = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* Bit */
@@ -278,14 +278,14 @@ static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
     visit_type_uint8(v, name, ptr, errp);
 }
 
-void qdev_propinfo_set_default_value_int(ObjectProperty *op,
-                                         const Property *prop)
+void field_prop_set_default_value_int(ObjectProperty *op,
+                                      const Property *prop)
 {
     object_property_set_default_int(op, prop->defval.i);
 }
 
-void qdev_propinfo_set_default_value_uint(ObjectProperty *op,
-                                          const Property *prop)
+void field_prop_set_default_value_uint(ObjectProperty *op,
+                                       const Property *prop)
 {
     object_property_set_default_uint(op, prop->defval.u);
 }
@@ -294,7 +294,7 @@ const PropertyInfo qdev_prop_uint8 = {
     .name  = "uint8",
     .get   = get_uint8,
     .set   = set_uint8,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- 16bit integer --- */
@@ -321,7 +321,7 @@ const PropertyInfo qdev_prop_uint16 = {
     .name  = "uint16",
     .get   = get_uint16,
     .set   = set_uint16,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- 32bit integer --- */
@@ -344,8 +344,8 @@ static void set_uint32(Object *obj, Visitor *v, const char *name,
     visit_type_uint32(v, name, ptr, errp);
 }
 
-void qdev_propinfo_get_int32(Object *obj, Visitor *v, const char *name,
-                             void *opaque, Error **errp)
+void field_prop_get_int32(Object *obj, Visitor *v, const char *name,
+                          void *opaque, Error **errp)
 {
     Property *prop = opaque;
     int32_t *ptr = qdev_get_prop_ptr(obj, prop);
@@ -366,14 +366,14 @@ const PropertyInfo qdev_prop_uint32 = {
     .name  = "uint32",
     .get   = get_uint32,
     .set   = set_uint32,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 const PropertyInfo qdev_prop_int32 = {
     .name  = "int32",
-    .get   = qdev_propinfo_get_int32,
+    .get   = field_prop_get_int32,
     .set   = set_int32,
-    .set_default_value = qdev_propinfo_set_default_value_int,
+    .set_default_value = field_prop_set_default_value_int,
 };
 
 /* --- 64bit integer --- */
@@ -418,14 +418,14 @@ const PropertyInfo qdev_prop_uint64 = {
     .name  = "uint64",
     .get   = get_uint64,
     .set   = set_uint64,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 const PropertyInfo qdev_prop_int64 = {
     .name  = "int64",
     .get   = get_int64,
     .set   = set_int64,
-    .set_default_value = qdev_propinfo_set_default_value_int,
+    .set_default_value = field_prop_set_default_value_int,
 };
 
 /* --- string --- */
@@ -477,15 +477,15 @@ const PropertyInfo qdev_prop_on_off_auto = {
     .name = "OnOffAuto",
     .description = "on/off/auto",
     .enum_table = &OnOffAuto_lookup,
-    .get = qdev_propinfo_get_enum,
-    .set = qdev_propinfo_set_enum,
-    .set_default_value = qdev_propinfo_set_default_value_enum,
+    .get = field_prop_get_enum,
+    .set = field_prop_set_enum,
+    .set_default_value = field_prop_set_default_value_enum,
 };
 
 /* --- 32bit unsigned int 'size' type --- */
 
-void qdev_propinfo_get_size32(Object *obj, Visitor *v, const char *name,
-                              void *opaque, Error **errp)
+void field_prop_get_size32(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     Property *prop = opaque;
     uint32_t *ptr = qdev_get_prop_ptr(obj, prop);
@@ -518,9 +518,9 @@ static void set_size32(Object *obj, Visitor *v, const char *name, void *opaque,
 
 const PropertyInfo qdev_prop_size32 = {
     .name  = "size",
-    .get = qdev_propinfo_get_size32,
+    .get = field_prop_get_size32,
     .set = set_size32,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- support for array properties --- */
@@ -617,7 +617,7 @@ const PropertyInfo qdev_prop_arraylen = {
     .name = "uint32",
     .get = get_uint32,
     .set = set_prop_arraylen,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- public helpers --- */
@@ -816,7 +816,7 @@ const PropertyInfo qdev_prop_size = {
     .name  = "size",
     .get = get_size,
     .set = set_size,
-    .set_default_value = qdev_propinfo_set_default_value_uint,
+    .set_default_value = field_prop_set_default_value_uint,
 };
 
 /* --- object link property --- */
-- 
2.28.0



  parent reply	other threads:[~2020-12-11 22:51 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11 22:04 [PATCH v4 00/32] qdev property code cleanup Eduardo Habkost
2020-12-11 22:04 ` [PATCH v4 01/32] cs4231: Get rid of empty property array Eduardo Habkost
2020-12-15  8:22   ` Gerd Hoffmann
2020-12-11 22:04 ` [PATCH v4 02/32] cpu: Move cpu_common_props to hw/core/cpu.c Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 03/32] qdev: Move property code to qdev-properties.[ch] Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 04/32] qdev: Check dev->realized at set_size() Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 05/32] sparc: Check dev->realized at sparc_set_nwindows() Eduardo Habkost
2020-12-15 11:45   ` Mark Cave-Ayland
2020-12-11 22:05 ` [PATCH v4 06/32] qdev: Don't use dev->id on set_size32() error message Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 07/32] qdev: Make PropertyInfo.print method get Object* argument Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 08/32] qdev: Make bit_prop_set() " Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 09/32] qdev: Make qdev_get_prop_ptr() get Object* arg Eduardo Habkost
2020-12-11 22:05   ` Eduardo Habkost
2020-12-14  7:46   ` Paul Durrant
2020-12-14  7:46     ` Paul Durrant
2020-12-11 22:05 ` [PATCH v4 10/32] qdev: Make qdev_find_global_prop() get Object* argument Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 11/32] qdev: Make check_prop_still_unset() " Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 12/32] qdev: Make error_set_from_qdev_prop_error() " Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 13/32] qdev: Make qdev_propinfo_get_uint16() static Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 14/32] qdev: Move UUID property to qdev-properties-system.c Eduardo Habkost
2020-12-14 14:18   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 15/32] qdev: Move softmmu properties to qdev-properties-system.h Eduardo Habkost
2020-12-14 14:25   ` Igor Mammedov
2020-12-14 17:40     ` Eduardo Habkost
2020-12-15 14:40   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 16/32] qdev: Reuse DEFINE_PROP in all DEFINE_PROP_* macros Eduardo Habkost
2020-12-14 14:32   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 17/32] sparc: Use DEFINE_PROP for nwindows property Eduardo Habkost
2020-12-14 14:42   ` Igor Mammedov
2020-12-14 17:30     ` Eduardo Habkost
2020-12-15 14:39       ` Igor Mammedov
2020-12-15 11:52   ` Mark Cave-Ayland
2020-12-11 22:05 ` [PATCH v4 18/32] qdev: Get just property name at error_set_from_qdev_prop_error() Eduardo Habkost
2020-12-14 10:41   ` Cornelia Huck
2020-12-14 14:44   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 19/32] qdev: Avoid using prop->name unnecessarily Eduardo Habkost
2020-12-14 14:45   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 20/32] qdev: Add name parameter to qdev_class_add_property() Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 21/32] qdev: Add name argument to PropertyInfo.create method Eduardo Habkost
2020-12-14 14:47   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 22/32] qdev: Wrap getters and setters in separate helpers Eduardo Habkost
2020-12-15 14:42   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 23/32] qdev: Move dev->realized check to qdev_property_set() Eduardo Habkost
2020-12-11 22:05   ` Eduardo Habkost
2020-12-14  7:46   ` Paul Durrant
2020-12-14  7:46     ` Paul Durrant
2020-12-14 10:46   ` Cornelia Huck
2020-12-14 10:46     ` Cornelia Huck
2020-12-14 14:55   ` Igor Mammedov
2020-12-14 14:55     ` Igor Mammedov
2020-12-14 17:24     ` Eduardo Habkost
2020-12-14 17:24       ` Eduardo Habkost
2020-12-15 14:24       ` Igor Mammedov
2020-12-15 14:24         ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 24/32] qdev: Make PropertyInfo.create return ObjectProperty* Eduardo Habkost
2020-12-14 14:57   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 25/32] qdev: Make qdev_class_add_property() more flexible Eduardo Habkost
2020-12-14 15:00   ` Igor Mammedov
2020-12-14 18:28     ` Eduardo Habkost
2020-12-15 14:25       ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 26/32] qdev: Separate generic and device-specific property registration Eduardo Habkost
2020-12-15 14:33   ` Igor Mammedov
2020-12-11 22:05 ` Eduardo Habkost [this message]
2020-12-15 14:35   ` [PATCH v4 27/32] qdev: Rename qdev_propinfo_* to field_prop_* Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 28/32] qdev: Move qdev_prop_tpm declaration to tpm_prop.h Eduardo Habkost
2020-12-15 14:36   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 29/32] qdev: Rename qdev_prop_* to prop_info_* Eduardo Habkost
2020-12-11 22:05 ` [PATCH v4 30/32] qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() Eduardo Habkost
2020-12-11 22:05   ` Eduardo Habkost
2020-12-14  7:47   ` Paul Durrant
2020-12-14  7:47     ` Paul Durrant
2020-12-14 10:56   ` Cornelia Huck
2020-12-14 10:56     ` Cornelia Huck
2020-12-14 15:13   ` Igor Mammedov
2020-12-14 15:13     ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 31/32] qdev: Avoid unnecessary DeviceState* variable at set_prop_arraylen() Eduardo Habkost
2020-12-14 15:11   ` Igor Mammedov
2020-12-11 22:05 ` [PATCH v4 32/32] tests: Add unit test for qdev array properties Eduardo Habkost
2020-12-14 19:42 ` [PATCH v4 00/32] qdev property code cleanup Eduardo Habkost
2020-12-15 15:40   ` Eduardo Habkost
2020-12-15 16:57     ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201211220529.2290218-28-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.