mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
hw/hyperv/syndbg: common compilation unit
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> Message-ID: <20250424232829.141163-5-pierrick.bouvier@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
4a695643a9
commit
3efb9d2262
2 changed files with 7 additions and 4 deletions
|
@ -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'))
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue