From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Magnus Kulke <magnuskulke@linux.microsoft.com>
Cc: qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Cameron Esfahani" <dirty@apple.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Wei Liu" <liuwe@microsoft.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Dr. David Alan Gilbert" <dave@treblig.org>,
"Roman Bolshakov" <rbolshakov@ddn.com>,
"Phil Dennis-Jordan" <phil@philjordan.eu>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Magnus Kulke" <magnuskulke@microsoft.com>,
"Wei Liu" <wei.liu@kernel.org>, "Eric Blake" <eblake@redhat.com>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH v4 25/27] target/i386/mshv: Use preallocated page for hvcall
Date: Wed, 1 Oct 2025 13:17:44 +0100 [thread overview]
Message-ID: <aN0b6PrssViGvlaf@redhat.com> (raw)
In-Reply-To: <20250916164847.77883-26-magnuskulke@linux.microsoft.com>
On Tue, Sep 16, 2025 at 06:48:45PM +0200, Magnus Kulke wrote:
> There are hvcalls that are invoked during MMIO exits, the payload is of
> dynamic size. To avoid heap allocations we can use preallocated pages as
> in/out buffer for those calls. A page is reserved per vCPU and used for
> set/get register hv calls.
>
> Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
> ---
> accel/mshv/mshv-all.c | 2 +-
> include/system/mshv.h | 7 +++++++
> target/i386/mshv/mshv-cpu.c | 39 +++++++++++++++++++++++++------------
> 3 files changed, 35 insertions(+), 13 deletions(-)
>
> diff --git a/accel/mshv/mshv-all.c b/accel/mshv/mshv-all.c
> index 2f7b325985..35a10f7a78 100644
> --- a/accel/mshv/mshv-all.c
> +++ b/accel/mshv/mshv-all.c
> @@ -398,8 +398,8 @@ static int mshv_init_vcpu(CPUState *cpu)
> uint8_t vp_index = cpu->cpu_index;
> int ret;
>
> - mshv_arch_init_vcpu(cpu);
> cpu->accel = g_new0(AccelCPUState, 1);
> + mshv_arch_init_vcpu(cpu);
This change can either be dropped, or squashed into the
earlier patch in this series that introduced this method.
>
> ret = mshv_create_vcpu(vm_fd, vp_index, &cpu->accel->cpufd);
> if (ret < 0) {
> diff --git a/target/i386/mshv/mshv-cpu.c b/target/i386/mshv/mshv-cpu.c
> index 6b7e795a36..52afc6b303 100644
> --- a/target/i386/mshv/mshv-cpu.c
> +++ b/target/i386/mshv/mshv-cpu.c
> @@ -33,6 +33,11 @@
>
> #include <sys/ioctl.h>
>
> +#define MAX_SIZE(a, b) ((a) > (b) ? (a) : (b))
Isn't this the same as the existing 'MAX(a, b)' macro in osdep.h ?
> +#define MAX_REGISTER_COUNT (MAX_SIZE(ARRAY_SIZE(STANDARD_REGISTER_NAMES), \
> + MAX_SIZE(ARRAY_SIZE(SPECIAL_REGISTER_NAMES), \
> + ARRAY_SIZE(FPU_REGISTER_NAMES))))
> +
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-10-01 12:19 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-16 16:48 [PATCH v4 00/27] Implementing a MSHV (Microsoft Hypervisor) accelerator Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 01/27] accel: Add Meson and config support for MSHV accelerator Magnus Kulke
2025-10-01 10:55 ` Daniel P. Berrangé
2025-10-02 8:23 ` Philippe Mathieu-Daudé
2025-09-16 16:48 ` [PATCH v4 02/27] target/i386/emulate: Allow instruction decoding from stream Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 03/27] target/i386/mshv: Add x86 decoder/emu implementation Magnus Kulke
2025-09-16 17:40 ` Dr. David Alan Gilbert
2025-09-16 22:48 ` Mohamed Mediouni
2025-09-16 23:47 ` [CRM114spam]: " Dr. David Alan Gilbert
2025-09-17 9:11 ` Magnus Kulke
2025-09-17 9:36 ` Magnus Kulke
2025-10-01 10:59 ` Daniel P. Berrangé
2025-10-01 12:49 ` Paolo Bonzini
2025-09-16 16:48 ` [PATCH v4 04/27] hw/intc: Generalize APIC helper names from kvm_* to accel_* Magnus Kulke
2025-10-01 12:24 ` Paolo Bonzini
2025-09-16 16:48 ` [PATCH v4 05/27] include/hw/hyperv: Add MSHV ABI header definitions Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 06/27] linux-headers/linux: Add mshv.h headers Magnus Kulke
2025-10-01 11:09 ` Daniel P. Berrangé
2025-09-16 16:48 ` [PATCH v4 07/27] accel/mshv: Add accelerator skeleton Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 08/27] accel/mshv: Register memory region listeners Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 09/27] accel/mshv: Initialize VM partition Magnus Kulke
2025-10-01 12:27 ` Paolo Bonzini
2025-09-16 16:48 ` [PATCH v4 10/27] accel/mshv: Add vCPU creation and execution loop Magnus Kulke
2025-10-01 11:36 ` Daniel P. Berrangé
2025-09-16 16:48 ` [PATCH v4 11/27] accel/mshv: Add vCPU signal handling Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 12/27] target/i386/mshv: Add CPU create and remove logic Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 13/27] target/i386/mshv: Implement mshv_store_regs() Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 14/27] target/i386/mshv: Implement mshv_get_standard_regs() Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 15/27] target/i386/mshv: Implement mshv_get_special_regs() Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 16/27] target/i386/mshv: Implement mshv_arch_put_registers() Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 17/27] target/i386/mshv: Set local interrupt controller state Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 18/27] target/i386/mshv: Register CPUID entries with MSHV Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 19/27] target/i386/mshv: Register MSRs " Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 20/27] target/i386/mshv: Integrate x86 instruction decoder/emulator Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 21/27] target/i386/mshv: Write MSRs to the hypervisor Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 22/27] target/i386/mshv: Implement mshv_vcpu_run() Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 23/27] accel/mshv: Handle overlapping mem mappings Magnus Kulke
2025-09-16 16:48 ` [PATCH v4 24/27] qapi/accel: Allow to query mshv capabilities Magnus Kulke
2025-09-16 17:52 ` Dr. David Alan Gilbert
2025-10-01 9:43 ` Daniel P. Berrangé
2025-10-01 12:14 ` Daniel P. Berrangé
2025-10-10 14:02 ` Markus Armbruster
2025-10-10 14:10 ` Paolo Bonzini
[not found] ` <20251010163312.GA2896568@liuwe-devbox-debian-v2.local>
2025-10-10 16:44 ` Daniel P. Berrangé
2025-09-16 16:48 ` [PATCH v4 25/27] target/i386/mshv: Use preallocated page for hvcall Magnus Kulke
2025-10-01 12:17 ` Daniel P. Berrangé [this message]
2025-10-02 8:05 ` Magnus Kulke
2025-10-02 8:11 ` Daniel P. Berrangé
2025-09-16 16:48 ` [PATCH v4 26/27] docs: Add mshv to documentation Magnus Kulke
2025-10-01 12:20 ` Daniel P. Berrangé
2025-09-16 16:48 ` [PATCH v4 27/27] MAINTAINERS: Add maintainers for mshv accelerator Magnus Kulke
2025-10-01 12:23 ` Daniel P. Berrangé
2025-10-02 7:40 ` Magnus Kulke
2025-10-02 7:56 ` Daniel P. Berrangé
2025-09-30 20:59 ` [PATCH v4 00/27] Implementing a MSHV (Microsoft Hypervisor) accelerator Wei Liu
2025-10-02 8:30 ` Philippe Mathieu-Daudé
2025-10-02 8:41 ` Daniel P. Berrangé
2025-10-02 8:48 ` Philippe Mathieu-Daudé
2025-10-02 9:10 ` Magnus Kulke
2025-10-02 14:07 ` Mohamed Mediouni
2025-10-02 15:36 ` Magnus Kulke
2025-10-02 16:10 ` Mohamed Mediouni
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=aN0b6PrssViGvlaf@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=cohuck@redhat.com \
--cc=dave@treblig.org \
--cc=dirty@apple.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=liuwe@microsoft.com \
--cc=magnuskulke@linux.microsoft.com \
--cc=magnuskulke@microsoft.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=phil@philjordan.eu \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rbolshakov@ddn.com \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
--cc=wangyanan55@huawei.com \
--cc=wei.liu@kernel.org \
--cc=zhao1.liu@intel.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.