search for: x86_hyper

Displaying 20 results from an estimated 32 matches for "x86_hyper".

2017 Dec 22
0
[PATCH 4.14 064/159] x86/virt, x86/platform: Merge struct x86_hyper into struct x86_platform and struct x86_init
4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Juergen Gross <jgross at suse.com> commit f72e38e8ec8869ac0ba5a75d7d2f897d98a1454e upstream. Instead of x86_hyper being either NULL on bare metal or a pointer to a struct hypervisor_x86 in case of the kernel running as a guest merge the struct into x86_platform and x86_init. This will remove the need for wrappers making it hard to find out what is being called. With dummy functions added for all callbacks tes...
2017 Nov 09
4
[PATCH v2 0/5] x86/xen: support booting PVH guest via standard boot path
...ov at gmail.com Cc: xdeguillard at vmware.com Cc: moltmann at vmware.com Cc: arnd at arndb.de Cc: gregkh at linuxfoundation.org Cc: linux-input at vger.kernel.org Cc: rjw at rjwysocki.net Cc: len.brown at intel.com Cc: pavel at ucw.cz Cc: linux-pm at vger.kernel.org Juergen Gross (5): x86: merge x86_hyper into x86_platform and x86_init x86: add enum for hypervisors to replace x86_hyper x86/acpi: add test for ACPI_FADT_NO_VGA x86: add guest_late_init hook to hypervisor_x86 structure x86/xen: use guest_late_init to detect Xen PVH guest arch/x86/hyperv/hv_init.c | 2 +- arch/x86/incl...
2017 Nov 09
4
[PATCH v2 0/5] x86/xen: support booting PVH guest via standard boot path
...ov at gmail.com Cc: xdeguillard at vmware.com Cc: moltmann at vmware.com Cc: arnd at arndb.de Cc: gregkh at linuxfoundation.org Cc: linux-input at vger.kernel.org Cc: rjw at rjwysocki.net Cc: len.brown at intel.com Cc: pavel at ucw.cz Cc: linux-pm at vger.kernel.org Juergen Gross (5): x86: merge x86_hyper into x86_platform and x86_init x86: add enum for hypervisors to replace x86_hyper x86/acpi: add test for ACPI_FADT_NO_VGA x86: add guest_late_init hook to hypervisor_x86 structure x86/xen: use guest_late_init to detect Xen PVH guest arch/x86/hyperv/hv_init.c | 2 +- arch/x86/incl...
2017 Dec 22
0
[PATCH 4.14 065/159] x86/virt: Add enum for hypervisors to replace x86_hyper
4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Juergen Gross <jgross at suse.com> commit 03b2a320b19f1424e9ac9c21696be9c60b6d0d93 upstream. The x86_hyper pointer is only used for checking whether a virtual device is supporting the hypervisor the system is running on. Use an enum for that purpose instead and drop the x86_hyper pointer. Signed-off-by: Juergen Gross <jgross at suse.com> Acked-by: Thomas Gleixner <tglx at linutronix.de> Ac...
2017 Nov 10
1
[PATCH v2 2/5] x86: add enum for hypervisors to replace x86_hyper
On Thu, Nov 09, 2017 at 02:27:36PM +0100, Juergen Gross wrote: > The x86_hyper pointer is only used for checking whether a virtual > device is supporting the hypervisor the system is running on. > > Use an enum for that purpose instead and drop the x86_hyper pointer. > > Cc: kys at microsoft.com > Cc: haiyangz at microsoft.com > Cc: sthemmin at microsof...
2017 Nov 10
1
[PATCH v2 2/5] x86: add enum for hypervisors to replace x86_hyper
On Thu, Nov 09, 2017 at 02:27:36PM +0100, Juergen Gross wrote: > The x86_hyper pointer is only used for checking whether a virtual > device is supporting the hypervisor the system is running on. > > Use an enum for that purpose instead and drop the x86_hyper pointer. > > Cc: kys at microsoft.com > Cc: haiyangz at microsoft.com > Cc: sthemmin at microsof...
2017 Nov 09
0
[PATCH v2 2/5] x86: add enum for hypervisors to replace x86_hyper
The x86_hyper pointer is only used for checking whether a virtual device is supporting the hypervisor the system is running on. Use an enum for that purpose instead and drop the x86_hyper pointer. Cc: kys at microsoft.com Cc: haiyangz at microsoft.com Cc: sthemmin at microsoft.com Cc: akataria at vmware.com Cc...
2013 Jan 17
1
[PATCH] x86, Allow x2apic without IR on VMware platform.
...c_available(void); /* * x86 hypervisor information @@ -41,6 +42,9 @@ struct hypervisor_x86 { /* Platform setup (run once per boot) */ void (*init_platform)(void); + + /* X2APIC detection (run once per boot) */ + bool (*x2apic_available)(void); }; extern const struct hypervisor_x86 *x86_hyper; @@ -51,13 +55,4 @@ extern const struct hypervisor_x86 x86_hyper_ms_hyperv; extern const struct hypervisor_x86 x86_hyper_xen_hvm; extern const struct hypervisor_x86 x86_hyper_kvm; -static inline bool hypervisor_x2apic_available(void) -{ - if (kvm_para_available()) - return true; - if (xen_x2ap...
2013 Jan 17
1
[PATCH] x86, Allow x2apic without IR on VMware platform.
...c_available(void); /* * x86 hypervisor information @@ -41,6 +42,9 @@ struct hypervisor_x86 { /* Platform setup (run once per boot) */ void (*init_platform)(void); + + /* X2APIC detection (run once per boot) */ + bool (*x2apic_available)(void); }; extern const struct hypervisor_x86 *x86_hyper; @@ -51,13 +55,4 @@ extern const struct hypervisor_x86 x86_hyper_ms_hyperv; extern const struct hypervisor_x86 x86_hyper_xen_hvm; extern const struct hypervisor_x86 x86_hyper_kvm; -static inline bool hypervisor_x2apic_available(void) -{ - if (kvm_para_available()) - return true; - if (xen_x2ap...
2016 Apr 06
0
[PATCH v5 2/6] virt, sched: add generic vcpu pinning support
...+++ b/arch/x86/include/asm/hypervisor.h @@ -43,6 +43,9 @@ struct hypervisor_x86 { /* X2APIC detection (run once per boot) */ bool (*x2apic_available)(void); + + /* pin current vcpu to specified physical cpu (run rarely) */ + void (*pin_vcpu)(int); }; extern const struct hypervisor_x86 *x86_hyper; @@ -56,6 +59,7 @@ extern const struct hypervisor_x86 x86_hyper_kvm; extern void init_hypervisor(struct cpuinfo_x86 *c); extern void init_hypervisor_platform(void); extern bool hypervisor_x2apic_available(void); +extern void hypervisor_pin_vcpu(int cpu); #else static inline void init_hyperviso...
2017 Oct 05
0
[PATCH 11/13] x86/paravirt: Add paravirt alternatives infrastructure
...{ > diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c > index 4fa90006ac68..17243fe0f5ce 100644 > --- a/arch/x86/kernel/cpu/hypervisor.c > +++ b/arch/x86/kernel/cpu/hypervisor.c > @@ -71,6 +71,8 @@ void __init init_hypervisor_platform(void) > if (!x86_hyper) > return; > > + apply_pv_alternatives(); Not for Xen PV guests who have already done this. -boris > + > if (x86_hyper->init_platform) > x86_hyper->init_platform(); > } >
2017 Oct 06
4
[PATCH 11/13] x86/paravirt: Add paravirt alternatives infrastructure
.../x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c > > index 4fa90006ac68..17243fe0f5ce 100644 > > --- a/arch/x86/kernel/cpu/hypervisor.c > > +++ b/arch/x86/kernel/cpu/hypervisor.c > > @@ -71,6 +71,8 @@ void __init init_hypervisor_platform(void) > > if (!x86_hyper) > > return; > > > > + apply_pv_alternatives(); > > Not for Xen PV guests who have already done this. I think it would be harmless, but yeah, it's probably best to only write it once. Thanks for the review! -- Josh
2017 Oct 06
4
[PATCH 11/13] x86/paravirt: Add paravirt alternatives infrastructure
.../x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c > > index 4fa90006ac68..17243fe0f5ce 100644 > > --- a/arch/x86/kernel/cpu/hypervisor.c > > +++ b/arch/x86/kernel/cpu/hypervisor.c > > @@ -71,6 +71,8 @@ void __init init_hypervisor_platform(void) > > if (!x86_hyper) > > return; > > > > + apply_pv_alternatives(); > > Not for Xen PV guests who have already done this. I think it would be harmless, but yeah, it's probably best to only write it once. Thanks for the review! -- Josh
2016 Mar 21
0
[PATCH v2 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...+++ b/arch/x86/include/asm/hypervisor.h @@ -43,6 +43,9 @@ struct hypervisor_x86 { /* X2APIC detection (run once per boot) */ bool (*x2apic_available)(void); + + /* pin current vcpu to specified physical cpu (run rarely) */ + void (*pin_vcpu)(int); }; extern const struct hypervisor_x86 *x86_hyper; @@ -56,6 +59,12 @@ extern const struct hypervisor_x86 x86_hyper_kvm; extern void init_hypervisor(struct cpuinfo_x86 *c); extern void init_hypervisor_platform(void); extern bool hypervisor_x2apic_available(void); + +static inline void hypervisor_pin_vcpu(int cpu) +{ + if (x86_hyper->pin_vcpu)...
2016 Apr 01
0
[PATCH v3 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()
...+++ b/arch/x86/include/asm/hypervisor.h @@ -43,6 +43,9 @@ struct hypervisor_x86 { /* X2APIC detection (run once per boot) */ bool (*x2apic_available)(void); + + /* pin current vcpu to specified physical cpu (run rarely) */ + void (*pin_vcpu)(int); }; extern const struct hypervisor_x86 *x86_hyper; @@ -56,6 +59,12 @@ extern const struct hypervisor_x86 x86_hyper_kvm; extern void init_hypervisor(struct cpuinfo_x86 *c); extern void init_hypervisor_platform(void); extern bool hypervisor_x2apic_available(void); + +static inline void hypervisor_pin_vcpu(int cpu) +{ + if (x86_hyper->pin_vcpu)...
2016 Apr 06
14
[PATCH v5 0/6] Support calling functions on dedicated physical cpu
Some hardware (e.g. Dell Studio laptops) require special functions to be called on physical cpu 0 in order to avoid occasional hangs. When running as dom0 under Xen this could be achieved only via special boot parameters (vcpu pinning) limiting the hypervisor in it's scheduling decisions. This patch series is adding a generic function to be able to temporarily pin a (virtual) cpu to a
2016 Apr 06
14
[PATCH v5 0/6] Support calling functions on dedicated physical cpu
Some hardware (e.g. Dell Studio laptops) require special functions to be called on physical cpu 0 in order to avoid occasional hangs. When running as dom0 under Xen this could be achieved only via special boot parameters (vcpu pinning) limiting the hypervisor in it's scheduling decisions. This patch series is adding a generic function to be able to temporarily pin a (virtual) cpu to a
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...endor(void) { const struct hypervisor_x86 *h, * const *p; + uint32_t pri, max_pri = 0; for (p = hypervisors; p < hypervisors + ARRAY_SIZE(hypervisors); p++) { h = *p; - if (h->detect()) { + pri = h->detect(); + if (pri != 0 && pri > max_pri) { + max_pri = pri; x86_hyper = h; - printk(KERN_INFO "Hypervisor detected: %s\n", h->name); - break; } } + + if (max_pri) + printk(KERN_INFO "Hypervisor detected: %s\n", x86_hyper->name); } void init_hypervisor(struct cpuinfo_x86 *c) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86...
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...endor(void) { const struct hypervisor_x86 *h, * const *p; + uint32_t pri, max_pri = 0; for (p = hypervisors; p < hypervisors + ARRAY_SIZE(hypervisors); p++) { h = *p; - if (h->detect()) { + pri = h->detect(); + if (pri != 0 && pri > max_pri) { + max_pri = pri; x86_hyper = h; - printk(KERN_INFO "Hypervisor detected: %s\n", h->name); - break; } } + + if (max_pri) + printk(KERN_INFO "Hypervisor detected: %s\n", x86_hyper->name); } void init_hypervisor(struct cpuinfo_x86 *c) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86...
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...endor(void) { const struct hypervisor_x86 *h, * const *p; + uint32_t pri, max_pri = 0; for (p = hypervisors; p < hypervisors + ARRAY_SIZE(hypervisors); p++) { h = *p; - if (h->detect()) { + pri = h->detect(); + if (pri != 0 && pri > max_pri) { + max_pri = pri; x86_hyper = h; - printk(KERN_INFO "Hypervisor detected: %s\n", h->name); - break; } } + + if (max_pri) + printk(KERN_INFO "Hypervisor detected: %s\n", x86_hyper->name); } void init_hypervisor(struct cpuinfo_x86 *c) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86...