qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: phind.uet@gmail.com, Cameron Esfahani <dirty@apple.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Phil Dennis-Jordan <phil@philjordan.eu>,
	Mads Ynddal <mads@ynddal.dk>
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH] Fix i386 HVF compilation failures
Date: Wed, 26 Nov 2025 14:39:45 +0100	[thread overview]
Message-ID: <8f6eb2ec-d6a7-49dd-b425-ee771d2f9be3@linaro.org> (raw)
In-Reply-To: <20251126094601.56403-1-phind.uet@gmail.com>

On 26/11/25 10:46, phind.uet@gmail.com wrote:
> From: Nguyen Dinh Phi <phind.uet@gmail.com>
> 
> Recent changes introduced build errors in the i386 HVF backend:
> 
> - ../accel/hvf/hvf-accel-ops.c:163:17: error: no member named 'guest_debug_enabled' in 'struct AccelCPUState'
>    163 |     cpu->accel->guest_debug_enabled = false;
> 
> - ../accel/hvf/hvf-accel-ops.c:151:51
>    error: no member named 'unblock_ipi_mask' in 'struct AccelCPUState'
> 
> - ../target/i386/hvf/hvf.c:736:5
>    error: use of undeclared identifier 'rip'
> 
> - ../target/i386/hvf/hvf.c:737:5
>    error: use of undeclared identifier 'env'
> 
> This patch corrects the field usage and move identifier to correct
> function ensuring successful compilation of the i386 HVF backend.
> 
> These issues were caused by:
> 
> Fixes: 2ad756383e1b (“accel/hvf: Restrict ARM-specific fields of AccelCPUState”)
> Fixes: 2a21c9244740 (“target/i386/hvf: Factor hvf_handle_vmexit() out”)

Oops.

> 
> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
> ---
>   accel/hvf/hvf-accel-ops.c | 5 +++--
>   target/i386/hvf/hvf.c     | 6 ++----
>   2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c
> index 3e5feecd8a..e2cb8f202b 100644
> --- a/accel/hvf/hvf-accel-ops.c
> +++ b/accel/hvf/hvf-accel-ops.c
> @@ -148,19 +148,20 @@ static int hvf_init_vcpu(CPUState *cpu)
>       sigact.sa_handler = dummy_signal;
>       sigaction(SIG_IPI, &sigact, NULL);
>   
> +#ifdef __aarch64__
>       pthread_sigmask(SIG_BLOCK, NULL, &cpu->accel->unblock_ipi_mask);
>       sigdelset(&cpu->accel->unblock_ipi_mask, SIG_IPI);
>   
> -#ifdef __aarch64__
>       r = hv_vcpu_create(&cpu->accel->fd,
>                          (hv_vcpu_exit_t **)&cpu->accel->exit, NULL);
>   #else
>       r = hv_vcpu_create(&cpu->accel->fd, HV_VCPU_DEFAULT);
>   #endif
>       assert_hvf_ok(r);
> +#ifdef __aarch64__
>       cpu->vcpu_dirty = true;

Don't we want the ifdef *after* this line?

> -
>       cpu->accel->guest_debug_enabled = false;
> +#endif
>   
>       return hvf_arch_init_vcpu(cpu);
>   }
> diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
> index 16febbac48..2023a7bfbb 100644
> --- a/target/i386/hvf/hvf.c
> +++ b/target/i386/hvf/hvf.c
> @@ -728,7 +728,8 @@ static int hvf_handle_vmexit(CPUState *cpu)
>       uint64_t exit_qual = rvmcs(cpu->accel->fd, VMCS_EXIT_QUALIFICATION);
>       uint32_t ins_len = (uint32_t)rvmcs(cpu->accel->fd,
>                                          VMCS_EXIT_INSTRUCTION_LENGTH);
> -
> +    CPUX86State *env = &x86_cpu->env;
> +    uint64_t rip = 0;
>       uint64_t idtvec_info = rvmcs(cpu->accel->fd, VMCS_IDT_VECTORING_INFO);
>       int ret = 0;
>   
> @@ -966,10 +967,7 @@ static int hvf_handle_vmexit(CPUState *cpu)
>   
>   int hvf_arch_vcpu_exec(CPUState *cpu)
>   {
> -    X86CPU *x86_cpu = X86_CPU(cpu);
> -    CPUX86State *env = &x86_cpu->env;
>       int ret = 0;
> -    uint64_t rip = 0;
>   
>       if (hvf_process_events(cpu)) {
>           return EXCP_HLT;

Otherwise:

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



  reply	other threads:[~2025-11-26 13:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-26  9:46 [PATCH] Fix i386 HVF compilation failures phind.uet
2025-11-26 13:39 ` Philippe Mathieu-Daudé [this message]
2025-11-28  8:46   ` Nguyen Dinh Phi [SG]
2025-11-28 13:02     ` Philippe Mathieu-Daudé
2025-11-28 13:34       ` Nguyen Dinh Phi [SG]

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=8f6eb2ec-d6a7-49dd-b425-ee771d2f9be3@linaro.org \
    --to=philmd@linaro.org \
    --cc=dirty@apple.com \
    --cc=mads@ynddal.dk \
    --cc=phil@philjordan.eu \
    --cc=phind.uet@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rbolshakov@ddn.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).