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