diff mbox series

[2/2] sysemu/kvm: Restrict hvf_get_supported_cpuid() to x86 targets

Message ID 20230905123906.6880-3-philmd@linaro.org
State New
Headers show
Series sysemu/accel: Simplify sysemu/hvf.h | expand

Commit Message

Philippe Mathieu-Daudé Sept. 5, 2023, 12:39 p.m. UTC
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(-)

Comments

Roman Bolshakov Sept. 10, 2023, 8:59 p.m. UTC | #1
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
Philippe Mathieu-Daudé Oct. 4, 2023, 9:25 a.m. UTC | #2
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 mbox series

Patch

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"