search for: get_apic_id

Displaying 2 results from an estimated 2 matches for "get_apic_id".

2007 Sep 08
4
[PATCH] Unified shutdown code
...used by __start_xen (in EARLY_FAIL()) before much + * of the system has been initialized (e.g. before fixmap) + */ +static void machine_teardown(int type) { int i; + int timeout = 10; + + if ( type != TEARDOWN_TYPE_EARLY ) + { + /* Ensure we are the boot CPU. */ + if ( GET_APIC_ID(apic_read(APIC_ID)) != boot_cpu_physical_apicid ) + { + printk("machine_teardown() not called on BSP\n"); + /* Send IPI to the boot CPU (logical cpu 0). */ + on_selected_cpus(cpumask_of_cpu(0), (void *)machine_teardown, + (void *)(unsigned long)type, 1, 0); + /* par...
2012 Nov 14
0
[PATCH] x86/nmi: self_nmi() should not unconditionally enable interrupts
...i.c +++ b/xen/arch/x86/nmi.c @@ -482,13 +482,14 @@ void nmi_watchdog_tick(struct cpu_user_r * 8-3 and 8-4 in IA32 Reference Manual Volume 3. We send the IPI to * our own APIC ID explicitly which is valid. */ -void self_nmi(void) +void self_nmi(void) { + unsigned long flags; u32 id = get_apic_id(); - local_irq_disable(); + local_irq_save(flags); apic_wait_icr_idle(); apic_icr_write(APIC_DM_NMI | APIC_DEST_PHYSICAL, id); - local_irq_enable(); + local_irq_restore(flags); } static void do_nmi_trigger(unsigned char key)