{"id":2056985,"url":"http://patchwork.ozlabs.org/api/patches/2056985/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20250307215623.524987-6-pierrick.bouvier@linaro.org/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20250307215623.524987-6-pierrick.bouvier@linaro.org>","list_archive_url":null,"date":"2025-03-07T21:56:21","name":"[v4,5/7] hw/hyperv/syndbg: common compilation unit","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"1e8b5a6dec978a61318aa4b26e30074b33a821c8","submitter":{"id":85798,"url":"http://patchwork.ozlabs.org/api/people/85798/?format=json","name":"Pierrick Bouvier","email":"pierrick.bouvier@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20250307215623.524987-6-pierrick.bouvier@linaro.org/mbox/","series":[{"id":447572,"url":"http://patchwork.ozlabs.org/api/series/447572/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=447572","date":"2025-03-07T21:56:16","name":"hw/hyperv: remove duplication compilation units","version":4,"mbox":"http://patchwork.ozlabs.org/series/447572/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2056985/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2056985/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=YnCdP0j3;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4Z8gBX0dpsz1yX4\n\tfor <incoming@patchwork.ozlabs.org>; Sat,  8 Mar 2025 08:57:40 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1tqfgR-00050Z-PA; Fri, 07 Mar 2025 16:56:43 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@linaro.org>)\n id 1tqfgP-0004zh-QF\n for qemu-devel@nongnu.org; Fri, 07 Mar 2025 16:56:41 -0500","from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@linaro.org>)\n id 1tqfgN-0001k2-P7\n for qemu-devel@nongnu.org; Fri, 07 Mar 2025 16:56:41 -0500","by mail-pl1-x632.google.com with SMTP id\n d9443c01a7336-22337bc9ac3so49803275ad.1\n for <qemu-devel@nongnu.org>; Fri, 07 Mar 2025 13:56:39 -0800 (PST)","from pc.. ([38.39.164.180]) by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-736ac9247dcsm2000927b3a.125.2025.03.07.13.56.37\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 07 Mar 2025 13:56:37 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1741384598; x=1741989398; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=TvAuOoN8/PzrW6ePLHQAaqYQcMX7nhU7k0OaOWGrsUU=;\n b=YnCdP0j3ITJ+3zMAyl7Xq71hQgRZyF2Vy3UuTvMYuzMT/TiiQ6jYqw2BHzISDGdIfI\n 9pC3Qm6II+BEf5REWkhB7MkgdXQP5jao4yFymAGjtCFqftcv95fZcKftIMZaZibLieLe\n zXkmGFlehVGNiXcbcY+321pKVDGPiQ6xXza8ZjaPEF22vaTdmZNhf2qoQ9HFNrji6CjB\n RZ8Eo6+UWaZ+m1EugDJWJ4pCGb6DDLSOeTyOmcXocmXcOgBWi38v4fcY+kBSEmIsDI7J\n s/wefnzROfB+kZ1I6w24R7aWVnp7SRI4TZUd1UV9NW4GlVtOKv3TlZyCK9ieo497Kj7T\n csWA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1741384598; x=1741989398;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=TvAuOoN8/PzrW6ePLHQAaqYQcMX7nhU7k0OaOWGrsUU=;\n b=i9q1ALrgITodDhArvz3gdgcAEUuMha5l0D3Q/0bcRHUnlBWWzmA2I41IrWLdo/2c+y\n 9efGNFxZ5vfZbQ00fikWgzPbd68CaBHwGJThrRIjRgXhUCDmWwZvKNqRptzhFru4nVCM\n LjJV5xUTfmH5eVAyBQvq0xStlrC8mGWMOD3YA3c7gaY5me+AoMgnlQL/5c/ogsM1N0g+\n bJe3OKF7gNEL8PSM4c3MW3eHkMUMPWkBd9hnnYdHrqV0Su6dLVGeXMVAif4uQQnBpT+9\n W1srmsa+gzqb5iWxF9evd8Bbyi5u8kItA6coX9gd1I/i2ZshbsR9PPBHm/cFqtTD/07x\n E07w==","X-Gm-Message-State":"AOJu0YweJoKdWI1oDwbKsijVMr4E+78IPCzJo77vHTmEdjHjmGWlNKx9\n orWyLIpU3EzVCPamf0+i7qhXma4gZtjnlaiU0npz7eNpVyEGLYUh6acLNzgUrmKbyiQpVEH1H87\n a","X-Gm-Gg":"ASbGncs23UTPQy+S5iOMuiQyweYRI6gR1wc7rgvrcl7EbyW7u1v45KT3FlFIv3t7DpO\n HoHoQkJgS+t/g4oVsl86BN9VPaoQLrPc4dvz9YOxGr6TCmvrMkXJjM87XhdfbuR/GScVyHHB75w\n NHWmuxJ2JbG3G1b+MaAXJ2tejyGD0vwrFgUe1T3364wMxPzJnPe+HNsGukeCQsTMcrmzHsmEZGP\n JGeKCAaAQ+gXnM20UJtZYr25rYYb4vH0Xehghb7DDg6oP7+aqkMUcIgUJ87mrss+JvBaKCOySaN\n sT3nt5kLfRZi6VMAh2mYVBqmVBDCjbZ9kKFW6wjCde0n","X-Google-Smtp-Source":"\n AGHT+IGl3pecSAWBhv2Obh4KryTo7/9V/E2hfk69YnyQdLFubkCq88mHRjshx69HtUMmfNzcVYvwUA==","X-Received":"by 2002:a05:6a00:228c:b0:736:8c0f:774f with SMTP id\n d2e1a72fcca58-736aab02cd8mr7557373b3a.22.1741384598341;\n Fri, 07 Mar 2025 13:56:38 -0800 (PST)","From":"Pierrick Bouvier <pierrick.bouvier@linaro.org>","To":"qemu-devel@nongnu.org","Cc":"philmd@linaro.org, Paolo Bonzini <pbonzini@redhat.com>,\n pierrick.bouvier@linaro.org, kvm@vger.kernel.org, alex.bennee@linaro.org,\n Marcelo Tosatti <mtosatti@redhat.com>,\n \"Maciej S. Szmigiero\" <maciej.szmigiero@oracle.com>,\n richard.henderson@linaro.org, manos.pitsidianakis@linaro.org","Subject":"[PATCH v4 5/7] hw/hyperv/syndbg: common compilation unit","Date":"Fri,  7 Mar 2025 13:56:21 -0800","Message-Id":"<20250307215623.524987-6-pierrick.bouvier@linaro.org>","X-Mailer":"git-send-email 2.39.5","In-Reply-To":"<20250307215623.524987-1-pierrick.bouvier@linaro.org>","References":"<20250307215623.524987-1-pierrick.bouvier@linaro.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::632;\n envelope-from=pierrick.bouvier@linaro.org; helo=mail-pl1-x632.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Replace TARGET_PAGE.* by runtime calls\nWe assume that page size is 4KB only, to dimension buffer size for\nreceiving message.\n\nReviewed-by: Richard Henderson <richard.henderson@linaro.org>\nReviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>\nSigned-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>\n---\n hw/hyperv/syndbg.c    | 11 ++++++++---\n hw/hyperv/meson.build |  2 +-\n 2 files changed, 9 insertions(+), 4 deletions(-)","diff":"diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c\nindex d3e39170772..948829e6d89 100644\n--- a/hw/hyperv/syndbg.c\n+++ b/hw/hyperv/syndbg.c\n@@ -10,11 +10,12 @@\n #include \"qemu/error-report.h\"\n #include \"qemu/main-loop.h\"\n #include \"qemu/sockets.h\"\n+#include \"qemu/units.h\"\n #include \"qapi/error.h\"\n #include \"migration/vmstate.h\"\n #include \"hw/qdev-properties.h\"\n #include \"hw/loader.h\"\n-#include \"cpu.h\"\n+#include \"exec/target_page.h\"\n #include \"hw/hyperv/hyperv.h\"\n #include \"hw/hyperv/vmbus-bridge.h\"\n #include \"hw/hyperv/hyperv-proto.h\"\n@@ -183,12 +184,14 @@ static bool create_udp_pkt(HvSynDbg *syndbg, void *pkt, uint32_t pkt_len,\n     return true;\n }\n \n+#define MSG_BUFSZ (4 * KiB)\n+\n static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,\n                                 uint32_t count, bool is_raw, uint32_t options,\n                                 uint64_t timeout, uint32_t *retrieved_count)\n {\n     uint16_t ret;\n-    uint8_t data_buf[TARGET_PAGE_SIZE - UDP_PKT_HEADER_SIZE];\n+    uint8_t data_buf[MSG_BUFSZ];\n     hwaddr out_len;\n     void *out_data;\n     ssize_t recv_byte_count;\n@@ -201,7 +204,7 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint64_t outgpa,\n         recv_byte_count = 0;\n     } else {\n         recv_byte_count = recv(syndbg->socket, data_buf,\n-                               MIN(sizeof(data_buf), count), MSG_WAITALL);\n+                               MIN(MSG_BUFSZ, count), MSG_WAITALL);\n         if (recv_byte_count == -1) {\n             return HV_STATUS_INVALID_PARAMETER;\n         }\n@@ -374,6 +377,8 @@ static const Property hv_syndbg_properties[] = {\n \n static void hv_syndbg_class_init(ObjectClass *klass, void *data)\n {\n+    g_assert(MSG_BUFSZ >= qemu_target_page_size());\n+\n     DeviceClass *dc = DEVICE_CLASS(klass);\n \n     device_class_set_props(dc, hv_syndbg_properties);\ndiff --git a/hw/hyperv/meson.build b/hw/hyperv/meson.build\nindex c855fdcf04c..a9f2045a9af 100644\n--- a/hw/hyperv/meson.build\n+++ b/hw/hyperv/meson.build\n@@ -1,6 +1,6 @@\n specific_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'))\n specific_ss.add(when: 'CONFIG_HYPERV_TESTDEV', if_true: files('hyperv_testdev.c'))\n system_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))\n-specific_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))\n+system_ss.add(when: 'CONFIG_SYNDBG', if_true: files('syndbg.c'))\n 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'))\n system_ss.add(when: 'CONFIG_HV_BALLOON', if_false: files('hv-balloon-stub.c'))\n","prefixes":["v4","5/7"]}