search for: hpet_cfg

Displaying 4 results from an estimated 4 matches for "hpet_cfg".

Did you mean: get_cfg
2012 Mar 27
0
[PATCH 1/4] x86/hpet: disable before reboot or kexec
...disable_IO_APIC(); + hpet_disable(); } void machine_crash_shutdown(void) --- a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -566,7 +566,7 @@ void hpet_broadcast_resume(void) if ( !hpet_events ) return; - hpet_resume(); + hpet_resume(NULL); cfg = hpet_read32(HPET_CFG); @@ -704,10 +704,13 @@ int hpet_legacy_irq_tick(void) return 1; } +static u32 *hpet_boot_cfg; + u64 __init hpet_setup(void) { static u64 __initdata hpet_rate; u32 hpet_id, hpet_period; + unsigned int last; if ( hpet_rate ) return hpet_rate; @@ -732,7 +735,9...
2009 Sep 30
0
[PATCH] Disable HPET broadcast mode on kexec
...,8 +604,9 @@ void hpet_disable_legacy_broadcast(void) { u32 cfg; + unsigned long flags; - spin_lock_irq(&legacy_hpet_event.lock); + spin_lock_irqsave(&legacy_hpet_event.lock, flags); legacy_hpet_event.flags |= HPET_EVT_DISABLE; @@ -619,7 +620,7 @@ cfg &= ~HPET_CFG_LEGACY; hpet_write32(cfg, HPET_CFG); - spin_unlock_irq(&legacy_hpet_event.lock); + spin_unlock_irqrestore(&legacy_hpet_event.lock, flags); smp_send_event_check_mask(&cpu_online_map); } _______________________________________________ Xen-devel mailing list Xen-devel...
2012 Mar 27
0
[PATCH 2/4] x86/hpet: replace disabling of legacy broadcast
...a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -783,7 +783,11 @@ void hpet_disable(void) u32 id; if ( !hpet_boot_cfg ) + { + if ( hpet_broadcast_is_available() ) + hpet_disable_legacy_broadcast(); return; + } hpet_write32(*hpet_boot_cfg & ~HPET_CFG_ENABLE, HPET_CFG); --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -349,12 +349,13 @@ void __stop_this_cpu(void) */ clts(); asm volatile ( "fninit" ); + + cpumask_clear_cpu(smp_processor_id(), &cpu_online_map); } static void stop_this_cpu(void *dummy) {...
2007 May 15
3
[PATCH 1/12] Add suspend/resume to devices owned by Xen
...32)(counter - hpet_stamp); hpet_stamp = counter; - spin_unlock_irq(&platform_timer_lock); + spin_unlock_irqrestore(&platform_timer_lock, flags); set_timer(&hpet_overflow_timer, NOW() + hpet_overflow_period); } @@ -401,8 +428,6 @@ static int init_hpet(void) cfg |= HPET_CFG_ENABLE; hpet_write32(cfg, HPET_CFG); - read_platform_count = read_hpet_count; - hpet_rate = 1000000000000000ULL; /* 10^15 */ (void)do_div(hpet_rate, hpet_period); set_time_scale(&platform_timer_scale, hpet_rate); @@ -427,6 +452,23 @@ static int init_hpet(void) re...