KVM: x86: minor size optimization
Some fields can be constified and/or made static to reduce code and data
size.
Numbers for a 32 bit build:
text data bss dec hex filename
before: 3351 80 0 3431 d67 cpuid.o
after: 3391 0 0 3391 d3f cpuid.o
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
committed by
Avi Kivity
parent
ec798660cf
commit
326d07cb30
@@ -397,8 +397,8 @@ static int do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KVM_CPUID_SIGNATURE: {
|
case KVM_CPUID_SIGNATURE: {
|
||||||
char signature[12] = "KVMKVMKVM\0\0";
|
static const char signature[12] = "KVMKVMKVM\0\0";
|
||||||
u32 *sigptr = (u32 *)signature;
|
const u32 *sigptr = (const u32 *)signature;
|
||||||
entry->eax = KVM_CPUID_FEATURES;
|
entry->eax = KVM_CPUID_FEATURES;
|
||||||
entry->ebx = sigptr[0];
|
entry->ebx = sigptr[0];
|
||||||
entry->ecx = sigptr[1];
|
entry->ecx = sigptr[1];
|
||||||
@@ -484,10 +484,10 @@ struct kvm_cpuid_param {
|
|||||||
u32 func;
|
u32 func;
|
||||||
u32 idx;
|
u32 idx;
|
||||||
bool has_leaf_count;
|
bool has_leaf_count;
|
||||||
bool (*qualifier)(struct kvm_cpuid_param *param);
|
bool (*qualifier)(const struct kvm_cpuid_param *param);
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool is_centaur_cpu(struct kvm_cpuid_param *param)
|
static bool is_centaur_cpu(const struct kvm_cpuid_param *param)
|
||||||
{
|
{
|
||||||
return boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR;
|
return boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR;
|
||||||
}
|
}
|
||||||
@@ -498,7 +498,7 @@ int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid,
|
|||||||
struct kvm_cpuid_entry2 *cpuid_entries;
|
struct kvm_cpuid_entry2 *cpuid_entries;
|
||||||
int limit, nent = 0, r = -E2BIG, i;
|
int limit, nent = 0, r = -E2BIG, i;
|
||||||
u32 func;
|
u32 func;
|
||||||
static struct kvm_cpuid_param param[] = {
|
static const struct kvm_cpuid_param param[] = {
|
||||||
{ .func = 0, .has_leaf_count = true },
|
{ .func = 0, .has_leaf_count = true },
|
||||||
{ .func = 0x80000000, .has_leaf_count = true },
|
{ .func = 0x80000000, .has_leaf_count = true },
|
||||||
{ .func = 0xC0000000, .qualifier = is_centaur_cpu, .has_leaf_count = true },
|
{ .func = 0xC0000000, .qualifier = is_centaur_cpu, .has_leaf_count = true },
|
||||||
@@ -517,7 +517,7 @@ int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid,
|
|||||||
|
|
||||||
r = 0;
|
r = 0;
|
||||||
for (i = 0; i < ARRAY_SIZE(param); i++) {
|
for (i = 0; i < ARRAY_SIZE(param); i++) {
|
||||||
struct kvm_cpuid_param *ent = ¶m[i];
|
const struct kvm_cpuid_param *ent = ¶m[i];
|
||||||
|
|
||||||
if (ent->qualifier && !ent->qualifier(ent))
|
if (ent->qualifier && !ent->qualifier(ent))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user