Include missing headers in order to avoid when refactoring
unrelated headers:
hw/hyperv/hyperv.c:33:18: error: field ‘msg_page_mr’ has incomplete type
33 | MemoryRegion msg_page_mr;
| ^~~~~~~~~~~
hw/hyperv/hyperv.c: In function ‘synic_update’:
hw/hyperv/hyperv.c:64:13: error: implicit declaration of function ‘memory_region_del_subregion’ [-Werror=implicit-function-declaration]
64 | memory_region_del_subregion(get_system_memory(),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
hw/hyperv/hyperv.c: In function ‘hyperv_hcall_signal_event’:
hw/hyperv/hyperv.c:683:17: error: implicit declaration of function ‘ldq_phys’; did you mean ‘ldub_phys’? [-Werror=implicit-function-declaration]
683 | param = ldq_phys(&address_space_memory, addr);
| ^~~~~~~~
| ldub_phys
hw/hyperv/hyperv.c:683:17: error: nested extern declaration of ‘ldq_phys’ [-Werror=nested-externs]
hw/hyperv/hyperv.c: In function ‘hyperv_hcall_retreive_dbg_data’:
hw/hyperv/hyperv.c:792:24: error: ‘TARGET_PAGE_SIZE’ undeclared (first use in this function); did you mean ‘TARGET_PAGE_BITS’?
792 | msg.u.recv.count = TARGET_PAGE_SIZE - sizeof(*debug_data_out);
| ^~~~~~~~~~~~~~~~
| TARGET_PAGE_BITS
hw/hyperv/hyperv.c: In function ‘hyperv_syndbg_send’:
hw/hyperv/hyperv.c:885:16: error: ‘HV_SYNDBG_STATUS_INVALID’ undeclared (first use in this function)
885 | return HV_SYNDBG_STATUS_INVALID;
| ^~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
BTW who maintains this code?
$ ./scripts/get_maintainer.pl -f hw/hyperv/hyperv.c
get_maintainer.pl: No maintainers found, printing recent contributors.
get_maintainer.pl: Do not blindly cc: them on patches! Use common sense.
---
hw/hyperv/hyperv.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
index 57b402b956..6c4a18dd0e 100644
--- a/hw/hyperv/hyperv.c
+++ b/hw/hyperv/hyperv.c
@@ -12,6 +12,7 @@
#include "qemu/module.h"
#include "qapi/error.h"
#include "exec/address-spaces.h"
+#include "exec/memory.h"
#include "sysemu/kvm.h"
#include "qemu/bitops.h"
#include "qemu/error-report.h"
@@ -21,6 +22,9 @@
#include "qemu/rcu_queue.h"
#include "hw/hyperv/hyperv.h"
#include "qom/object.h"
+#include "target/i386/kvm/hyperv-proto.h"
+#include "target/i386/cpu.h"
+#include "exec/cpu-all.h"
struct SynICState {
DeviceState parent_obj;
--
2.41.0
On Mon, 29 Jan 2024 19:00, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>Include missing headers in order to avoid when refactoring
>unrelated headers:
>
> hw/hyperv/hyperv.c:33:18: error: field ‘msg_page_mr’ has incomplete type
> 33 | MemoryRegion msg_page_mr;
> | ^~~~~~~~~~~
> hw/hyperv/hyperv.c: In function ‘synic_update’:
> hw/hyperv/hyperv.c:64:13: error: implicit declaration of function ‘memory_region_del_subregion’ [-Werror=implicit-function-declaration]
> 64 | memory_region_del_subregion(get_system_memory(),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> hw/hyperv/hyperv.c: In function ‘hyperv_hcall_signal_event’:
> hw/hyperv/hyperv.c:683:17: error: implicit declaration of function ‘ldq_phys’; did you mean ‘ldub_phys’? [-Werror=implicit-function-declaration]
> 683 | param = ldq_phys(&address_space_memory, addr);
> | ^~~~~~~~
> | ldub_phys
> hw/hyperv/hyperv.c:683:17: error: nested extern declaration of ‘ldq_phys’ [-Werror=nested-externs]
> hw/hyperv/hyperv.c: In function ‘hyperv_hcall_retreive_dbg_data’:
> hw/hyperv/hyperv.c:792:24: error: ‘TARGET_PAGE_SIZE’ undeclared (first use in this function); did you mean ‘TARGET_PAGE_BITS’?
> 792 | msg.u.recv.count = TARGET_PAGE_SIZE - sizeof(*debug_data_out);
> | ^~~~~~~~~~~~~~~~
> | TARGET_PAGE_BITS
> hw/hyperv/hyperv.c: In function ‘hyperv_syndbg_send’:
> hw/hyperv/hyperv.c:885:16: error: ‘HV_SYNDBG_STATUS_INVALID’ undeclared (first use in this function)
> 885 | return HV_SYNDBG_STATUS_INVALID;
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>
>Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>---
>BTW who maintains this code?
>
>$ ./scripts/get_maintainer.pl -f hw/hyperv/hyperv.c
>get_maintainer.pl: No maintainers found, printing recent contributors.
>get_maintainer.pl: Do not blindly cc: them on patches! Use common sense.
>---
> hw/hyperv/hyperv.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
>diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
>index 57b402b956..6c4a18dd0e 100644
>--- a/hw/hyperv/hyperv.c
>+++ b/hw/hyperv/hyperv.c
>@@ -12,6 +12,7 @@
> #include "qemu/module.h"
> #include "qapi/error.h"
> #include "exec/address-spaces.h"
>+#include "exec/memory.h"
> #include "sysemu/kvm.h"
> #include "qemu/bitops.h"
> #include "qemu/error-report.h"
>@@ -21,6 +22,9 @@
> #include "qemu/rcu_queue.h"
> #include "hw/hyperv/hyperv.h"
> #include "qom/object.h"
>+#include "target/i386/kvm/hyperv-proto.h"
>+#include "target/i386/cpu.h"
>+#include "exec/cpu-all.h"
>
> struct SynICState {
> DeviceState parent_obj;
>--
>2.41.0
>
>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
On 29/01/2024 18.00, Philippe Mathieu-Daudé wrote:
> Include missing headers in order to avoid when refactoring
> unrelated headers:
>
> hw/hyperv/hyperv.c:33:18: error: field ‘msg_page_mr’ has incomplete type
> 33 | MemoryRegion msg_page_mr;
> | ^~~~~~~~~~~
> hw/hyperv/hyperv.c: In function ‘synic_update’:
> hw/hyperv/hyperv.c:64:13: error: implicit declaration of function ‘memory_region_del_subregion’ [-Werror=implicit-function-declaration]
> 64 | memory_region_del_subregion(get_system_memory(),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> hw/hyperv/hyperv.c: In function ‘hyperv_hcall_signal_event’:
> hw/hyperv/hyperv.c:683:17: error: implicit declaration of function ‘ldq_phys’; did you mean ‘ldub_phys’? [-Werror=implicit-function-declaration]
> 683 | param = ldq_phys(&address_space_memory, addr);
> | ^~~~~~~~
> | ldub_phys
> hw/hyperv/hyperv.c:683:17: error: nested extern declaration of ‘ldq_phys’ [-Werror=nested-externs]
> hw/hyperv/hyperv.c: In function ‘hyperv_hcall_retreive_dbg_data’:
> hw/hyperv/hyperv.c:792:24: error: ‘TARGET_PAGE_SIZE’ undeclared (first use in this function); did you mean ‘TARGET_PAGE_BITS’?
> 792 | msg.u.recv.count = TARGET_PAGE_SIZE - sizeof(*debug_data_out);
> | ^~~~~~~~~~~~~~~~
> | TARGET_PAGE_BITS
> hw/hyperv/hyperv.c: In function ‘hyperv_syndbg_send’:
> hw/hyperv/hyperv.c:885:16: error: ‘HV_SYNDBG_STATUS_INVALID’ undeclared (first use in this function)
> 885 | return HV_SYNDBG_STATUS_INVALID;
> | ^~~~~~~~~~~~~~~~~~~~~~~~
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> BTW who maintains this code?
>
> $ ./scripts/get_maintainer.pl -f hw/hyperv/hyperv.c
> get_maintainer.pl: No maintainers found, printing recent contributors.
> get_maintainer.pl: Do not blindly cc: them on patches! Use common sense.
> ---
> hw/hyperv/hyperv.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c
> index 57b402b956..6c4a18dd0e 100644
> --- a/hw/hyperv/hyperv.c
> +++ b/hw/hyperv/hyperv.c
> @@ -12,6 +12,7 @@
> #include "qemu/module.h"
> #include "qapi/error.h"
> #include "exec/address-spaces.h"
> +#include "exec/memory.h"
> #include "sysemu/kvm.h"
> #include "qemu/bitops.h"
> #include "qemu/error-report.h"
> @@ -21,6 +22,9 @@
> #include "qemu/rcu_queue.h"
> #include "hw/hyperv/hyperv.h"
> #include "qom/object.h"
> +#include "target/i386/kvm/hyperv-proto.h"
> +#include "target/i386/cpu.h"
> +#include "exec/cpu-all.h"
>
> struct SynICState {
> DeviceState parent_obj;
Reviewed-by: Thomas Huth <thuth@redhat.com>
© 2016 - 2026 Red Hat, Inc.