From: "Dr. David Alan Gilbert" <dave@treblig.org>
To: Mohamed Mediouni <mohamed@unpredictable.fr>
Cc: "Magnus Kulke" <magnuskulke@linux.microsoft.com>,
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>,
"Roman Bolshakov" <rbolshakov@ddn.com>,
"Phil Dennis-Jordan" <phil@philjordan.eu>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"\"Daniel P. Berrangé\"" <berrange@redhat.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: [CRM114spam]: Re: [PATCH v4 03/27] target/i386/mshv: Add x86 decoder/emu implementation
Date: Tue, 16 Sep 2025 23:47:02 +0000 [thread overview]
Message-ID: <aMn29rg2b7yC7Iu7@gallifrey> (raw)
In-Reply-To: <DF061F5C-9807-4948-BD62-EC42425C5B9E@unpredictable.fr>
* Mohamed Mediouni (mohamed@unpredictable.fr) wrote:
>
>
> > On 16. Sep 2025, at 19:40, Dr. David Alan Gilbert <dave@treblig.org> wrote:
> >
> > For example 'x86_is_real' is declared in target/i386/emulate/x86.h
> > and defined in target/i386/hvf/x86.c (hmm that's a bit weird).
> > So it's probably best to check if what you want already exists,
> > move it into target/i386 somewhere I guess, and everyone shares it.
> Currently there isn’t a backend-agnostic interface for this.
> It was part of the import of HVF support to qemu from downstream.
Hmm.
> Notably means that the emulate infrastructure isn’t usable by multiple
> backends in the same build. It might be possible to get away without that
> however as HVF is macOS specific, MSHV is Linux-specific and WHPX
> (which is currently using winhvemulator instead of this) is Windows-specific...
It does scare me a bit having 2 different functions with the same name like that;
but hmm OK...
But - x86_is_real() is identical in these cases - the x86_is_protected() is the
implementation dependent bit.
The only bit that seems different is the reading of the register, eg. CR0, so there
could be a:
x86_read_CR0(CPUState *cpu)
and the x86_is_real and x86_is_paging_mode all be shared (as inline's ???).
But this does all get messy - I mean, even if MSHV is Linux specific, and HVF
is macos specific; it's a shame that the logic behind x86_is_* is open coded
in all of tcg, kvm and copied twice in hvf and mshv.
(I don't understand the structure as to why some stuff needs backend specific
reads and some are in env).
Dave
>
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
next prev parent reply other threads:[~2025-09-16 23:48 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 ` Dr. David Alan Gilbert [this message]
2025-09-17 9:11 ` [CRM114spam]: " 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é
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=aMn29rg2b7yC7Iu7@gallifrey \
--to=dave@treblig.org \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cohuck@redhat.com \
--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=mohamed@unpredictable.fr \
--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 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).