diff mbox series

accel/hvf: Include missing 'hw/core/cpu.h' header

Message ID 20250507204401.45379-1-philmd@linaro.org
State Superseded
Headers show
Series accel/hvf: Include missing 'hw/core/cpu.h' header | expand

Commit Message

Philippe Mathieu-Daudé May 7, 2025, 8:44 p.m. UTC
Since commit d5bd8d8267e ("hvf: only update sysreg from owning
thread") hvf-all.c accesses the run_on_cpu_data type and calls
run_on_cpu(), both defined in the "hw/core/cpu.h" header.
Fortunately, it is indirectly included via:

  "system/hvf.h"
    -> "target/arm/cpu.h"
         -> "target/arm/cpu-qom.h"
              -> "hw/core/cpu.h"

"system/hvf.h" however doesn't need "target/arm/cpu.h" and we
want to remove it there. In order to do that we first need to
include it in the hvf-all.c file.

Cc: Mads Ynddal <m.ynddal@samsung.com>
Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 accel/hvf/hvf-all.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Philippe Mathieu-Daudé May 7, 2025, 8:45 p.m. UTC | #1
On 7/5/25 22:44, Philippe Mathieu-Daudé wrote:
> Since commit d5bd8d8267e ("hvf: only update sysreg from owning
> thread") hvf-all.c accesses the run_on_cpu_data type and calls
> run_on_cpu(), both defined in the "hw/core/cpu.h" header.
> Fortunately, it is indirectly included via:
> 
>    "system/hvf.h"
>      -> "target/arm/cpu.h"
>           -> "target/arm/cpu-qom.h"
>                -> "hw/core/cpu.h"
> 
> "system/hvf.h" however doesn't need "target/arm/cpu.h" and we
> want to remove it there. In order to do that we first need to
> include it in the hvf-all.c file.

include it in hvf-all.c, otherwise we get:

../accel/hvf/hvf-all.c:61:54: error: unknown type name 'run_on_cpu_data'
    61 | static void do_hvf_update_guest_debug(CPUState *cpu, 
run_on_cpu_data arg)
       |                                                      ^
../accel/hvf/hvf-all.c:68:5: error: call to undeclared function 
'run_on_cpu'; ISO C99 and later do not support implicit function 
declarations [-Wimplicit-function-declaration]
    68 |     run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL);
       |     ^
../accel/hvf/hvf-all.c:68:48: error: use of undeclared identifier 
'RUN_ON_CPU_NULL'
    68 |     run_on_cpu(cpu, do_hvf_update_guest_debug, RUN_ON_CPU_NULL);
       |                                                ^
3 errors generated.


> 
> Cc: Mads Ynddal <m.ynddal@samsung.com>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   accel/hvf/hvf-all.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c
> index 3fc65d6b231..8c387fda24d 100644
> --- a/accel/hvf/hvf-all.c
> +++ b/accel/hvf/hvf-all.c
> @@ -12,6 +12,7 @@
>   #include "qemu/error-report.h"
>   #include "system/hvf.h"
>   #include "system/hvf_int.h"
> +#include "hw/core/cpu.h"
>   
>   const char *hvf_return_string(hv_return_t ret)
>   {
Pierrick Bouvier May 7, 2025, 8:46 p.m. UTC | #2
On 5/7/25 1:44 PM, Philippe Mathieu-Daudé wrote:
> Since commit d5bd8d8267e ("hvf: only update sysreg from owning
> thread") hvf-all.c accesses the run_on_cpu_data type and calls
> run_on_cpu(), both defined in the "hw/core/cpu.h" header.
> Fortunately, it is indirectly included via:
> 
>    "system/hvf.h"
>      -> "target/arm/cpu.h"
>           -> "target/arm/cpu-qom.h"
>                -> "hw/core/cpu.h"
> 
> "system/hvf.h" however doesn't need "target/arm/cpu.h" and we
> want to remove it there. In order to do that we first need to
> include it in the hvf-all.c file.
> 
> Cc: Mads Ynddal <m.ynddal@samsung.com>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   accel/hvf/hvf-all.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c
> index 3fc65d6b231..8c387fda24d 100644
> --- a/accel/hvf/hvf-all.c
> +++ b/accel/hvf/hvf-all.c
> @@ -12,6 +12,7 @@
>   #include "qemu/error-report.h"
>   #include "system/hvf.h"
>   #include "system/hvf_int.h"
> +#include "hw/core/cpu.h"
>   
>   const char *hvf_return_string(hv_return_t ret)
>   {

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Mads Ynddal May 8, 2025, 9:27 a.m. UTC | #3
> Since commit d5bd8d8267e ("hvf: only update sysreg from owning
> thread") hvf-all.c accesses the run_on_cpu_data type and calls
> run_on_cpu(), both defined in the "hw/core/cpu.h" header.
> Fortunately, it is indirectly included via:
> 
>  "system/hvf.h"
>    -> "target/arm/cpu.h"
>         -> "target/arm/cpu-qom.h"
>              -> "hw/core/cpu.h"
> 
> "system/hvf.h" however doesn't need "target/arm/cpu.h" and we
> want to remove it there. In order to do that we first need to
> include it in the hvf-all.c file.
> 
> Cc: Mads Ynddal <m.ynddal@samsung.com>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> accel/hvf/hvf-all.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c
> index 3fc65d6b231..8c387fda24d 100644
> --- a/accel/hvf/hvf-all.c
> +++ b/accel/hvf/hvf-all.c
> @@ -12,6 +12,7 @@
> #include "qemu/error-report.h"
> #include "system/hvf.h"
> #include "system/hvf_int.h"
> +#include "hw/core/cpu.h"
> 
> const char *hvf_return_string(hv_return_t ret)
> {

Good catch, I should have included that in the initial patch.

Reviewed-by: Mads Ynddal <mads@ynddal.dk <mailto:mads@ynddal.dk>>
diff mbox series

Patch

diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c
index 3fc65d6b231..8c387fda24d 100644
--- a/accel/hvf/hvf-all.c
+++ b/accel/hvf/hvf-all.c
@@ -12,6 +12,7 @@ 
 #include "qemu/error-report.h"
 #include "system/hvf.h"
 #include "system/hvf_int.h"
+#include "hw/core/cpu.h"
 
 const char *hvf_return_string(hv_return_t ret)
 {