KVM: selftests: Move Intel and AMD module param helpers to x86/processor.h

Move the x86 specific helpers for getting kvm_{amd,intel} module params to
x86 where they belong.  Expose the module-agnostic helpers globally, there
is nothing secret about the logic.

Link: https://lore.kernel.org/r/20250806225159.1687326-1-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Sean Christopherson
2025-08-06 15:51:59 -07:00
parent a585b87614
commit e2bcf62a2e
3 changed files with 33 additions and 38 deletions

View File

@@ -260,13 +260,18 @@ int __open_path_or_exit(const char *path, int flags, const char *enoent_help);
int open_path_or_exit(const char *path, int flags);
int open_kvm_dev_path_or_exit(void);
bool get_kvm_param_bool(const char *param);
bool get_kvm_intel_param_bool(const char *param);
bool get_kvm_amd_param_bool(const char *param);
int kvm_get_module_param_integer(const char *module_name, const char *param);
bool kvm_get_module_param_bool(const char *module_name, const char *param);
int get_kvm_param_integer(const char *param);
int get_kvm_intel_param_integer(const char *param);
int get_kvm_amd_param_integer(const char *param);
static inline bool get_kvm_param_bool(const char *param)
{
return kvm_get_module_param_bool("kvm", param);
}
static inline int get_kvm_param_integer(const char *param)
{
return kvm_get_module_param_integer("kvm", param);
}
unsigned int kvm_check_cap(long cap);

View File

@@ -1314,6 +1314,26 @@ static inline uint8_t xsetbv_safe(uint32_t index, uint64_t value)
bool kvm_is_tdp_enabled(void);
static inline bool get_kvm_intel_param_bool(const char *param)
{
return kvm_get_module_param_bool("kvm_intel", param);
}
static inline bool get_kvm_amd_param_bool(const char *param)
{
return kvm_get_module_param_bool("kvm_amd", param);
}
static inline int get_kvm_intel_param_integer(const char *param)
{
return kvm_get_module_param_integer("kvm_intel", param);
}
static inline int get_kvm_amd_param_integer(const char *param)
{
return kvm_get_module_param_integer("kvm_amd", param);
}
static inline bool kvm_is_pmu_enabled(void)
{
return get_kvm_param_bool("enable_pmu");

View File

@@ -95,7 +95,7 @@ static ssize_t get_module_param(const char *module_name, const char *param,
return bytes_read;
}
static int get_module_param_integer(const char *module_name, const char *param)
int kvm_get_module_param_integer(const char *module_name, const char *param)
{
/*
* 16 bytes to hold a 64-bit value (1 byte per char), 1 byte for the
@@ -119,7 +119,7 @@ static int get_module_param_integer(const char *module_name, const char *param)
return atoi_paranoid(value);
}
static bool get_module_param_bool(const char *module_name, const char *param)
bool kvm_get_module_param_bool(const char *module_name, const char *param)
{
char value;
ssize_t r;
@@ -135,36 +135,6 @@ static bool get_module_param_bool(const char *module_name, const char *param)
TEST_FAIL("Unrecognized value '%c' for boolean module param", value);
}
bool get_kvm_param_bool(const char *param)
{
return get_module_param_bool("kvm", param);
}
bool get_kvm_intel_param_bool(const char *param)
{
return get_module_param_bool("kvm_intel", param);
}
bool get_kvm_amd_param_bool(const char *param)
{
return get_module_param_bool("kvm_amd", param);
}
int get_kvm_param_integer(const char *param)
{
return get_module_param_integer("kvm", param);
}
int get_kvm_intel_param_integer(const char *param)
{
return get_module_param_integer("kvm_intel", param);
}
int get_kvm_amd_param_integer(const char *param)
{
return get_module_param_integer("kvm_amd", param);
}
/*
* Capability
*