[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Clean up PIT-thru-ioapic setup. We don't need the legacy missed-tick
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 8aa45d7713e3c81cdd2305df125b82c9fe7bb202 # Parent a0c07e32000a7bfe3a1dbb71b0adad3451f285e2 Clean up PIT-thru-ioapic setup. We don't need the legacy missed-tick logic and so do not need to keep the PIT enabled thru the 8259 PIC. Todo: arguable we should sync with x86/64 platform files, assuming they do not throw out 'recent legacy' stuff (e.g., 32-bit only platforms like P6). Getting rid of all the 82489DX and 486-era SMP stuff would be great. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r a0c07e32000a -r 8aa45d7713e3 xen/arch/x86/io_apic.c --- a/xen/arch/x86/io_apic.c Fri Mar 3 10:17:09 2006 +++ b/xen/arch/x86/io_apic.c Fri Mar 3 13:10:35 2006 @@ -1548,8 +1548,9 @@ */ apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT); init_8259A(1); - timer_ack = 1; - enable_8259A_irq(0); + /* XEN: Ripped out the legacy missed-tick logic, so below is not needed. */ + /*timer_ack = 1;*/ + /*enable_8259A_irq(0);*/ pin1 = find_isa_irq_pin(0, mp_INT); apic1 = find_isa_irq_apic(0, mp_INT); @@ -1617,7 +1618,7 @@ printk(KERN_INFO "...trying to set up timer as ExtINT IRQ..."); - timer_ack = 0; + /*timer_ack = 0;*/ init_8259A(0); make_8259A_irq(0); apic_write_around(APIC_LVT0, APIC_DM_EXTINT); diff -r a0c07e32000a -r 8aa45d7713e3 xen/arch/x86/time.c --- a/xen/arch/x86/time.c Fri Mar 3 10:17:09 2006 +++ b/xen/arch/x86/time.c Fri Mar 3 13:10:35 2006 @@ -41,7 +41,6 @@ unsigned long cpu_khz; /* CPU clock frequency in kHz. */ unsigned long hpet_address; spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED; -int timer_ack = 0; unsigned long volatile jiffies; static u32 wc_sec, wc_nsec; /* UTC time at last 'time update'. */ static spinlock_t wc_lock = SPIN_LOCK_UNLOCKED; @@ -148,16 +147,6 @@ { ASSERT(local_irq_is_enabled()); - if ( timer_ack ) - { - extern spinlock_t i8259A_lock; - spin_lock_irq(&i8259A_lock); - outb(0x0c, 0x20); - /* Ack the IRQ; AEOI will end it automatically. */ - inb(0x20); - spin_unlock_irq(&i8259A_lock); - } - /* Update jiffies counter. */ (*(unsigned long *)&jiffies)++; diff -r a0c07e32000a -r 8aa45d7713e3 xen/include/asm-x86/time.h --- a/xen/include/asm-x86/time.h Fri Mar 3 10:17:09 2006 +++ b/xen/include/asm-x86/time.h Fri Mar 3 13:10:35 2006 @@ -3,8 +3,6 @@ #define __X86_TIME_H__ #include <asm/msr.h> - -extern int timer_ack; extern void calibrate_tsc_bp(void); extern void calibrate_tsc_ap(void); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |