Skip to content

Commit

Permalink
xen: simplify init_hvm_pv_info
Browse files Browse the repository at this point in the history
init_hvm_pv_info is called only in PVonHVM context, move it into ifdef.
init_hvm_pv_info does not fail, make it a void function.
remove arguments from init_hvm_pv_info because they are not used by the
caller.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  • Loading branch information
Olaf Hering authored and Konrad Rzeszutek Wilk committed Jul 19, 2012
1 parent 4648da7 commit 4ff2d06
Showing 1 changed file with 26 additions and 32 deletions.
58 changes: 26 additions & 32 deletions arch/x86/xen/enlighten.c
Original file line number Diff line number Diff line change
Expand Up @@ -1471,32 +1471,6 @@ asmlinkage void __init xen_start_kernel(void)
#endif
}

static int init_hvm_pv_info(int *major, int *minor)
{
uint32_t eax, ebx, ecx, edx, pages, msr, base;
u64 pfn;

base = xen_cpuid_base();
cpuid(base + 1, &eax, &ebx, &ecx, &edx);

*major = eax >> 16;
*minor = eax & 0xffff;
printk(KERN_INFO "Xen version %d.%d.\n", *major, *minor);

cpuid(base + 2, &pages, &msr, &ecx, &edx);

pfn = __pa(hypercall_page);
wrmsr_safe(msr, (u32)pfn, (u32)(pfn >> 32));

xen_setup_features();

pv_info.name = "Xen HVM";

xen_domain_type = XEN_HVM_DOMAIN;

return 0;
}

void __ref xen_hvm_init_shared_info(void)
{
int cpu;
Expand Down Expand Up @@ -1529,6 +1503,31 @@ void __ref xen_hvm_init_shared_info(void)
}

#ifdef CONFIG_XEN_PVHVM
static void __init init_hvm_pv_info(void)
{
int major, minor;
uint32_t eax, ebx, ecx, edx, pages, msr, base;
u64 pfn;

base = xen_cpuid_base();
cpuid(base + 1, &eax, &ebx, &ecx, &edx);

major = eax >> 16;
minor = eax & 0xffff;
printk(KERN_INFO "Xen version %d.%d.\n", major, minor);

cpuid(base + 2, &pages, &msr, &ecx, &edx);

pfn = __pa(hypercall_page);
wrmsr_safe(msr, (u32)pfn, (u32)(pfn >> 32));

xen_setup_features();

pv_info.name = "Xen HVM";

xen_domain_type = XEN_HVM_DOMAIN;
}

static int __cpuinit xen_hvm_cpu_notify(struct notifier_block *self,
unsigned long action, void *hcpu)
{
Expand All @@ -1551,12 +1550,7 @@ static struct notifier_block xen_hvm_cpu_notifier __cpuinitdata = {

static void __init xen_hvm_guest_init(void)
{
int r;
int major, minor;

r = init_hvm_pv_info(&major, &minor);
if (r < 0)
return;
init_hvm_pv_info();

xen_hvm_init_shared_info();

Expand Down

0 comments on commit 4ff2d06

Please sign in to comment.