qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/8] hw/hyperv: remove duplication compilation units
@ 2025-04-24 23:28 Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 1/8] hw/hyperv/hv-balloon-stub: common compilation unit Pierrick Bouvier
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Work towards having a single binary, by removing duplicated object files.

v2
- remove osdep from header
- use hardcoded buffer size for syndbg, assuming page size is always 4Kb.

v3
- fix assert for page size.

v4
- use KiB unit

v5
- rebase on top of system memory common series
- make hw/hyperv/hyperv common

v6
- rebase on top of master (now contains all changes needed for memory access)
- finish making hw/hyperv/hyperv common (hw/hyperv/hyperv.c)

Pierrick Bouvier (8):
  hw/hyperv/hv-balloon-stub: common compilation unit
  hw/hyperv/hyperv.h: header cleanup
  hw/hyperv/vmbus: common compilation unit
  hw/hyperv/syndbg: common compilation unit
  hw/hyperv/balloon: common balloon compilation units
  hw/hyperv/hyperv_testdev: common compilation unit
  include/system: make functions accessible from common code
  hw/hyperv/hyperv: common compilation unit

 include/hw/hyperv/hyperv.h |  3 ++-
 include/system/kvm.h       |  8 ++++----
 hw/hyperv/hyperv.c         |  3 ++-
 hw/hyperv/syndbg.c         |  9 ++++++---
 hw/hyperv/vmbus.c          |  2 +-
 hw/hyperv/meson.build      | 11 ++++++-----
 6 files changed, 21 insertions(+), 15 deletions(-)

-- 
2.39.5



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v5 1/8] hw/hyperv/hv-balloon-stub: common compilation unit
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 2/8] hw/hyperv/hyperv.h: header cleanup Pierrick Bouvier
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index d3d2668c71a..f4aa0a5ada9 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -2,4 +2,5 @@ specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
 specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
 specific_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
 specific_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
-specific_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'), if_false: files('hv-balloon-stub.c'))
+specific_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
+system_ss.add(when: 'CONFIG_HV_BALLOON', if_false: files('hv-balloon-stub.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 2/8] hw/hyperv/hyperv.h: header cleanup
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 1/8] hw/hyperv/hv-balloon-stub: common compilation unit Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 3/8] hw/hyperv/vmbus: common compilation unit Pierrick Bouvier
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/hw/hyperv/hyperv.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/hw/hyperv/hyperv.h b/include/hw/hyperv/hyperv.h
index d717b4e13d4..63a8b65278f 100644
--- a/include/hw/hyperv/hyperv.h
+++ b/include/hw/hyperv/hyperv.h
@@ -10,7 +10,8 @@
 #ifndef HW_HYPERV_HYPERV_H
 #define HW_HYPERV_HYPERV_H
 
-#include "cpu-qom.h"
+#include "exec/hwaddr.h"
+#include "hw/core/cpu.h"
 #include "hw/hyperv/hyperv-proto.h"
 
 typedef struct HvSintRoute HvSintRoute;
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 3/8] hw/hyperv/vmbus: common compilation unit
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 1/8] hw/hyperv/hv-balloon-stub: common compilation unit Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 2/8] hw/hyperv/hyperv.h: header cleanup Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 4/8] hw/hyperv/syndbg: " Pierrick Bouvier
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/vmbus.c     | 2 +-
 hw/hyperv/meson.build | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c
index 98ea968e515..b4f3e12fe1a 100644
--- a/hw/hyperv/vmbus.c
+++ b/hw/hyperv/vmbus.c
@@ -19,7 +19,7 @@
 #include "hw/hyperv/vmbus.h"
 #include "hw/hyperv/vmbus-bridge.h"
 #include "hw/sysbus.h"
-#include "cpu.h"
+#include "exec/target_page.h"
 #include "trace.h"
 
 enum {
diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index f4aa0a5ada9..c855fdcf04c 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -1,6 +1,6 @@
 specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
 specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
-specific_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
+system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
 specific_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
 specific_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
 system_ss.add(when: 'CONFIG_HV_BALLOON', if_false: files('hv-balloon-stub.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 4/8] hw/hyperv/syndbg: common compilation unit
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (2 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 3/8] hw/hyperv/vmbus: common compilation unit Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 5/8] hw/hyperv/balloon: common balloon compilation units Pierrick Bouvier
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

We assume that page size is 4KB only, to dimension buffer size for
receiving message.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/syndbg.c    | 9 ++++++---
 hw/hyperv/meson.build | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c
index a410b55b9a5..6cb8b6c427a 100644
--- a/hw/hyperv/syndbg.c
+++ b/hw/hyperv/syndbg.c
@@ -10,11 +10,11 @@
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/sockets.h"
+#include "qemu/units.h"
 #include "qapi/error.h"
 #include "migration/vmstate.h"
 #include "hw/qdev-properties.h"
 #include "hw/loader.h"
-#include "cpu.h"
 #include "exec/target_page.h"
 #include "hw/hyperv/hyperv.h"
 #include "hw/hyperv/vmbus-bridge.h"
@@ -184,12 +184,15 @@ static bool create_udp_pkt(HvSynDbg *syndbg, void *pkt, uint32_t pkt_len,
     return true;
 }
 
+#define MSG_BUFSZ (4 * KiB)
+
 static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,
                                 uint32_t count, bool is_raw, uint32_t options,
                                 uint64_t timeout, uint32_t *retrieved_count)
 {
     uint16_t ret;
-    uint8_t data_buf[TARGET_PAGE_SIZE - UDP_PKT_HEADER_SIZE];
+    g_assert(MSG_BUFSZ >= qemu_target_page_size());
+    uint8_t data_buf[MSG_BUFSZ];
     hwaddr out_len;
     void *out_data;
     ssize_t recv_byte_count;
@@ -202,7 +205,7 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,
         recv_byte_count = 0;
     } else {
         recv_byte_count = recv(syndbg->socket, data_buf,
-                               MIN(sizeof(data_buf), count), MSG_WAITALL);
+                               MIN(MSG_BUFSZ, count), MSG_WAITALL);
         if (recv_byte_count == -1) {
             return HV_STATUS_INVALID_PARAMETER;
         }
diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index c855fdcf04c..a9f2045a9af 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -1,6 +1,6 @@
 specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
 specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
 system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
-specific_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
+system_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
 specific_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
 system_ss.add(when: 'CONFIG_HV_BALLOON', if_false: files('hv-balloon-stub.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 5/8] hw/hyperv/balloon: common balloon compilation units
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (3 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 4/8] hw/hyperv/syndbg: " Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 6/8] hw/hyperv/hyperv_testdev: common compilation unit Pierrick Bouvier
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index a9f2045a9af..5acd709bdd5 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -2,5 +2,5 @@ specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
 specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
 system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
 system_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
-specific_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
+system_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
 system_ss.add(when: 'CONFIG_HV_BALLOON', if_false: files('hv-balloon-stub.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 6/8] hw/hyperv/hyperv_testdev: common compilation unit
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (4 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 5/8] hw/hyperv/balloon: common balloon compilation units Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index 5acd709bdd5..ef5a596c8ab 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -1,5 +1,5 @@
 specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
-specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
+system_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
 system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
 system_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
 system_ss.add(when: 'CONFIG_HV_BALLOON', if_true: files('hv-balloon.c', 'hv-balloon-page_range_tree.c', 'hv-balloon-our_range_memslots.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 7/8] include/system: make functions accessible from common code
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (5 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 6/8] hw/hyperv/hyperv_testdev: common compilation unit Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-25 11:10   ` Philippe Mathieu-Daudé
                     ` (2 more replies)
  2025-04-24 23:28 ` [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit Pierrick Bouvier
  2025-04-24 23:30 ` [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
  8 siblings, 3 replies; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 include/system/kvm.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/system/kvm.h b/include/system/kvm.h
index 18811cad6fd..b690dda1370 100644
--- a/include/system/kvm.h
+++ b/include/system/kvm.h
@@ -210,6 +210,10 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
+int kvm_check_extension(KVMState *s, unsigned int extension);
+
+int kvm_vm_ioctl(KVMState *s, unsigned long type, ...);
+
 void kvm_flush_coalesced_mmio_buffer(void);
 
 #ifdef COMPILING_PER_TARGET
@@ -237,8 +241,6 @@ static inline int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_t
 
 int kvm_ioctl(KVMState *s, unsigned long type, ...);
 
-int kvm_vm_ioctl(KVMState *s, unsigned long type, ...);
-
 int kvm_vcpu_ioctl(CPUState *cpu, unsigned long type, ...);
 
 /**
@@ -441,8 +443,6 @@ void kvm_arch_update_guest_debug(CPUState *cpu, struct kvm_guest_debug *dbg);
 
 bool kvm_arch_stop_on_emulation_error(CPUState *cpu);
 
-int kvm_check_extension(KVMState *s, unsigned int extension);
-
 int kvm_vm_check_extension(KVMState *s, unsigned int extension);
 
 #define kvm_vm_enable_cap(s, capability, cap_flags, ...)             \
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (6 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
@ 2025-04-24 23:28 ` Pierrick Bouvier
  2025-04-28 15:54   ` Richard Henderson
  2025-04-24 23:30 ` [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
  8 siblings, 1 reply; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	pierrick.bouvier, richard.henderson, Paolo Bonzini,
	Maciej S. Szmigiero

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 hw/hyperv/hyperv.c    | 3 ++-
 hw/hyperv/meson.build | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
index 8f193fd0bdf..1197a403efc 100644
--- a/hw/hyperv/hyperv.c
+++ b/hw/hyperv/hyperv.c
@@ -13,6 +13,8 @@
 #include "qapi/error.h"
 #include "system/address-spaces.h"
 #include "system/memory.h"
+#include "exec/target_page.h"
+#include "linux/kvm.h"
 #include "system/kvm.h"
 #include "qemu/bitops.h"
 #include "qemu/error-report.h"
@@ -23,7 +25,6 @@
 #include "hw/hyperv/hyperv.h"
 #include "qom/object.h"
 #include "target/i386/kvm/hyperv-proto.h"
-#include "target/i386/cpu.h"
 #include "exec/target_page.h"
 
 struct SynICState {
diff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build
index ef5a596c8ab..d1cf781f049 100644
--- a/hw/hyperv/meson.build
+++ b/hw/hyperv/meson.build
@@ -1,4 +1,4 @@
-specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
+system_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))
 system_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))
 system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
 system_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))
-- 
2.39.5



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 0/8] hw/hyperv: remove duplication compilation units
  2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
                   ` (7 preceding siblings ...)
  2025-04-24 23:28 ` [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit Pierrick Bouvier
@ 2025-04-24 23:30 ` Pierrick Bouvier
  2025-04-29 16:39   ` Maciej S. Szmigiero
  8 siblings, 1 reply; 16+ messages in thread
From: Pierrick Bouvier @ 2025-04-24 23:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	richard.henderson, Paolo Bonzini, Maciej S. Szmigiero

On 4/24/25 16:28, Pierrick Bouvier wrote:
> Work towards having a single binary, by removing duplicated object files.
> 
> v2
> - remove osdep from header
> - use hardcoded buffer size for syndbg, assuming page size is always 4Kb.
> 
> v3
> - fix assert for page size.
> 
> v4
> - use KiB unit
> 
> v5
> - rebase on top of system memory common series
> - make hw/hyperv/hyperv common
> 
> v6
> - rebase on top of master (now contains all changes needed for memory access)
> - finish making hw/hyperv/hyperv common (hw/hyperv/hyperv.c)
> 
> Pierrick Bouvier (8):
>    hw/hyperv/hv-balloon-stub: common compilation unit
>    hw/hyperv/hyperv.h: header cleanup
>    hw/hyperv/vmbus: common compilation unit
>    hw/hyperv/syndbg: common compilation unit
>    hw/hyperv/balloon: common balloon compilation units
>    hw/hyperv/hyperv_testdev: common compilation unit
>    include/system: make functions accessible from common code
>    hw/hyperv/hyperv: common compilation unit
> 
>   include/hw/hyperv/hyperv.h |  3 ++-
>   include/system/kvm.h       |  8 ++++----
>   hw/hyperv/hyperv.c         |  3 ++-
>   hw/hyperv/syndbg.c         |  9 ++++++---
>   hw/hyperv/vmbus.c          |  2 +-
>   hw/hyperv/meson.build      | 11 ++++++-----
>   6 files changed, 21 insertions(+), 15 deletions(-)
> 

@Maciej, this is now ready to be tested :)

Regards,
Pierrick


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 7/8] include/system: make functions accessible from common code
  2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
@ 2025-04-25 11:10   ` Philippe Mathieu-Daudé
  2025-04-28 15:53   ` Richard Henderson
  2025-04-29 16:38   ` Maciej S. Szmigiero
  2 siblings, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-04-25 11:10 UTC (permalink / raw)
  To: Pierrick Bouvier, qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, manos.pitsidianakis,
	richard.henderson, Paolo Bonzini, Maciej S. Szmigiero

On 25/4/25 01:28, Pierrick Bouvier wrote:
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/system/kvm.h | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 7/8] include/system: make functions accessible from common code
  2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
  2025-04-25 11:10   ` Philippe Mathieu-Daudé
@ 2025-04-28 15:53   ` Richard Henderson
  2025-04-29 16:38   ` Maciej S. Szmigiero
  2 siblings, 0 replies; 16+ messages in thread
From: Richard Henderson @ 2025-04-28 15:53 UTC (permalink / raw)
  To: Pierrick Bouvier, qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	Paolo Bonzini, Maciej S. Szmigiero

On 4/24/25 16:28, Pierrick Bouvier wrote:
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/system/kvm.h | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit
  2025-04-24 23:28 ` [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit Pierrick Bouvier
@ 2025-04-28 15:54   ` Richard Henderson
  0 siblings, 0 replies; 16+ messages in thread
From: Richard Henderson @ 2025-04-28 15:54 UTC (permalink / raw)
  To: Pierrick Bouvier, qemu-devel
  Cc: Marcelo Tosatti, alex.bennee, kvm, philmd, manos.pitsidianakis,
	Paolo Bonzini, Maciej S. Szmigiero

On 4/24/25 16:28, Pierrick Bouvier wrote:
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   hw/hyperv/hyperv.c    | 3 ++-
>   hw/hyperv/meson.build | 2 +-
>   2 files changed, 3 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 7/8] include/system: make functions accessible from common code
  2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
  2025-04-25 11:10   ` Philippe Mathieu-Daudé
  2025-04-28 15:53   ` Richard Henderson
@ 2025-04-29 16:38   ` Maciej S. Szmigiero
  2 siblings, 0 replies; 16+ messages in thread
From: Maciej S. Szmigiero @ 2025-04-29 16:38 UTC (permalink / raw)
  To: Pierrick Bouvier
  Cc: Marcelo Tosatti, qemu-devel, alex.bennee, kvm, philmd,
	manos.pitsidianakis, richard.henderson, Paolo Bonzini

On 25.04.2025 01:28, Pierrick Bouvier wrote:
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>   include/system/kvm.h | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
It looks like this patch was already merged outside of this patch set.

Thanks,
Maciej



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 0/8] hw/hyperv: remove duplication compilation units
  2025-04-24 23:30 ` [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
@ 2025-04-29 16:39   ` Maciej S. Szmigiero
  2025-04-29 16:44     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 16+ messages in thread
From: Maciej S. Szmigiero @ 2025-04-29 16:39 UTC (permalink / raw)
  To: Pierrick Bouvier
  Cc: Marcelo Tosatti, qemu-devel, alex.bennee, kvm, philmd,
	manos.pitsidianakis, richard.henderson, Paolo Bonzini

On 25.04.2025 01:30, Pierrick Bouvier wrote:
> On 4/24/25 16:28, Pierrick Bouvier wrote:
>> Work towards having a single binary, by removing duplicated object files.
>>
>> v2
>> - remove osdep from header
>> - use hardcoded buffer size for syndbg, assuming page size is always 4Kb.
>>
>> v3
>> - fix assert for page size.
>>
>> v4
>> - use KiB unit
>>
>> v5
>> - rebase on top of system memory common series
>> - make hw/hyperv/hyperv common
>>
>> v6
>> - rebase on top of master (now contains all changes needed for memory access)
>> - finish making hw/hyperv/hyperv common (hw/hyperv/hyperv.c)
>>
>> Pierrick Bouvier (8):
>>    hw/hyperv/hv-balloon-stub: common compilation unit
>>    hw/hyperv/hyperv.h: header cleanup
>>    hw/hyperv/vmbus: common compilation unit
>>    hw/hyperv/syndbg: common compilation unit
>>    hw/hyperv/balloon: common balloon compilation units
>>    hw/hyperv/hyperv_testdev: common compilation unit
>>    include/system: make functions accessible from common code
>>    hw/hyperv/hyperv: common compilation unit
>>
>>   include/hw/hyperv/hyperv.h |  3 ++-
>>   include/system/kvm.h       |  8 ++++----
>>   hw/hyperv/hyperv.c         |  3 ++-
>>   hw/hyperv/syndbg.c         |  9 ++++++---
>>   hw/hyperv/vmbus.c          |  2 +-
>>   hw/hyperv/meson.build      | 11 ++++++-----
>>   6 files changed, 21 insertions(+), 15 deletions(-)
>>
> 
> @Maciej, this is now ready to be tested :)

Tested this patch set on a Windows VM with hv-balloon QEMU device
(which uses VMBus, which in turn uses basic Hyper-V host support).

No problems encountered, so:
Tested-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>

> Regards,
> Pierrick
Thanks,
Maciej



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v5 0/8] hw/hyperv: remove duplication compilation units
  2025-04-29 16:39   ` Maciej S. Szmigiero
@ 2025-04-29 16:44     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-04-29 16:44 UTC (permalink / raw)
  To: Maciej S. Szmigiero, Pierrick Bouvier
  Cc: Marcelo Tosatti, qemu-devel, alex.bennee, kvm,
	manos.pitsidianakis, richard.henderson, Paolo Bonzini

On 29/4/25 18:39, Maciej S. Szmigiero wrote:
> On 25.04.2025 01:30, Pierrick Bouvier wrote:


>>> Pierrick Bouvier (8):
>>>    hw/hyperv/hv-balloon-stub: common compilation unit
>>>    hw/hyperv/hyperv.h: header cleanup
>>>    hw/hyperv/vmbus: common compilation unit
>>>    hw/hyperv/syndbg: common compilation unit
>>>    hw/hyperv/balloon: common balloon compilation units
>>>    hw/hyperv/hyperv_testdev: common compilation unit
>>>    include/system: make functions accessible from common code
>>>    hw/hyperv/hyperv: common compilation unit
>>>
>>>   include/hw/hyperv/hyperv.h |  3 ++-
>>>   include/system/kvm.h       |  8 ++++----
>>>   hw/hyperv/hyperv.c         |  3 ++-
>>>   hw/hyperv/syndbg.c         |  9 ++++++---
>>>   hw/hyperv/vmbus.c          |  2 +-
>>>   hw/hyperv/meson.build      | 11 ++++++-----
>>>   6 files changed, 21 insertions(+), 15 deletions(-)
>>>
>>
>> @Maciej, this is now ready to be tested :)
> 
> Tested this patch set on a Windows VM with hv-balloon QEMU device
> (which uses VMBus, which in turn uses basic Hyper-V host support).
> 
> No problems encountered, so:
> Tested-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>

Thank you!

Series queued.


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-04-29 16:44 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24 23:28 [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 1/8] hw/hyperv/hv-balloon-stub: common compilation unit Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 2/8] hw/hyperv/hyperv.h: header cleanup Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 3/8] hw/hyperv/vmbus: common compilation unit Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 4/8] hw/hyperv/syndbg: " Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 5/8] hw/hyperv/balloon: common balloon compilation units Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 6/8] hw/hyperv/hyperv_testdev: common compilation unit Pierrick Bouvier
2025-04-24 23:28 ` [PATCH v5 7/8] include/system: make functions accessible from common code Pierrick Bouvier
2025-04-25 11:10   ` Philippe Mathieu-Daudé
2025-04-28 15:53   ` Richard Henderson
2025-04-29 16:38   ` Maciej S. Szmigiero
2025-04-24 23:28 ` [PATCH v5 8/8] hw/hyperv/hyperv: common compilation unit Pierrick Bouvier
2025-04-28 15:54   ` Richard Henderson
2025-04-24 23:30 ` [PATCH v5 0/8] hw/hyperv: remove duplication compilation units Pierrick Bouvier
2025-04-29 16:39   ` Maciej S. Szmigiero
2025-04-29 16:44     ` Philippe Mathieu-Daudé

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).