Message ID | 20230905123906.6880-3-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | sysemu/accel: Simplify sysemu/hvf.h | expand |
On Tue, Sep 05, 2023 at 02:39:06PM +0200, Philippe Mathieu-Daudé wrote: > hvf_get_supported_cpuid() is only defined for x86 targets > (in target/i386/hvf/x86_cpuid.c). > Its declaration is pointless on all other targets. > > All the calls to it in target/i386/cpu.c are guarded by > a call on hvf_enabled(), so are elided when HVF is not > built in. Therefore we can remove the unnecessary function > stub. > Looks good but you also need to include "hvf/hvf-i386.h" to target/i386/hvf/hvf-cpu.c, otherwise the build fails. --Roman
On 10/9/23 22:59, Roman Bolshakov wrote: > On Tue, Sep 05, 2023 at 02:39:06PM +0200, Philippe Mathieu-Daudé wrote: >> hvf_get_supported_cpuid() is only defined for x86 targets >> (in target/i386/hvf/x86_cpuid.c). >> Its declaration is pointless on all other targets. >> >> All the calls to it in target/i386/cpu.c are guarded by >> a call on hvf_enabled(), so are elided when HVF is not >> built in. Therefore we can remove the unnecessary function >> stub. >> > > Looks good but you also need to include "hvf/hvf-i386.h" to > target/i386/hvf/hvf-cpu.c, otherwise the build fails. Oops, thanks for testing!
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h index 4037cd6a73..4a7c6af3a5 100644 --- a/include/sysemu/hvf.h +++ b/include/sysemu/hvf.h @@ -20,13 +20,10 @@ #include "cpu.h" #ifdef CONFIG_HVF -uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, - int reg); extern bool hvf_allowed; #define hvf_enabled() (hvf_allowed) #else /* !CONFIG_HVF */ #define hvf_enabled() 0 -#define hvf_get_supported_cpuid(func, idx, reg) 0 #endif /* !CONFIG_HVF */ #endif /* NEED_CPU_H */ diff --git a/target/i386/hvf/hvf-i386.h b/target/i386/hvf/hvf-i386.h index 243bc111cc..e99c02cd4b 100644 --- a/target/i386/hvf/hvf-i386.h +++ b/target/i386/hvf/hvf-i386.h @@ -16,6 +16,8 @@ #ifndef HVF_I386_H #define HVF_I386_H +uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, int reg); + void hvf_handle_io(CPUArchState *, uint16_t, void *, int, int, int); /* Host specific functions */ diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 00f913b638..6789384bec 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -26,6 +26,7 @@ #include "tcg/helper-tcg.h" #include "sysemu/reset.h" #include "sysemu/hvf.h" +#include "hvf/hvf-i386.h" #include "kvm/kvm_i386.h" #include "sev.h" #include "qapi/error.h"
hvf_get_supported_cpuid() is only defined for x86 targets (in target/i386/hvf/x86_cpuid.c). Its declaration is pointless on all other targets. All the calls to it in target/i386/cpu.c are guarded by a call on hvf_enabled(), so are elided when HVF is not built in. Therefore we can remove the unnecessary function stub. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- include/sysemu/hvf.h | 3 --- target/i386/hvf/hvf-i386.h | 2 ++ target/i386/cpu.c | 1 + 3 files changed, 3 insertions(+), 3 deletions(-)