# 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
|