On 3/6/25 08:19, Richard Henderson wrote:
On 3/5/25 22:41, Pierrick Bouvier wrote:
Replace TARGET_PAGE.* by runtime calls
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@xxxxxxxxxx>
---
hw/hyperv/syndbg.c | 7 ++++---
hw/hyperv/meson.build | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c
index d3e39170772..f9382202ed3 100644
--- a/hw/hyperv/syndbg.c
+++ b/hw/hyperv/syndbg.c
@@ -14,7 +14,7 @@
#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"
#include "hw/hyperv/hyperv-proto.h"
@@ -188,7 +188,8 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,
uint64_t timeout, uint32_t *retrieved_count)
{
uint16_t ret;
- uint8_t data_buf[TARGET_PAGE_SIZE - UDP_PKT_HEADER_SIZE];
+ const size_t buf_size = qemu_target_page_size() - UDP_PKT_HEADER_SIZE;
+ uint8_t *data_buf = g_alloca(buf_size);
hwaddr out_len;
void *out_data;
ssize_t recv_byte_count;
We've purged the code base of VLAs, and those are preferable to alloca.
Just use g_malloc and g_autofree.
I hesitated, due to potential performance considerations for people
reviewing the patch. I'll switch to heap based storage.
r~