# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID b2abc70be89e02d0d380674096c8c1fb9e552431
# Parent e61bb865ec7407cd4a7a9b95485637009202a5ab
[IA64] Revert xen-ia64-unstable.hg cset 10685
This reverts the following xen-ia64-unstable.hg cset:
"[IA64] emulate PAL_HALT_LIGHT on domU"
10685:8ad37880564dff8599f2f410f7bd0c54a50a29e2
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
xen/arch/ia64/vmx/vlsapic.c | 2 ++
xen/arch/ia64/xen/domain.c | 11 -----------
xen/arch/ia64/xen/hypercall.c | 4 +---
xen/arch/ia64/xen/xentime.c | 14 ++++++++++++++
xen/include/asm-ia64/domain.h | 1 -
xen/include/asm-ia64/time.h | 24 ------------------------
xen/include/asm-ia64/vcpu.h | 8 --------
7 files changed, 17 insertions(+), 47 deletions(-)
diff -r e61bb865ec74 -r b2abc70be89e xen/arch/ia64/vmx/vlsapic.c
--- a/xen/arch/ia64/vmx/vlsapic.c Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/arch/ia64/vmx/vlsapic.c Wed Jul 19 07:17:54 2006 -0600
@@ -165,6 +165,8 @@ void vtm_set_itc(VCPU *vcpu, uint64_t ne
#define TIMER_SLOP (50*1000) /* ns */ /* copy from timer.c */
+extern u64 cycle_to_ns(u64 cyle);
+
void vtm_set_itm(VCPU *vcpu, uint64_t val)
{
diff -r e61bb865ec74 -r b2abc70be89e xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/arch/ia64/xen/domain.c Wed Jul 19 07:17:54 2006 -0600
@@ -248,14 +248,6 @@ void startup_cpu_idle_loop(void)
continue_cpu_idle_loop();
}
-void hlt_timer_fn(void *data)
-{
- struct vcpu *v = data;
- if (vcpu_timer_expired(v))
- vcpu_pend_timer(v);
- vcpu_unblock(v);
-}
-
struct vcpu *alloc_vcpu_struct(struct domain *d, unsigned int vcpu_id)
{
struct vcpu *v;
@@ -311,8 +303,6 @@ struct vcpu *alloc_vcpu_struct(struct do
v->arch.breakimm = d->arch.breakimm;
v->arch.last_processor = INVALID_PROCESSOR;
}
- if (!VMX_DOMAIN(v))
- init_timer(&v->arch.hlt_timer, hlt_timer_fn, v, v->processor);
return v;
}
@@ -325,7 +315,6 @@ void free_vcpu_struct(struct vcpu *v)
if (v->arch.privregs != NULL)
free_xenheap_pages(v->arch.privregs,
get_order_from_shift(XMAPPEDREGS_SHIFT));
- kill_timer(&v->arch.hlt_timer);
}
free_xenheap_pages(v, KERNEL_STACK_SIZE_ORDER);
diff -r e61bb865ec74 -r b2abc70be89e xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/arch/ia64/xen/hypercall.c Wed Jul 19 07:17:54 2006 -0600
@@ -220,9 +220,7 @@ fw_hypercall (struct pt_regs *regs)
}
else {
pal_halt_light_count++;
- set_timer(&v->arch.hlt_timer,
- vcpu_get_next_timer_ns(v));
- do_sched_op_compat(SCHEDOP_block, 0);
+ do_sched_op_compat(SCHEDOP_yield, 0);
}
regs->r8 = 0;
regs->r9 = 0;
diff -r e61bb865ec74 -r b2abc70be89e xen/arch/ia64/xen/xentime.c
--- a/xen/arch/ia64/xen/xentime.c Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/arch/ia64/xen/xentime.c Wed Jul 19 07:17:54 2006 -0600
@@ -41,6 +41,20 @@ static s_time_t stime_irq = 0x0;
static s_time_t stime_irq = 0x0; /* System time at last 'time
update' */
unsigned long itc_scale, ns_scale;
unsigned long itc_at_irq;
+
+/* We don't expect an absolute cycle value here, since then no way
+ * to prevent overflow for large norminator. Normally this conversion
+ * is used for relative offset.
+ */
+u64 cycle_to_ns(u64 cycle)
+{
+ return (cycle * itc_scale) >> 32;
+}
+
+u64 ns_to_cycle(u64 ns)
+{
+ return (ns * ns_scale) >> 32;
+}
static inline u64 get_time_delta(void)
{
diff -r e61bb865ec74 -r b2abc70be89e xen/include/asm-ia64/domain.h
--- a/xen/include/asm-ia64/domain.h Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/include/asm-ia64/domain.h Wed Jul 19 07:17:54 2006 -0600
@@ -170,7 +170,6 @@ struct arch_vcpu {
unsigned long old_rsc;
int mode_flags;
fpswa_ret_t fpswa_ret; /* save return values of FPSWA emulation */
- struct timer hlt_timer;
struct arch_vmx_struct arch_vmx; /* Virtual Machine Extensions */
#define INVALID_PROCESSOR INT_MAX
diff -r e61bb865ec74 -r b2abc70be89e xen/include/asm-ia64/time.h
--- a/xen/include/asm-ia64/time.h Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/include/asm-ia64/time.h Wed Jul 19 07:17:54 2006 -0600
@@ -1,26 +1,2 @@
-#ifndef _XEN_IA64_TIME_H
-#define _XEN_IA64_TIME_H
-
#include <asm/linux/time.h>
#include <asm/timex.h>
-
-extern unsigned long itc_scale;
-extern unsigned long ns_scale;
-
-/* We don't expect an absolute cycle value here, since then no way
- * to prevent overflow for large norminator. Normally this conversion
- * is used for relative offset.
- */
-static inline u64
-cycle_to_ns(u64 cycle)
-{
- return (cycle * itc_scale) >> 32;
-}
-
-static inline u64
-ns_to_cycle(u64 ns)
-{
- return (ns * ns_scale) >> 32;
-}
-
-#endif /* _XEN_IA64_TIME_H */
diff -r e61bb865ec74 -r b2abc70be89e xen/include/asm-ia64/vcpu.h
--- a/xen/include/asm-ia64/vcpu.h Fri Jul 14 11:18:36 2006 -0600
+++ b/xen/include/asm-ia64/vcpu.h Wed Jul 19 07:17:54 2006 -0600
@@ -4,11 +4,9 @@
// TODO: Many (or perhaps most) of these should eventually be
// static inline functions
-#include <asm/delay.h>
#include <asm/fpu.h>
#include <asm/tlb.h>
#include <asm/ia64_int.h>
-#include <asm/time.h>
#include <public/arch-ia64.h>
typedef unsigned long UINT64;
typedef unsigned int UINT;
@@ -184,12 +182,6 @@ itir_mask(UINT64 itir)
return (~((1UL << itir_ps(itir)) - 1));
}
-static inline u64
-vcpu_get_next_timer_ns(VCPU *vcpu)
-{
- return cycle_to_ns(PSCBX(vcpu, domain_itm) - ia64_get_itc()) + NOW();
-}
-
#define verbose(a...) do {if (vcpu_verbose) printf(a);} while(0)
//#define vcpu_quick_region_check(_tr_regions,_ifa) 1
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|