summaryrefslogtreecommitdiff
path: root/kernels/xen/pvh_pit_init.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/xen/pvh_pit_init.patch')
-rw-r--r--kernels/xen/pvh_pit_init.patch107
1 files changed, 0 insertions, 107 deletions
diff --git a/kernels/xen/pvh_pit_init.patch b/kernels/xen/pvh_pit_init.patch
deleted file mode 100644
index 4f14e5ddf..000000000
--- a/kernels/xen/pvh_pit_init.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 3a148e0a7ee0ae56a498be5ba973314ec50cd999 Mon Sep 17 00:00:00 2001
-From: Mukesh Rathor <mukesh.rathor@oracle.com>
-Date: Fri, 4 Apr 2014 10:36:29 +0200
-Subject: [PATCH] x86: call pit_init for pvh also
-
-During halt of a pvh guest, the guest may do speaker shutdown. This
-results in call to handle_speaker_io in xen. It will hang on the vpit
-spin lock because it has not been initialized.
-Since, pit_init is also called for both pv and hvm, the call is
-moved to a more generic place.
-
-Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-master commit: c30c544b199f70eada597c7352cdcb44648f6dcd
-master date: 2014-03-11 13:56:50 +0100
----
- xen/arch/x86/domain.c | 9 +++++----
- xen/arch/x86/hvm/hvm.c | 2 --
- xen/arch/x86/hvm/i8254.c | 3 +--
- xen/include/asm-x86/hvm/vpt.h | 2 +-
- 4 files changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
-index 6618ae6..bc073e5 100644
---- a/xen/arch/x86/domain.c
-+++ b/xen/arch/x86/domain.c
-@@ -422,10 +422,6 @@ int vcpu_initialise(struct vcpu *v)
-
- /* PV guests by default have a 100Hz ticker. */
- v->periodic_period = MILLISECS(10);
--
-- /* PV guests get an emulated PIT too for video BIOSes to use. */
-- if ( v->vcpu_id == 0 )
-- pit_init(v, cpu_khz);
- }
-
- v->arch.schedule_tail = continue_nonidle_domain;
-@@ -579,6 +575,9 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags)
- tsc_set_info(d, TSC_MODE_DEFAULT, 0UL, 0, 0);
- spin_lock_init(&d->arch.vtsc_lock);
-
-+ /* PV/PVH guests get an emulated PIT too for video BIOSes to use. */
-+ pit_init(d, cpu_khz);
-+
- return 0;
-
- fail:
-@@ -1980,6 +1979,8 @@ int domain_relinquish_resources(struct domain *d)
- BUG();
- }
-
-+ pit_deinit(d);
-+
- if ( has_hvm_container_domain(d) )
- hvm_domain_relinquish_resources(d);
-
-diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
-index 6150899..a666471 100644
---- a/xen/arch/x86/hvm/hvm.c
-+++ b/xen/arch/x86/hvm/hvm.c
-@@ -643,7 +643,6 @@ void hvm_domain_relinquish_resources(struct domain *d)
- rtc_deinit(d);
- if ( d->vcpu != NULL && d->vcpu[0] != NULL )
- {
-- pit_deinit(d);
- pmtimer_deinit(d);
- hpet_deinit(d);
- }
-@@ -1217,7 +1216,6 @@ int hvm_vcpu_initialise(struct vcpu *v)
- if ( v->vcpu_id == 0 )
- {
- /* NB. All these really belong in hvm_domain_initialise(). */
-- pit_init(v, cpu_khz);
- pmtimer_init(v);
- hpet_init(v);
-
-diff --git a/xen/arch/x86/hvm/i8254.c b/xen/arch/x86/hvm/i8254.c
-index c0d6bc2..f7493b8 100644
---- a/xen/arch/x86/hvm/i8254.c
-+++ b/xen/arch/x86/hvm/i8254.c
-@@ -447,9 +447,8 @@ void pit_reset(struct domain *d)
- spin_unlock(&pit->lock);
- }
-
--void pit_init(struct vcpu *v, unsigned long cpu_khz)
-+void pit_init(struct domain *d, unsigned long cpu_khz)
- {
-- struct domain *d = v->domain;
- PITState *pit = domain_vpit(d);
-
- spin_lock_init(&pit->lock);
-diff --git a/xen/include/asm-x86/hvm/vpt.h b/xen/include/asm-x86/hvm/vpt.h
-index 87c3a66..9f3ec8d 100644
---- a/xen/include/asm-x86/hvm/vpt.h
-+++ b/xen/include/asm-x86/hvm/vpt.h
-@@ -175,7 +175,7 @@ void destroy_periodic_time(struct periodic_time *pt);
- int pv_pit_handler(int port, int data, int write);
- void pit_reset(struct domain *d);
-
--void pit_init(struct vcpu *v, unsigned long cpu_khz);
-+void pit_init(struct domain *d, unsigned long cpu_khz);
- void pit_stop_channel0_irq(PITState * pit);
- void pit_deinit(struct domain *d);
- void rtc_init(struct domain *d);
---
-1.7.2.5
-